描述
内容简介
物联网远不止是把东西连接到互联网上那么简单。物联网给沉默呆滞的东西加上感知、通信和响应的能力,从而把它们变得更加智能。本书来自于作者对物联网的个人体验。全书包含两个部分,第壹部分介绍构建物联网应用的基础知识,第二部分采用基于项目的方法介绍物联网应用的开发。在每一章的后,读者都会得到一个物联网应用的可用原型。
目 录
Contents?目 录
译者序
前言
部分 基础
第1章 Arduino入门 2
1.1 学习目标 2
1.2 硬件需求 2
1.3 软件需求 4
1.3.1 工具栏 5
1.3.2 状态窗口 6
1.3.3 串口监视器窗口 6
1.4 Arduino编程语言参考 6
1.4.1 执行Arduino代码 9
1.5 小结 10
第2章 互联网连接 11
2.1 学习目标 11
2.2 Arduino Uno的有线连接(以太网) 12
2.2.1 硬件需求 12
2.2.2 软件需求 12
2.2.3 电路 12
2.2.4 代码(Arduino) 13
2.2.5 终的作品 15
2.3 Arduino Uno的无线连接(WiFi) 16
2.3.1 硬件需求 16
2.3.2 软件需求 17
2.3.3 电路 17
2.3.4 代码(Arduino) 17
2.3.5 终的作品 20
2.4 Arduino Yún的无线连接(WiFi) 21
2.4.1 硬件需求 21
2.4.2 软件需求 21
2.4.3 无线设置 21
2.4.4 代码(Arduino) 26
2.4.5 终的作品 28
2.5 小结 28
第3章 通信协议 29
3.1 学习目标 29
3.2 HTTP 29
3.2.1 代码(Arduino) 30
3.2.2 终的作品 34
3.3 MQTT 35
3.3.1 入侵检测系统 35
3.3.2 远程灯光控制 36
3.3.3 代码(Arduino) 37
3.3.4 终的作品 39
3.4 小结 40
第二部分 原型
第4章 复杂流程:Node-RED 42
4.1 学习目标 44
4.2 硬件需求 44
4.3 软件需求 44
4.4 电路 45
4.5 Node-RED流 46
4.6 代码(Arduino) 55
4.6.1 外部库 55
4.6.2 互联网连接(无线) 55
4.6.3 读取传感器数据 55
4.6.4 数据发布 56
4.6.5 标准函数 57
4.7 终的作品 58
4.8 小结 58
第5章 物联网模式:实时客户端 59
5.1 学习目标 60
5.2 硬件需求 60
5.3 软件需求 61
5.4 电路 61
5.5 代码(Arduino) 62
5.5.1 外部库 62
5.5.2 互联网连接(无线) 63
5.5.3 读取传感器数据 63
5.5.4 数据发布 65
5.5.5 标准函数 66
5.6 代码(安卓) 66
5.6.1 项目设置 66
5.6.2 屏幕布局 70
5.6.3 屏幕逻辑 74
5.6.4 MQTT客户端 76
5.7 终的作品 84
5.8 小结 86
第6章 物联网模式:遥控 87
6.1 学习目标 88
6.2 硬件需求 88
6.3 软件需求 88
6.4 电路 89
6.5 代码(安卓) 90
6.5.1 项目设置 90
6.5.2 屏幕布局 94
6.5.3 屏幕逻辑 98
6.5.4 MQTT客户端 99
6.6 代码(Arduino) 104
6.6.1 外部库 104
6.6.2 互联网连接(无线) 104
6.6.3 数据订阅 105
6.6.4 控制灯光 105
6.6.5 标准函数 106
6.7 终的作品 107
6.8 小结 109
第7章 物联网模式:点播客户端 110
7.1 学习目标 111
7.2 硬件需求 111
7.3 软件需求 112
7.4 电路 112
7.5 数据库表(MySQL) 112
7.6 代码(PHP) 114
7.6.1 数据库连接 115
7.6.2 接收和保存传感器数据 115
7.6.3 停车位数量 117
7.7 代码(Arduino) 118
7.7.1 外部库 118
7.7.2 互联网连接(无线) 119
7.7.3 读取传感器数据 119
7.7.4 数据发布 120
7.7.5 标准函数 121
7.8 代码(iOS) 122
7.8.1 项目设置 122
7.8.2 屏幕布局 124
7.8.3 屏幕逻辑 130
7.9 终的作品 136
7.10 小结 138
第8章 物联网模式:网页应用 139
8.1 学习目标 139
8.2 硬件需求 140
8.3 软件需求 140
8.4 电路 141
8.5 数据库表(MySQL) 142
8.6 代码(PHP) 143
8.6.1 数据库连接 143
8.6.2 接收和保存传感器数据 144
8.6.3 仪表盘 145
8.7 代码(Arduino) 148
8.7.1 外部库 149
8.7.2 互联网连接(无线) 149
8.7.3 读取传感器数据 149
8.7.4 数据发布 150
8.7.5 标准函数 151
8.8 终的作品 152
8.9 小结 153
第9章 物联网模式:位置感知 154
9.1 学习目标 155
9.2 硬件需求 155
9.3 软件需求 155
9.4 电路 156
9.5 数据库表(MySQL) 156
9.6 代码(PHP) 158
9.6.1 数据库连接 158
9.6.2 接收和保存传感器数据 159
9.6.3 地图 161
9.7 代码(Arduino) 164
9.7.1 外部库 164
9.7.2 互联网连接(无线) 164
9.7.3 获得GPS坐标 164
9.7.4 数据发布 166
9.7.5 标准函数 167
9.8 终的作品 168
9.9 小结 169
第10章 物联网模式:人-机交互 170
10.1 学习目标 170
10.2 硬件需求 171
10.3 软件需求 171
10.4 电路 172
10.5 代码(Arduino) 173
10.5.1 外部库 173
10.5.2 互联网连接(无线) 174
10.5.3 读取传感器数据 174
10.5.4 数据发布 175
10.5.5 标准函数 176
10.6 Effektif工作流 177
10.6.1 创建过程 177
10.6.2 配置过程 178
10.7 Node-RED流 184
10.8 终的作品 188
10.9 小结 190
第11章 物联网模式:机-机交互 191
11.1 学习目标 192
11.2 光线传感器 192
11.2.1 代码(Arduino) 192
11.3 灯光控制设备 195
11.3.1 代码(Arduino) 195
11.4 终的作品 19
译者序
前言
部分 基础
第1章 Arduino入门 2
1.1 学习目标 2
1.2 硬件需求 2
1.3 软件需求 4
1.3.1 工具栏 5
1.3.2 状态窗口 6
1.3.3 串口监视器窗口 6
1.4 Arduino编程语言参考 6
1.4.1 执行Arduino代码 9
1.5 小结 10
第2章 互联网连接 11
2.1 学习目标 11
2.2 Arduino Uno的有线连接(以太网) 12
2.2.1 硬件需求 12
2.2.2 软件需求 12
2.2.3 电路 12
2.2.4 代码(Arduino) 13
2.2.5 终的作品 15
2.3 Arduino Uno的无线连接(WiFi) 16
2.3.1 硬件需求 16
2.3.2 软件需求 17
2.3.3 电路 17
2.3.4 代码(Arduino) 17
2.3.5 终的作品 20
2.4 Arduino Yún的无线连接(WiFi) 21
2.4.1 硬件需求 21
2.4.2 软件需求 21
2.4.3 无线设置 21
2.4.4 代码(Arduino) 26
2.4.5 终的作品 28
2.5 小结 28
第3章 通信协议 29
3.1 学习目标 29
3.2 HTTP 29
3.2.1 代码(Arduino) 30
3.2.2 终的作品 34
3.3 MQTT 35
3.3.1 入侵检测系统 35
3.3.2 远程灯光控制 36
3.3.3 代码(Arduino) 37
3.3.4 终的作品 39
3.4 小结 40
第二部分 原型
第4章 复杂流程:Node-RED 42
4.1 学习目标 44
4.2 硬件需求 44
4.3 软件需求 44
4.4 电路 45
4.5 Node-RED流 46
4.6 代码(Arduino) 55
4.6.1 外部库 55
4.6.2 互联网连接(无线) 55
4.6.3 读取传感器数据 55
4.6.4 数据发布 56
4.6.5 标准函数 57
4.7 终的作品 58
4.8 小结 58
第5章 物联网模式:实时客户端 59
5.1 学习目标 60
5.2 硬件需求 60
5.3 软件需求 61
5.4 电路 61
5.5 代码(Arduino) 62
5.5.1 外部库 62
5.5.2 互联网连接(无线) 63
5.5.3 读取传感器数据 63
5.5.4 数据发布 65
5.5.5 标准函数 66
5.6 代码(安卓) 66
5.6.1 项目设置 66
5.6.2 屏幕布局 70
5.6.3 屏幕逻辑 74
5.6.4 MQTT客户端 76
5.7 终的作品 84
5.8 小结 86
第6章 物联网模式:遥控 87
6.1 学习目标 88
6.2 硬件需求 88
6.3 软件需求 88
6.4 电路 89
6.5 代码(安卓) 90
6.5.1 项目设置 90
6.5.2 屏幕布局 94
6.5.3 屏幕逻辑 98
6.5.4 MQTT客户端 99
6.6 代码(Arduino) 104
6.6.1 外部库 104
6.6.2 互联网连接(无线) 104
6.6.3 数据订阅 105
6.6.4 控制灯光 105
6.6.5 标准函数 106
6.7 终的作品 107
6.8 小结 109
第7章 物联网模式:点播客户端 110
7.1 学习目标 111
7.2 硬件需求 111
7.3 软件需求 112
7.4 电路 112
7.5 数据库表(MySQL) 112
7.6 代码(PHP) 114
7.6.1 数据库连接 115
7.6.2 接收和保存传感器数据 115
7.6.3 停车位数量 117
7.7 代码(Arduino) 118
7.7.1 外部库 118
7.7.2 互联网连接(无线) 119
7.7.3 读取传感器数据 119
7.7.4 数据发布 120
7.7.5 标准函数 121
7.8 代码(iOS) 122
7.8.1 项目设置 122
7.8.2 屏幕布局 124
7.8.3 屏幕逻辑 130
7.9 终的作品 136
7.10 小结 138
第8章 物联网模式:网页应用 139
8.1 学习目标 139
8.2 硬件需求 140
8.3 软件需求 140
8.4 电路 141
8.5 数据库表(MySQL) 142
8.6 代码(PHP) 143
8.6.1 数据库连接 143
8.6.2 接收和保存传感器数据 144
8.6.3 仪表盘 145
8.7 代码(Arduino) 148
8.7.1 外部库 149
8.7.2 互联网连接(无线) 149
8.7.3 读取传感器数据 149
8.7.4 数据发布 150
8.7.5 标准函数 151
8.8 终的作品 152
8.9 小结 153
第9章 物联网模式:位置感知 154
9.1 学习目标 155
9.2 硬件需求 155
9.3 软件需求 155
9.4 电路 156
9.5 数据库表(MySQL) 156
9.6 代码(PHP) 158
9.6.1 数据库连接 158
9.6.2 接收和保存传感器数据 159
9.6.3 地图 161
9.7 代码(Arduino) 164
9.7.1 外部库 164
9.7.2 互联网连接(无线) 164
9.7.3 获得GPS坐标 164
9.7.4 数据发布 166
9.7.5 标准函数 167
9.8 终的作品 168
9.9 小结 169
第10章 物联网模式:人-机交互 170
10.1 学习目标 170
10.2 硬件需求 171
10.3 软件需求 171
10.4 电路 172
10.5 代码(Arduino) 173
10.5.1 外部库 173
10.5.2 互联网连接(无线) 174
10.5.3 读取传感器数据 174
10.5.4 数据发布 175
10.5.5 标准函数 176
10.6 Effektif工作流 177
10.6.1 创建过程 177
10.6.2 配置过程 178
10.7 Node-RED流 184
10.8 终的作品 188
10.9 小结 190
第11章 物联网模式:机-机交互 191
11.1 学习目标 192
11.2 光线传感器 192
11.2.1 代码(Arduino) 192
11.3 灯光控制设备 195
11.3.1 代码(Arduino) 195
11.4 终的作品 19
前 言
前 言 Preface分析家预测,到了2020年,会有超过500亿的联网物(设备),在物联网领域的总营收会轻松超过1.5万亿美元。
数字看上去巨大,但是物联网究竟是什么呢?是不是就只是把东西连接到互联网上呢?为什么连接后的东西就有意义了呢?物联网远不止是把东西连接到互联网上那么简单。物联网给沉默呆滞的东西加上感知、通信和响应的能力,从而把它们变得更加智能。人有五官——我们可以看、听、尝、闻和触摸。同样,如果把这些传感器加到东西身上,它们也就可以有同样的感知了。比如,加上摄像头,东西就能看见;加上声音传感器,东西就能听见;加上扬声器,东西就能说话。东西能用的传感器比我们的多多了。把这些东西连接到互联网上,就能与我们交流,与其他东西交流。接下去,下一个前沿方向就是它们也可以运用人工智能来思考了。物联网有大量的应用,下面举两个例子来说明物联网是如何改善人类生活的:
监视用于监测生命体征的腕带,发现任何异常,就立刻通知你和你的医生。
监视你家房子的保安系统,发现任何入侵行为,就通知你和安保机构。
本书的内容本书来自于我开始接触物联网的个人体验。本书包含两个部分,部分介绍构建物联网应用的基础知识,而第二部分采用基于项目的方法介绍物联网应用开发方法。在每一章的后,你会得到一个物联网应用的可用原型。
部分:基础第1~3章覆盖了物联网的基础知识。
第1章介绍本书所用的Arduino原型平台。
第2章讨论了把东西连入互联网的几个方案。
第3章介绍通信协议,哪些是物联网能用的协议。
第二部分:原型第4~12章用了部分的资料来构建物联网应用的原型。
第4章介绍Node-RED,这是一个可视化的设计软件,用来减少物联网应用所需的代码量。
第5章讨论的是可以实时给用户提供数据的物联网应用的构建,教你如何构建一个入侵检测系统。
第6章讨论可以遥控东西的物联网应用,比如灯光控制系统。
第7章展示了用来构建点播物联网应用所需的各种元件。本章要构建一个智能停车系统。
第8章教你适合网页应用的场景,所用的例子是温度监视系统。
第9章讨论位置感知装置的重要性。在本章中,你将学习如何开发一个牲畜跟踪系统。
第10章是关于需要人的响应的场景,在本章中,你将构建一个废物管理系统。
第11章讨论了物联网的一种模式,当东西越来越智能时,这种模式会非常常见。该章的示例是一个节能系统。
第12章介绍有助于加速进入物联网领域的一些平台。这一章的例子是构建一个土壤水分控制系统。
阅读本书前的准备工作物联网应用需要硬件和软件,可以涉及很多不同的技术,所以本书用到了不少技术。不过,我们已经尽力让所用的技术简单、精简。
硬件需求请参考每一章所提供的完整的说明,因为基于不同的作品,某些元器件不是必需的。
Arduino Uno或Arduino Yu?n以太网盾板WiFi(无线)盾板面包板跳线(面包线,针连针或针连孔的)光线传感器运动传感器(HC-SR501)LED220Ω电阻接近传感器(超声波测距HC-SR04)温度传感器(TMP36)GPS模块(NEO6MV2)土壤水分传感器软件需求Arduino IDENode-REDMQTT代理(本书用了Eclipse Foundation提供的免费公开的代理)Android StudioXcode/SwiftPHP服务器MySQL服务器文本编辑器Effektif BPM(基于云的,需要免费账户)Xively(基于云的,需要免费账户)Zapier(基于云的,需要免费账户)为了能更好地帮到你,我们还专门为这本书建立了一个网站(http://codifythings.com)。这个网站有书中所开发的原型的各种变化和增强版本,还有其他的原型作品。
本书的读者对象本书是为想要进入物联网世界的爱好者和专业人士所写的。本书所述的知识需要读者掌握一些Arduino或类似的元器件的基础知识,也需要读者具备一些编程经验。我们用了基础的硬件元器件,而且给出了逐步搭建电路的说明。我们保持代码简单、可读和简洁,以帮助新手理解概念、开发出可用的原型。全书的代码风格是一致的,在需要的地方,都加入了详细的代码注释。
数字看上去巨大,但是物联网究竟是什么呢?是不是就只是把东西连接到互联网上呢?为什么连接后的东西就有意义了呢?物联网远不止是把东西连接到互联网上那么简单。物联网给沉默呆滞的东西加上感知、通信和响应的能力,从而把它们变得更加智能。人有五官——我们可以看、听、尝、闻和触摸。同样,如果把这些传感器加到东西身上,它们也就可以有同样的感知了。比如,加上摄像头,东西就能看见;加上声音传感器,东西就能听见;加上扬声器,东西就能说话。东西能用的传感器比我们的多多了。把这些东西连接到互联网上,就能与我们交流,与其他东西交流。接下去,下一个前沿方向就是它们也可以运用人工智能来思考了。物联网有大量的应用,下面举两个例子来说明物联网是如何改善人类生活的:
监视用于监测生命体征的腕带,发现任何异常,就立刻通知你和你的医生。
监视你家房子的保安系统,发现任何入侵行为,就通知你和安保机构。
本书的内容本书来自于我开始接触物联网的个人体验。本书包含两个部分,部分介绍构建物联网应用的基础知识,而第二部分采用基于项目的方法介绍物联网应用开发方法。在每一章的后,你会得到一个物联网应用的可用原型。
部分:基础第1~3章覆盖了物联网的基础知识。
第1章介绍本书所用的Arduino原型平台。
第2章讨论了把东西连入互联网的几个方案。
第3章介绍通信协议,哪些是物联网能用的协议。
第二部分:原型第4~12章用了部分的资料来构建物联网应用的原型。
第4章介绍Node-RED,这是一个可视化的设计软件,用来减少物联网应用所需的代码量。
第5章讨论的是可以实时给用户提供数据的物联网应用的构建,教你如何构建一个入侵检测系统。
第6章讨论可以遥控东西的物联网应用,比如灯光控制系统。
第7章展示了用来构建点播物联网应用所需的各种元件。本章要构建一个智能停车系统。
第8章教你适合网页应用的场景,所用的例子是温度监视系统。
第9章讨论位置感知装置的重要性。在本章中,你将学习如何开发一个牲畜跟踪系统。
第10章是关于需要人的响应的场景,在本章中,你将构建一个废物管理系统。
第11章讨论了物联网的一种模式,当东西越来越智能时,这种模式会非常常见。该章的示例是一个节能系统。
第12章介绍有助于加速进入物联网领域的一些平台。这一章的例子是构建一个土壤水分控制系统。
阅读本书前的准备工作物联网应用需要硬件和软件,可以涉及很多不同的技术,所以本书用到了不少技术。不过,我们已经尽力让所用的技术简单、精简。
硬件需求请参考每一章所提供的完整的说明,因为基于不同的作品,某些元器件不是必需的。
Arduino Uno或Arduino Yu?n以太网盾板WiFi(无线)盾板面包板跳线(面包线,针连针或针连孔的)光线传感器运动传感器(HC-SR501)LED220Ω电阻接近传感器(超声波测距HC-SR04)温度传感器(TMP36)GPS模块(NEO6MV2)土壤水分传感器软件需求Arduino IDENode-REDMQTT代理(本书用了Eclipse Foundation提供的免费公开的代理)Android StudioXcode/SwiftPHP服务器MySQL服务器文本编辑器Effektif BPM(基于云的,需要免费账户)Xively(基于云的,需要免费账户)Zapier(基于云的,需要免费账户)为了能更好地帮到你,我们还专门为这本书建立了一个网站(http://codifythings.com)。这个网站有书中所开发的原型的各种变化和增强版本,还有其他的原型作品。
本书的读者对象本书是为想要进入物联网世界的爱好者和专业人士所写的。本书所述的知识需要读者掌握一些Arduino或类似的元器件的基础知识,也需要读者具备一些编程经验。我们用了基础的硬件元器件,而且给出了逐步搭建电路的说明。我们保持代码简单、可读和简洁,以帮助新手理解概念、开发出可用的原型。全书的代码风格是一致的,在需要的地方,都加入了详细的代码注释。
评论
还没有评论。