《自己动手设计物联网》
《自己动手设计物联网》
PHODAL

物联网是一个跨领域的学科,涉及方方面面的知识,包括硬件、软件、网络、协议等,这些知识很难在一本书里详细展开。目前很多关于物联网的图书集中于射频、ZigBee、WiFi、蓝牙等硬件层级的构建。本书从自己动手打造一个物联网出发,旨在教会读者如何从系统级别、架构级别去设计物联网,从而掌握打造物联网系统的全过程。

本书在讲解的过程中遵循循序渐进的思想。首先,设计一个基于文本文件的物联网系统,向读者展示一个基本的物联网体系。然后,实现以互联网为基础的物联网系统,即以HTTP协议与Web编程为基础的物联网系统。最后,打造一个能结合多个物联网协议的物联网系统。在这个过程中,读者还将学会如何打造物联网的相关应用——手机APP、温度趋势、网页端控制等,以及如何打造智能、安全的物联网系统的相关内容。

目录

第1章 概览 1
1.1 物联网发展历史 1
1.2 物联网概念 3
1.3 联网——各式各样的联网设备 4
1.4 物联网系统的核心是网络 5
1.5 小结 6
第2章 一个极简的物联网:hello,world 8
2.1 数据的传输过程 9
 2.1.1 将数据快递到用户手中 10
2.1.2 数据与服务中心 14
2.2 一个文本的物联网 16
2.2.1 从浏览器到服务器 17
2.2.2 获取数据与状态 22
2.3 设备状态改变 23
2.3.1 用Raspberry Pi来读取数据 24
2.3.2 使用Raspberry Pi控制LED 28
2.4 小结 32
2.5 练习建议 33
2.6 问题回顾 33
2.7 相关阅读资料 33
第3章 分解物联网系统 34
3.1 物联网的层级结构 35
3.1.1 一个常见场景下的层级结构 35
3.1.2 理想的物联网层级结构 38
3.1.3 与真实世界交互的物理层 41
3.1.4 物联网的神经中枢——协调层 45
3.1.5 物联网的核心——应用层 47
3.1.6 通信 49
3.2 小结 51
3.3 相关阅读资料 52
第4章 基于Web的物联网系统 53
4.1 Web应用架构 54
4.1.1 MVC 55
4.1.2 领域与适配器层 56
4.1.3 最小的HTTP API 57
4.1.4 RESTful API 58
4.2 数据持久化 63
4.2.1 数据库简介 63
4.2.2 连接MongoDB数据库 65
4.3 视图与应用层 76
4.3.1 视图 76
4.3.2 控制层界面 78
4.4 部署 84
4.5 小结 85
4.6 练习建议 86
4.7 相关阅读资料 86
第5章 连接设备 87
5.1 连接控制器 88
5.1.1 一个重复的示例以及仿造API 89
5.1.2 Raspberry Pi + Arduino 90
5.1.3 Arduino与网络模块 94
5.1.4 NodeMCU 98
5.2 连接执行器 103
5.2.1 直接控制示例 103
5.2.2 间接控制示例 106
5.2.3 示例代码 109
5.3 连接传感器 111
5.3.1 让API支持上传传感器数据 112
5.3.2 土壤湿度传感器 114
5.3.3 温度传感器 115
5.3.4 数据合并 121
5.4 小结 123
5.5 相关阅读资料 123
第6章 物联网应用示例 124
6.1 数据可视化 125
6.1.1 可视化用户数据 127
6.1.2 仪表盘 129
6.2 仪表盘类型示例:温度趋势图 130
6.2.1 移动设备上查看 139
6.2.2 使用Dashing 140
6.3 创建手机应用 146
6.3.1 Ionic简介 147
6.3.2 趋势图 153
6.3.3 控制硬件 155
6.3.4 用蓝牙来与硬件通信 158
6.4 使用AWS云平台构建物联网 162
6.5 小结 167
6.6 相关阅读资料 168
第7章 真正的物联网:MQTT与CoAP协议 169
7.1 MQTT 171
7.1.1 MQTT消息订阅示例 171
7.1.2 创建MQTT服务 174
7.1.3 整合MQTT服务 179
7.1.4 MQTT-SN 189
7.2 CoAP 189
7.2.1 CoAP协议示例 191
7.2.2 创建CoAP服务 194
7.2.3 整合CoAP服务 197
7.3 小结 200
7.4 相关阅读资料 200
第8章 智能与安全 201
8.1 回顾我们的物联网系统 202
8.2 智能化 204
8.2.1 自然语言处理 204
8.2.2 机器学习之贝叶斯分类器 207
8.3 安全与隐私 209
8.3.1 网络攻击 209
8.3.2 认证 211
8.3.3 私有物联网 212
8.3.4 隐私 212
8.4 小结 213
8.5 相关阅读资料 214
附录A Raspberry Pi快速指南 215
附录B JavaScript基础 217
附录C Ionic简单帮助文档 228
附录D 相关资源 233

关于作者

Phodal Huang

Engineer, Consultant, Writer, Designer

ThoughtWorks 技术专家

工程师 / 咨询师 / 作家 / 设计学徒

开源深度爱好者

出版有《前端架构:从入门到微前端》、《自己动手设计物联网》、《全栈应用开发:精益实践》

联系我: h@phodal.com

微信公众号: 最新技术分享