第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
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
事例:面向植物工厂的环境控制系统……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
微控制器的开发流程
几个具有代表性的微控制器
微控制器和单板计算机比较
英特尔Edison 作为面向物联网设备开发的微控制器主板,不仅标准安装了Wi-Fi 和蓝牙,还全面涵盖了原型设计和商品化,其存在感越来越强烈
column 开源硬件的兴起……80
3.3 连接“云”与现实世界……80
3.3.1 与全球网络相连接……80
有两种让设备连接到网络的方式,一种是由设备本身直接连接全球网络,另一种是在本地区域内使用网关来连接全球网络
3.3.2 与网关设备的通信方式……81
3.3.3 有线连接……82
3.3.4 无线连接……84
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-D 传感器
4.2.2 自然用户界面……129
自然用户界面就是利用了人类的手势和语音的用户界面,NUI(Natural User Interface)。
利用RGB-D 传感器技术的几个主要NUI
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
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
设备的选择
设备的设置
参数设置
5.4.2 处理方式设计……175
a.讨论接收和处理数据的方式
有一个方法能应付接收数据量的增多,就是把接收数据放入队列里。
优点:可以缩短网关端的等待时间,增多能够处理的接收数据量
缺点:确认处理成功与否时需要再次进行访问
b.数据库的选择
提升数据库积累处理大量数据的性能,确保用于积累数据的数据库容量。
利用RDB来处理管理类的信息,利用分布式KVS 来作为专门积累采集到的数据的数据库。
c.数据库应用:一旦接收到的数据量增多,负责积累数据的存储空间容量也就需要
相应增大
大规模的物联网系统,连接的终端数量可至上万,在服务器进行接收处理可能会来不及。解决这个问题,除了接收处理上下些工夫,还有就是把功能分散给设备及网关。
下述情况下,建议大家考虑分散功能。这样一来不仅能减轻服务器端的负荷,还能提升采集数据的效率。
1.每台设备要感测的数据量较多
2.需要实时响应
应该避免以下这样的设计:等收到传感器数据后再运行,或是测量的传感器数据重复时就不运行等。
远程控制,发出动作指令的一方基本没法知晓这个动作是否真的被执行了,所以设计时要考虑到如何向指令方传达动作执行结束的信息,或是如何用其他传感器来获取动作执行完毕的信息等。
5.4.3 网络……183
提升通信效率
设置地点(网关的数量)越多,通信成本也就越大。因此就需要研究在从网关向服务器发送数据时,如何控制每个设置地点的通信量。
5.4.4 安全性……185
安全性设计
为了提高物联网服务的安全品质,大家需要从设计阶段就着手推进安全性设计
a.保护设备
网关终端可能会存有传感器的认证信息或应用程序的信息,尤其需要注意。
a.1预防
a.2检测
利用信任传递(transitive trust)避免数据篡改。从最值得信赖的起点开始,按照“BIOS →引导加载程序→操作系统→应用程序”的传递顺序来测量组件,进行有效性认证。
a.3应用
b.保护服务器端系统
除了对一般的业务和信息系统实施安全性对策以外,还需要针对因连接设备而引发的安全风险来制定对策。
b.1网关设备的认证
只允许在中心获得了认证的网关终端给中心发送数据
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
如果想大规模地实现高级的分析时,就需要用于与分布式处理基础架构联动地执行机器学习的Mahout,或是Jubatus 这样的框架。
column机器学习和数据挖掘……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
column 分析的难度……227
分析的难点在于有些地方无法仅凭算法和工具解释,而是需要一些无形的诀窍和技巧。
第7 章物联网与可穿戴设备……229
7.1 可穿戴设备的基础……230
7.1.1 物联网和可穿戴设备的关系……230
能理解穿戴者及其周围的“语境”(context,例如要去干什么,是醒着还是睡了等),并适当地通过信息提示和预警等手段来进行反馈的这类设备是可穿戴设备。
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
可穿戴设备的3 个典型目的
7.3 可穿戴设备的应用……261
7.3.1 可穿戴设备的方便之处……261
7.3.2 消费者应用情景……262
7.3.3 用于企业领域……265
column硬件开发的近期动向……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
RT 中间件(RT-Middleware)是日本生产的一种软件平台规格,它的用途在于把构成机器人的各个要素进行软件模块化,进而整合成机器人系统
8.2.3 ROS……278
ROS(Robot Operating System,机器人操作系统)是一个在欧美地区广泛应用的机器人开发开源平台,可以说是当今世界应用最广泛的机器人开发平台。
8.3 连接到云端的机器人……280
8.3.1 云机器人……280
8.3.2 UNR-PF……281
8.3.3 RoboEarth……284
8.4 物联网和机器人的未来……287