物联网是一个跨领域的学科,涉及方方面面的知识,包括硬件、软件、网络、协议等,这些知识很难在一本书里详细展开。目前很多关于物联网的图书集中于射频、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