《Windows IoT 应用开发指南》

物物互联的时代已经到来,智能家居、智慧校园、智慧交通、可穿戴、无人机、全息投影,各种各样的新名词、黑科技层出不穷。当我们为五年前能够通过手机控制家电而欣喜若狂的时候,可曾憧憬过当前使用增强现实设备完成各种不可思议的工业设计、亦或是沉浸于精彩绝伦的游戏场景。随着互联网、物联网、计算机等技术的飞速发展,人们的工作和生活方式在不断地被颠覆,出门打车、看电影、吃饭、甚至于喝酒代驾都有App来帮忙,动动手指就可以完成以前想都不敢想的事情。以上这一切的基础,便是信息的互联互通。物联网(Internet of Things)的目标就是物物互联,所以,从这个角度来看,它的确是非常基础而且重要的一环。
随着Windows 10 for IoT RTM的发布,广大智能硬件开发者和社区对此的关注度也越来越高。然而,通过调查发现,国内介绍Windows IoT方面的书籍却非常之少。笔者是微软和.NET技术的爱好者,也是全球首批Windows Hardware Engineering方向的MVP,因此,有机会参与了早期的“Windows Developer Program for IoT” 项目和“Windows 10 IoT Core Insider Preview” 项目,在此期间就萌发了写一本Windows IoT书籍的想法。在近一年的时间里,笔者通过不断地学习来跟踪Windows IoT最新的进展,通过持续的动手实践来验证Windows IoT的系统特性。本书主要参考了微软MSDN关于IoT开发的文档,并在此基础上进行了扩展和发挥,结合Microsoft Azure,展示了“云+端”的综合应用开发。
本书的内容和面向的读者
目前,微软的Windows IoT有两个分支,一个是早期的以Intel Galileo为平台的Windows IoT 版本,其内核是Windows 8.1 Update;另一个是以Raspberry Pi 2和MinnowBoard Max为平台的Windows IoT版本(最近也会推出针对高通DragonBoard 410c的版本),其内核是Windows 10 IoT Core。除了操作系统内核不同以外,其开发语言、系统运行模式、面向的市场也大不相同。本书内容分为三篇共12个章节,分别从基于Intel Galileo的Windows IoT平台应用开发、基于Raspberry Pi 2和MinnowBoard Max的Windows 10 IoT Core平台应用开发和综合应用开发这三个角度进行讲述,其中前两篇注重单个IoT终端的应用和实物制作,第三篇在前两者的基础上,结合Microsoft Azure和通用应用 (UWP),详细介绍了“云+端”的Windows通用应用开发。
如果读者熟悉Arduino平台的应用制作与开发,那么,本书第一篇内容相对来说会比较简单,因为Intel Galileo 是基于英特尔x86架构、兼容Arduino的产品,在硬件规格、软件编程上有很大的相似性,通过简单的操作,读者可以将面向Arduino的各种应用移植到Intel Galileo上。
如果读者希望了解Windows 10 for IoT的技术细节,可以细读本书第二篇内容,而忽略本书的第一篇内容。当然,目前Visual Studio中,支持Windows 10 for IoT应用开发的语言包括C#和C++,因此,希望读者有以上一种或者两种语言基础(书中的实例以C#为主)。同时,鉴于第三篇Windows通用应用的开发,也希望读者具备一些XAML语言设计界面的知识。另外,对于软件开发者来说,理解本书中元器件的连接和硬件工作原理也是比较有挑战性的一件事情,我的建议是,本书中用到的各种元器件淘宝上可以买到,价格也不贵,尽量自己动手实践,LED灯亮了,传感器数据上来了,电机开始转了,蜂鸣器开始叫了,你会为自己每一次的进步而激动不已,能力也在不断的摸索中逐渐成长。
本书内容(含25个实例的软硬件需求及使用说明)
第一篇:基于Intel Galileo的Windows IoT平台应用开发
1. 开发环境和工具
1.1 开发坏境的搭建
1.2 开发工具和配置工具的使用
2. 基础实例
2.1 LED灯的控制
2.2 按钮的使用
2.3 温度传感器的使用
2.4 PWM波的输出
2.5 串口通信
3. 实物制作
3.1 PWM调光灯
3.2 感光灯
3.3 火焰报警器
3.4 智能风扇
第二篇:基于Raspberry Pi 2和MinnowBoard Max的Windows 10 IoT Core平台应用开发
3. 开发环境和工具
3.1 开发坏境的搭建
3.2 开发工具和配置工具的使用
4. 基础实例
4.1 控制台应用
4.2 LED灯的控制
4.3 按钮的使用
4.4 Web Server应用
4.5 I2C接口通信
4.6 SPI接口通信
4.7 串口通信
4.8 Node.js及Node.js Server实例
4.9 Python及Python Server实例
4.10 蓝牙通信及TI SensorTag实例
第三篇 基于Microsoft Azure和Windows IoT的综合应用开发
5. 综合应用框架
6. Microsoft Azure门户配置
6.1 Event Hub
6.2 Azure Storage
6.3 Stream Analytics
7. 综合应用开发
7.1 Windows 8.1 IoT设备端应用开发
7.2 Windows 10 IoT Core设备端应用开发
7.3 Windows 10 for Mobile/ PC端通用应用开发
购买方式
1. 京东
2. 淘宝
3. 亚马逊
4. 当当网
本书资源下载
《Windows IoT 应用开发指南》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- 如何使用PHP上传文件,上传图片,php上传教程,php表单文件上传教程
使用PHP进行文件上传,主要使用到表单功能和PHP内置的$_FILES函数功能.接下来我们看如何实现PHP上传功能.例子效果图,此例子是在Mac下进行调试成功的. PHP上传图片文件的功能代码如下: ...
- 玩转Jquery,告别前端知道思路忘记知识点的痛苦
本节内容: 本章主要讲解一下jquery,主要是工作中用的前端框架是datetables框架,然后datetables框架又是基于jqeury研发的,所以要想学一个东西,就必须要了解其底层,不然走路都 ...
- ZOJ Problem Set - 1078 Palindrom Numbers
属于水题,主要是涉及到回文问题. 这里标注下进制转换的方法: while(n) { p[i]=n%basis; n/=basis; } 见代码: #include <stdio.h> in ...
- 1Z0-053 争议题目解析419
1Z0-053 争议题目解析419 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 419.In Oracle 11g, by default which one of the fo ...
- 【知识积累】SBT+Scala+MySQL的Demo
一.背景 由于项目需要,需要在Sbt+Scala项目中连接MySQL数据库.由于之前使用Maven+Java进行依赖管理偏多,在Sbt+Scala方面也在不断进行摸索,特此记录,作为小模块知识的积累. ...
- ActiveX(一)第一个简单的Demo
说道ActiveX,我的第一直觉就是Flash,利用ActiveX.我们可以创建丰富的可交互式应用程序.同时.利用ActiveX特性.我们可以实现Js 与 ActiveX 的无缝连接(包括数据共享.和 ...
- C#开发微信门户及应用(43)--微信各个项目模块的定义和相互关系
我们在开发微信相关的应用的时候,一般需要完善的基础模块支持,包括微信公众号,微信企业号,以及一些业务模块的支持,一般随着功能的增多,我们需要非常清晰的界定他们的关系.模块的分拆以及合并往往需要考虑的代 ...
- C# ~ 从 委托事件 到 观察者模式 - Observer
委托和事件的部分基础知识可参见 C#/.NET 基础学习 之 [委托-事件] 部分: 参考 [1]. 初识事件 到 自定义事件: [2]. 从类型不安全的委托 到 类型安全的事件: [3]. 函数指针 ...
- WEB架构师成长系列索引
WEB架构师成长系列索引 http://www.cnblogs.com/seesea125/archive/2012/04/17/2453256.html
- PHP工作笔记:使用yii migrate管理、生成数据库
第一步:进入yii migrate 通过dos(我是win7系统,其他系统类似,就是进入字符界面)打开网站目录 phpStudy/WWW/local/ddc_dlss 输入 ./yii migrate ...