第1 章物联网的基础知识1
1.1 物联网入门……2
1.1.1 物联网……2
1.1.2 物联网的相关动向……2
1.2 物联网所实现的世界……3
1.2.1 “泛在网络”社会……3
1.2.2 “物”的互联网连接……4
1.2.3 机器对机器通信所实现的事……5
1.2.4 物联网实现的世界……6
column 蓬勃发展的标准化活动……8
1.3 实现物联网的技术要素……9
1.3.1 设备……9
1.3.2 传感器……13
1.3.3 网络……15
1.3.4 物联网服务……17
1.3.5 数据分析……20

第2 章物联网的架构23
2.1 物联网的整体结构……24
2.1.1 整体结构……24
2.1.2 网关……25
2.1.3 服务器的结构……27
2.2 采集数据……28
2.3 接收数据……30
2.3.1 数据接收服务器的作用……30
2.3.2 HTTP 协议……30
column REST API……31
2.3.3 WebSocket……32
2.3.4 MQTT……33

* MQTT(MQ Telemetry Transport,消息队列遥测传输)是近年来出现的一种新型协议,物联网领域会将其作为标准协议。
* MQTT 是一种能实现一对多通信(人们称之为发布或订阅型)的协议。它由3 种功能构成,分别是中介(broker)、发布者(publisher)和
订阅者(subscriber)。
* 借助于中介的发布/ 订阅型通信,MQTT 就能实现物联网服务与多台设备之间的通信。另外,MQTT
还实现了轻量型协议。因此它还能在网络带宽低、可靠性低的环境下运行;又因为消息小、协议机制简单,所以在硬件资源(设备、CPU
和内存等)受限的条件下也能运行,可以说是为物联网量身定做的协议。
2.3.5 数据格式……40
column 图像、语音、视频数据的处理……43
2.4 处理数据……44
2.4.1 处理服务器的作用……44
2.4.2 批处理……44
2.4.3 流处理……47
2.5 存储数据……49
2.5.1 数据库的作用……49
2.5.2 数据库的种类和特征……50
2.6 控制设备……54
2.6.1 发送服务器的作用……54
2.6.2 使用HTTP 发送数据……54
2.6.3 使用WebSocket 发送数据……55
2.6.4 使用MQTT 发送数据……55

* 首先设备作为订阅者,向MQTT 中介进行订阅。然后,发送服务器
则是发布者,同样向中介进行发布。这样一来,发送服务器只需要把确定的数据加在主题上发送就行了,发送服务器和设备都不需要知道彼此的地址。只要知道中介的地址,就能够实现通信。一旦订阅者断开,中介就会负责在断开时发送通知,并在重新连接时再次发送数据。
事例:面向植物工厂的环境控制系统……56

第3 章物联网设备……59
3.1 设备——通向现实世界的接口……60
3.1.1 为什么要学习设备的相关知识……60
3.1.2 连通性带来的变化……60
3.2 物联网设备的结构……63
3.2.1 基本结构……63
3.2.2 微控制器主板的类型和选择方法……68

微控制器的开发流程

* 把微控制器主板嵌入到自制电路中
* 在PC上编写用于微控制器的程序
* 从PC端把程序写入微控制器
* 确认运行情况
几个具有代表性的微控制器

* Raspberry Pi 2 model B 开始,Raspberry Pi 的CPU 就是四核处理器了,并宣布支持Windows 10
* Beagle Bone Black(BBB)是德州仪器公司主持开发的一款搭载了ARM
处理器的单板计算机。这块主板的惊人之处在于平衡了微控制器主板和PC 的性能。
* 英特尔Edison,它搭载了具备双核双线程的英特尔Atom CPU,以及100 MHz
的微控制器英特尔Quark。这个主板的亮点在于彻底地改善了专为物联网设备设置的规格。
微控制器和单板计算机比较

英特尔Edison 作为面向物联网设备开发的微控制器主板,不仅标准安装了Wi-Fi 和蓝牙,还全面涵盖了原型设计和商品化,其存在感越来越强烈

column 开源硬件的兴起……80
3.3 连接“云”与现实世界……80
3.3.1 与全球网络相连接……80

有两种让设备连接到网络的方式,一种是由设备本身直接连接全球网络,另一种是在本地区域内使用网关来连接全球网络

3.3.2 与网关设备的通信方式……81
3.3.3 有线连接……82

* 以太网
* 串行通信
* USB
3.3.4 无线连接……84

* Wi-Fi:和蓝牙4.0相比,Wi-Fi 耗电量高,所以不适合那些需要长时间进行通信的设备。
* 3G/LTE:设备上需要配备用来插入SIM 卡的插槽;会持续产生接入费用
* 蓝牙:BLE(蓝牙低能耗,Bluetooth Low Energy)技术,可以实现靠一枚纽扣电池连续运行数年。蓝牙4.2
宣布支持IPv6/6LoWPAN,设备可以通过网关直接连接互联网。蓝牙正逐渐占据物联网通信协议中的主要地位。
* IEEE 802.15.4/ZigBee:使用2.4 GHz 频段的近距离无线通信标准。其特征是虽然传输速度低,但是与Wi-Fi 相比,其耗电量较少。
* 易能森:无需维修
3.3.5 获得电波认证……89
3.4 采集现实世界的信息……89
3.4.1 传感器是什么……89
3.4.2 传感器的机制……90

利用物理特性的传感器

* 用输出电压的变化来表示环境的变化。力觉传感器,光学传感器,温度传感器
* 用输出电流的变化来表示环境的变化。光电二极管
利用几何变异的传感器

-测距传感器利用与障碍物间的几何学关系来测算距离

3.4.3 传感器的利用过程……94

传感器普遍特性

* 毫伏级的微弱信号
* 输出的是含有一定噪声的模拟信号
3.4.4 放大传感器的信号……95
3.4.5 把模拟信号转换成数字信号……96
3.4.6 传感器的校准……98
3.4.7 如何选择传感器……100
3.5 反馈给现实世界……103
3.5.1 使用输出设备时的重要事项……103
3.5.2 驱动的作用……104
3.5.3 制作正确的电源……107
3.5.4 把数字信号转换成模拟信号……108
3.6 硬件原型设计……110
3.6.1 原型设计的重要性……110
3.6.2 硬件原型设计的注意事项……111
3.6.3 硬件原型设计的工具……114
挑战制作电路板!……115
3.6.4 原型制作结束之后……116

第4 章先进的感测技术……119
4.1 逐步扩张的传感器世界……120
4.2 先进的感测设备……120

把多个传感器和处理器组合在一起,从而获取更复杂信息的新型传感器

4.2.1 RGB-D 传感器……122

* RGB 表示的是3 种原色,D 是深度(Depth)的首字母
* RGB-D 传感器在相机原有的功能上又添加了测量距离的功能,它甚至能测量传感
器到被拍摄物体的距离。
有几种方法可以实现RGB-D 传感器

* 立体相机,利用两个镜头来计算距离
* 点阵图判断法,以点阵图的图案来作为标志,从多个方向投影这幅图,再根据投影
的变化检测出物体之间存在的纵深关系。这门技术只能检测出纵深(D),不过拍摄中会用到镜头,所以可以跟图像相结合。
* TOF(Time of Flight),通过测量从发射光线到光线反射回来的时间来求出距离。抗干扰性强,精确度也高,是RGB-D
传感器当下最受瞩目的技术。
4.2.2 自然用户界面……129

自然用户界面就是利用了人类的手势和语音的用户界面,NUI(Natural User Interface)。

利用RGB-D 传感器技术的几个主要NUI

* 微软Kinect
* Leap(Leap MotionController,厉动控制器),高速且精密地追踪其上方半径约50 cm范围内的人类手指发出的动作
4.3 先进的感测系统……132
4.3.1 卫星定位系统……133
4.3.2 准天顶卫星……144

人进到大楼的夹缝中间,要捕捉到人造卫星就会变得异常困难。解决这个问题的办法就是在正上方设置卫星

4.3.3 IMES……145

让室内也能使用GPS,这门技术就叫作IMES(Indoor Messaging System,室内通信系统)
IMES 接收器的位置精确度取决于设置间隔,以及发射的无线电波的强度。

4.3.4 使用了Wi-Fi 的定位技术……147

* 接收信号强度
* 指纹定位,一般指的是“某个地点的无线电波状态”。
4.3.5 Beacon……150

利用了接收信号的强度

4.3.6 位置信息和物联网的关系……152

第5 章物联网服务的系统开发……153
5.1 物联网和系统开发……154

物联网系统化就是应用传感器等各类设备来形成一个持续解决问题的机制。通过对测
量数据的监测和分析来发现能量损耗,预测机器故障,从而创造出新的信息和价值。

5.1.1 物联网系统开发的问题……154

相关知识

* 服务器端运行的应用程序
* 硬件
* 嵌入式软件
* 连接设备与传感器的网关
* 无线通信技术
* 网络
5.1.2 物联网系统开发的特征……155

* 易于增加所管理设备的数量和设置地点的数量:物联网服务由传感器终端等多台设备及集合这些设备的网关终端构成。这些设备的种类或终端的数量往往会不断增加。
* 设置在人们平时无法触及的地方,例如:屋顶或者墙壁
* 存在无线通信部分:传感器终端和网关之间通信使用的传感器网络主要是无线通信。此外,连接网关和运营商网络时使用的接入线路也利用了3G/LTE
等无线通信技术。
5.2 物联网系统开发的流程……157
5.2.1 验证假设阶段……158

* 效果验证通过构建小规模的原型和导入服务来验证
* 技术验证的目的则是实现物联网服务
实施要点
1.选定设备

* 整理设备需求
* 调查、调配、试作设备,验证设备的运行情况
* 设计设备的设置
* 设计设备的维修与使用
2.服务的原型开发与使用

* 选定运营商网络
* 开发网关和服务器端系统的原型
* 从设备和系统的测试运行中提炼问题
3.验证导入效果

* 验证传感器和驱动的导入效果
5.2.2 系统开发阶段……159
5.2.3 维护应用阶段……159

* 监测设备的状态、变更设置、修理或更换设备
* 追加新设备
* 监测系统状态
* 运用积累的数据
* 采集和应用数据
column 收益共享……160


因为导入物联网服务的效果不明显,为了降低物联网服务的门槛,前面我们讲了一种方法,即从小处着手,从事前验证逐步开始着手的方法。其实还有另外一种方法,就是以收益共享的形式来签订合同。

以节能系统为例:
导入节能系统可以把架构系统的费用控制在非常低的价位,而节省下来的一部分电费和水费就能支付给开发者

5.3 物联网服务的系统开发案例……161
5.3.1 楼层环境监控系统……161
5.3.2 节能监控系统……164
5.4 物联网服务开发的重点……166
5.4.1 设备……167

设备的选择

* 传感器的特征:检测特性、环境特性、成本特性
* 测量误差
* 法律制约
设备的设置

* 设计配置:通过改变设备和网关终端的配置设计,可以节省导入费用和应用成本
* 设置场所:如果放在人能轻易接触到的地方就有可能被偷走
* 设置环境:确认所使用的传感器终端,检查该终端的应用环境和测量范围。
参数设置

* 感测间隔:传感器终端的数据获取间隔越短,能够采集到的数据也就越多。但是感测间隔和数据的发送频率还会影响维修的频率。
* 传感器网络的设置:在网关终端内读取传感器ID,只接收那些在允许接收名单里的传感器数据。
5.4.2 处理方式设计……175

* 如何连接多种多样的设备:在移交主处理时指定格式,并在上一轮处理中把接收
到的数据转换成规定的数据格式。这样一来追加设备种类时就能不牵扯到共同处理的部分,只单独扩展和开发与设备相关的部分即可。
* 如何处理负载,应对容量增加
a.讨论接收和处理数据的方式
有一个方法能应付接收数据量的增多,就是把接收数据放入队列里。
优点:可以缩短网关端的等待时间,增多能够处理的接收数据量
缺点:确认处理成功与否时需要再次进行访问

b.数据库的选择
提升数据库积累处理大量数据的性能,确保用于积累数据的数据库容量。
利用RDB来处理管理类的信息,利用分布式KVS 来作为专门积累采集到的数据的数据库。

c.数据库应用:一旦接收到的数据量增多,负责积累数据的存储空间容量也就需要
相应增大

* 分散功能
大规模的物联网系统,连接的终端数量可至上万,在服务器进行接收处理可能会来不及。解决这个问题,除了接收处理上下些工夫,还有就是把功能分散给设备及网关。

下述情况下,建议大家考虑分散功能。这样一来不仅能减轻服务器端的负荷,还能提升采集数据的效率。
1.每台设备要感测的数据量较多
2.需要实时响应

* 提高系统结构的牢固性
应该避免以下这样的设计:等收到传感器数据后再运行,或是测量的传感器数据重复时就不运行等。

远程控制,发出动作指令的一方基本没法知晓这个动作是否真的被执行了,所以设计时要考虑到如何向指令方传达动作执行结束的信息,或是如何用其他传感器来获取动作执行完毕的信息等。

5.4.3 网络……183
提升通信效率
设置地点(网关的数量)越多,通信成本也就越大。因此就需要研究在从网关向服务器发送数据时,如何控制每个设置地点的通信量。

*
压缩数据:从网关终端发送到中心服务器的那些传感器数据暂时积累在网关终端上,再把这些数据一并压缩,从而削减通信量。通过延长上传传感器数据的时间间隔,可以增加每个压缩数据中包含的传感器数据的数量
* 选择协议:一边维持MQTT的TCP 连接,一边进行数据的发送和接收。
5.4.4 安全性……185
安全性设计
为了提高物联网服务的安全品质,大家需要从设计阶段就着手推进安全性设计

* 风险分析:明确要守护的资产和会存在的威胁
* 多层防御


a.保护设备
网关终端可能会存有传感器的认证信息或应用程序的信息,尤其需要注意。
a.1预防

* 需要尽量把设备设置在只有管理者才能接触到的地方
* 设备内部停止不需要的服务,执行防火墙设置,用白名单的形式只允许那些我们所需的通信。
* 不能让人简简单单就能登录上终端,最好通过ID或密码等方式进行登录认证。
a.2检测
利用信任传递(transitive trust)避免数据篡改。从最值得信赖的起点开始,按照“BIOS
→引导加载程序→操作系统→应用程序”的传递顺序来测量组件,进行有效性认证。

a.3应用

* 定期修复漏洞来维持安全性品质至关重要
* 万一不小心泄露了登录用的ID 或密码,应该赶紧着手更改,为此需要事先确定更改ID 和密码的顺序
b.保护服务器端系统
除了对一般的业务和信息系统实施安全性对策以外,还需要针对因连接设备而引发的安全风险来制定对策。
b.1网关设备的认证
只允许在中心获得了认证的网关终端给中心发送数据

* 使用中心端事先给出的 ID、密码及客户端证书认证
* 利用动态方法,即由服务器端的管理者确认从网关发来的连接要求,在管理者已经确认连接要求的基础上再批准连接
b.2数据流量的监测和制约
对接收的数据进行流量监测,如果出现流量异常的情况,就不继续接收数据

c.保护所采集数据的隐私
c.1在信道上进行数据隐藏
为了防止数据从通信路径泄露,需要采用像SSLA 和IPsecB 这些对信道加密的技术,对应用程序间的数据通信加密,对信道本身加密

c.2保护所感测数据的隐私
传感器数据的泄露可能会造成隐私上的风险,因此在处理传感器数据时需要多加注意。

5.4.5 应用与维护……192
日志设计

需要注意日志的输出容量。在设计日志时,建议大家先考虑好物联网系统特有的日志容量和存储时间等因素。

设备及网关的远程应用
在实际运用时就需要通过网络来实现对设备的远程管理功能。远程管理中包含远程设置参数、远程获取日志、远程上传应用及固件等功能。
远程管理的标准协议包括TR-069 和OMA LightweightM2M(LWM2M)等协议

5.5 面向物联网服务的系统开发……195

第6 章物联网与数据分析……197
6.1 传感器数据与分析……198
6.2 可视化……200
6.3 高级分析……207
6.3.1 高级分析的基础……207
机器学习和数据挖掘……216
6.3.2 用分析算法来发现和预测……216
6.3.3 预测……217
6.4 分析所需要的要素……221
6.4.1 数据分析的基础架构……221
6.4.2 CEP……224
6.4.3 Jubatus……225
分析的难度……227
第7 章物联网与可穿戴设备……229
7.1 可穿戴设备的基础……230
7.1.1 物联网和可穿戴设备的关系……230
7.1.2 可穿戴设备市场……233
7.1.3 可穿戴设备的特征……237
7.2 可穿戴设备的种类……239
7.2.1 可穿戴设备的分类……239
7.2.2 眼镜型……243
7.2.3 手表型……248
7.2.4 饰品型……250
7.2.5 按照目的来选择……253
7.3 可穿戴设备的应用……261
7.3.1 可穿戴设备的方便之处……261
7.3.2 消费者应用情景……262
XII 目录
7.3.3 用于企业领域……265
硬件开发的近期动向……268
第8 章物联网与机器人……271
8.1 由设备到机器人……272
8.1.1 机器人——设备的延续……272
8.1.2 机器人的实用范围正在扩大……273
8.1.3 构建机器人系统的关键……274
8.2 利用机器人专用中间件……275
8.2.1 机器人专用中间件的作用……275
8.2.2 RT 中间件……276
8.2.3 ROS……278
8.3 连接到云端的机器人……280
8.3.1 云机器人……280
8.3.2 UNR-PF……281
8.3.3 RoboEarth……284
8.4 物联网和机器人的未来……287
后记……289
参考文献……291
作者……296

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信