《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 安装并启动 ...
随机推荐
- Delegate、Predicate、Action和Func
写在前面 Delegate Predicate Action Func 逆变和协变 先说下什么是委托(Delegate),委托在C#中是一种类型,和Class是一个级别,但是我们经常把它看做是一个方法 ...
- 使用Oracle调度程序自动完成任务
1. 创建作业.计划和时间表 2. 创建轻量级作业 3. 使用作业链执行一系列相关任务 4. 创建窗口和作业类 5. 使用高级调度程序概念确定作业优先顺序 Reference 实验演示准备: --业务 ...
- 1Z0-053 争议题目解析694
1Z0-053 争议题目解析694 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 694.As part of archiving the historical data, you ...
- Java继承与组合
Java继承与组合 继承 java 中使用extends关键字表示继承关系,当创建一个类时,如果没有明确指出要继承的类,则是隐式地从根类Object进行继承. 子类继承父类的成员变量 子类能够继承父类 ...
- 网页开发中文本编辑器UEditor的使用
首先看一下效果图: 首先我们需要来认识下UEditor,它是由百度web前端研发部开发所见即所得富文本web编辑器,并且是基于BSD协议的开源产品,允许自由使用和修改,开源就意味着可以自己来定制这个编 ...
- HTML基础知识汇总
前言 一直想总结一下,苦于没有时间,正好看到了一个总结了不错的博客,我就在他的基础上进行一下测试并总结,原博地址:http://www.cnblogs.com/wanghzh/p/5805587.ht ...
- jQuery获取Select选中的Text和Value
获取Select选中的Text和Value语法解释:$("#select_id").change(function(){//code...}); // 为Select添加事件, ...
- jQuery实现方式不一样的跳转到底部
jQuery跳转到页面底部效果 在线体验:http://hovertree.com/texiao/jquery/9.htm 以下是完整HTML代码: <!DOCTYPE html> < ...
- XmlReader和XElement组合之读取大型xml文档
简介 在.NET framework 中存在大量操作xml数据的类库和api,但在.NET framework 3.5后我们的首选一般就是linq to xml. linq to xml操作xml数据 ...
- Oracle学习总结_day01_day02_表的创建_增删改查_约束
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! 更新: SELECT * FROM (SELECT R ...