图书目录

目录

第1篇 物联网智能设备基础

第1章 物联网智能设备介绍 3

1.1 物联网简介 3

1.2 物联网实时信息系统 3

1.2.1 物联网实时信息系统组成 4

1.2.2 物联网节点 4

1.2.3 物联网网关 5

1.2.4 物联网传输网络 6

1.2.5 物联网数据服务中心 6

1.2.6 物联网服务接入网络 6

1.2.7 物联网服务客户端 6

1.3 物联网网关智能设备 7

1.3.1 智能工业物联网网关产品实例 7

1.3.2 智能网关定制开发案例 8

1.4 物联网数据节点智能设备 12

1.4.1 智能传感器 12

1.4.2 智能数字仪表 15

1.4.3 智能北斗接收机 17

1.4.4 智能摄像头 18

1.5 物联网控制节点智能设备 18

1.5.1 PLC 控制器 18

1.5.2 智能继电器 19

1.5.3 智能执行器 20

1.5.4 多功能红外遥控器 20

1.6 物联网智能设备数据存储分析公共平台 21

1.6.1 阿里云对象存储服务 21

1.6.2 华为云 22

1.6.3 中国移动 OneNET 22

1.7 小结 22

思考题 23

第2章 物联网智能设备制作基础 24

2.1 物联网微控制器及开发环境 24

2.1.1 微控制器的组成结构 24

2.1.2 微控制器的发展阶段 26

2.1.3 微控制器分类 28

2.1.4 Arduino Nano 微控制器 30

2.1.5 STM32F103C8T6 微控制器 34

2.2 Arduino IDE 集成开发环境及测试 35

2.2.1 Arduino IDE 安装 35

2.2.2 Arduino IDE 配置 36

2.2.3 Arduino Nano 编程测试 37

2.3 Keil 集成开发环境安装及测试 39

2.3.1 Keil v5 集成开发环境安装 40

2.3.2 Keil v5 STM32 芯片支持包及标准库配置 41

2.3.3 Keil v5 新建 STM32 工程及测试 43

2.4 微控制器与物联网节点的连接和测试 48

2.4.1 杜邦线连接微控制器与节点测试 48

2.4.2 面包板连接微控制器与节点测试 49

2.4.3 万能板连接微控制器与节点测试 50

2.5 物联网数据节点测试 51

2.5.1 STM32 微控制器采集 DHT11 温湿度传感器数据 52

2.5.2 Arduino 微控制器采集温湿度传感器数据 55

2.6 物联网控制节点测试 56

2.6.1 Arduino 微控制器控制继电器测试 57

2.6.2 STM32 微控制器控制继电器测试 58

2.7 小结 62

思考题 62

第3章 智能设备通信技术 63

3.1 智能设备通信技术简介 63

3.2 网关-节点通信技术 64

3.2.1 UWB 无线技术 64

3.2.2 ZigBee 无线技术 66

3.2.3 蓝牙无线通信技术 66

3.2.4 LoRa 无线通信技术 67

3.2.5 RS485 有线通信技术 68

3.2.6 Arduino Nano 微控制器-蓝牙节点数据通信测试 69

3.3 网关-数据中心通信技术 74

3.3.1 以太网通信技术 74

3.3.2 Wi-Fi 无线通信技术 75

3.3.3 移动通信技术 77

3.3.4 NB-IoT 无线通信技术 78

3.4 网关-数据中心 Wi-Fi 无线通信测试 79

3.4.1 ESP8266 Wi-Fi 模块 AT 指令介绍 79

3.4.2 USB-TTL 串口测试 ESP8266 Wi-Fi 模块是否正常工作 80

3.4.3 USB-TTL 串口测试 ESP8266 Wi-Fi 模块连接 AP 功能 82

3.4.4 ESP8266 Wi-Fi 模块 TCP 通信 AT 指令测试 84

3.4.5 ESP8266 Wi-Fi 模块 TCP 通信透传模式测试 86

3.4.6 Arduino Nano Wi-Fi 设备无线通信测试 88

3.4.7 STM32 Wi-Fi 设备无线通信测试 89

3.5 小结 93

思考题 94

第2篇 物联网智能设备制作

第4章 智能设备 PCB 电路板设计 97

4.1 PCB 电路板设计软件简介 97

4.1.1 Altium Designer 电路板设计软件 98

4.1.2 嘉立创 EDA 电路板设计软件 99

4.2 Altium Designer 软件安装与应用 99

4.2.1 Altium Designer 软件的安装 99

4.2.2 Altium Designer 新建工程项目 100

4.2.3 PCB 项目环境搭建 100

4.2.4 导入电子元器件库 101

4.3 嘉立创 EDA 标准版安装与使用 101

4.4 嘉立创 EDA 导出 Altium Designer 原理图及封装库 102

4.4.1 使用嘉立创元件库导出 AD 原理图及 PCB 封装库 102

4.4.2 将嘉立创导出的文件转换成 AD 可使用的库文件 103

4.5 Altium Designer 测试导出的原理图及封装库 104

4.6 智能设备电子元器件焊接 104

4.6.1 手工焊接工具及焊接材料 105

4.6.2 手工焊接基本操作方法 105

4.6.3 焊点质量及检查 108

4.7 小结 108

思考题 109

第5章 物联网节点-智能光敏继电器制作 110

5.1 智能光敏继电器简介 110

5.2 智能光敏继电器的电路图设计 111

5.2.1 光敏电阻检测电路 111

5.2.2 智能光敏继电器原理图设计 111

5.3 智能光敏继电器的 PCB 设计 112

5.3.1 智能光敏继电器 PCB 设计 112

5.3.2 PCB 电路板自动布线 113

5.3.3 PCB 电路板铺铜 114

5.4 智能光敏继电器的打板与焊接 115

5.4.1 Gerber PCB 制板文件生成 115

5.4.2 PCB 电路板打样 116

5.4.3 PCB 电路板焊接 117

5.5 智能光敏继电器程序设计 118

5.6 小结 118

思考题 118

第6章 物联网节点-智能 LoRa 测距设备制作 119

6.1 超声波测距设备简介 119

6.2 超声波距离传感器工作原理 120

6.3 LoRa 无线通信模组 SX1278 工作原理 121

6.4 LoRa 超声波测距设备电路设计 122

6.4.1 电子线路原理图设计 122

6.4.2 PCB 电路板设计 123

6.4.3 Gerber PCB 制板文件生成 125

6.4.4 PCB 电路板打样 126

6.4.5 PCB 电路板焊接 126

6.5 智能 LoRa 测距设备程序设计与测试 126

6.5.1 超声波测距程序编写及测试 126

6.5.2 超声波测距及 LoRa 数据发送程序编写及测试 128

6.6 小结 130

思考题 130

第7章 物联网网关-智能微型气象站制作 131

7.1 微型气象站简介 131

7.2 微型气象站电子元器件 131

7.2.1 GY-BMP280 高精度大气压强传感器模块 132

7.2.2 GY-30 光照传感器模块 132

7.3 微型气象站电路图设计 133

7.3.1 微型气象站设计基础 133

7.3.2 电子原理图设计 134

7.4 微型气象站制作 135

7.4.1 PCB 电路板设计 135

7.4.2 PCB 电路板铺铜 136

7.4.3 Gerber PCB 制板文件生成 137

7.4.4 PCB 电路板打样及焊接 137

7.5 微型气象站智能设备软件设计与烧录 138

7.5.1 温湿度传感器数据收集 138

7.5.2 BMP280 气压传感器数据采集 139

7.5.3 光照传感器数据收集 140

7.5.4 微型气象站程序编译及烧录 143

7.6 Arduino 微型气象站数据通信测试 143

7.7 小结 144

思考题 144

第8章 物联网网关-STM32 智能开关制作 145

8.1 智能开关简介 145

8.2 智能开关电子元器件库文件准备 145

8.2.1 STM32 智能蓝牙开关电子元器件简介 146

8.2.2 STM32 智能蓝牙开关 Altium Designer 元器件库准备 146

8.2.3 将嘉立创转化文档生成 AD 原理图库及 PCB 库 148

8.3 STM32 智能蓝牙开关电子原理图设计 149

8.3.1 创建与命名电子原理图及 PCB 电路板 149

8.3.2 添加电子原理图及 PCB 库文件 150

8.3.3 电子原理图设计 151

8.4 STM32 智能蓝牙开关 PCB 电路板设计 153

8.4.1 PCB 电路板工程变更与验证 154

8.4.2 PCB 布局及标记 155

8.4.3 PCB 禁止布线设置 155

8.4.4 PCB 布线规则设置及自动布线 156

8.4.5 PCB 电路板滴泪 157

8.4.6 PCB 设计规则检查 158

8.4.7 PCB 电路板铺铜 159

8.4.8 生成 PCB 制板文件 160

8.4.9 提交 PCB 制板文件给厂家制板案例 160

8.4.10 智能开关 PCB 电路板焊接 161

8.5 智能开关软件设计及通信测试 162

8.5.1 温湿度传感器数据采集源代码 162

8.5.2 继电器控制源代码 162

8.5.3 蓝牙数据通信源代码 162

8.5.4 Wi-Fi 数据通信源代码 167

8.5.5 智能开关完整程序编译及烧录 167

8.6 小结 170

思考题 170

第3篇 高级物联网智能设备及软件开发

第9章 鸿蒙智能网关制作 173

9.1 鸿蒙操作系统简介 173

9.1.1 鸿蒙操作系统应用场景 174

9.1.2 支持鸿蒙操作系统的芯片 174

9.1.3 鸿蒙操作系统的特点 174

9.2 Hi3861 芯片 175

9.2.1 Hi3861 芯片应用领域 176

9.2.2 主要的 Hi3861 单片机 176

9.2.3 开发环境生成鸿蒙网关烧录所需固件 177

9.3 FS-Hi3861 鸿蒙网关开发环境搭建及测试 178

9.3.1 安装 Visual Studio Code 179

9.3.2 安装 Python 181

9.3.3 安装 DevEco Device Tool 182

9.3.4 导入及配置 Hi3861 鸿蒙工程 184

9.3.5 Hi3861 鸿蒙程序烧录及测试 190

9.4 BearPi-HM Nano 鸿蒙网关开发环境搭建及测试 194

9.4.1 基于 VMWare 的 Ubuntu 虚拟机安装运行 194

9.4.2 BearPi-HM Nano 环境部署及测试 195

9.4.3 BearPi-HM Nano 源代码编译及烧录 201

9.4.4 创建 BearPi-HM Nano 项目及测试 206

9.4.5 测试 BearPi-HM Nano 样例 211

9.5 鸿蒙应用 App 开发 214

9.5.1 开发环境搭建 214

9.5.2 鸿蒙 HelloWorld App 开发及模拟器运行 216

9.5.3 测试鸿蒙蓝牙 App 开发样例 223

9.5.4 测试鸿蒙 NFC App 开发样例 226

9.5.5 测试鸿蒙 WLAN App 开发样例 228

9.6 小结 230

思考题 230

第10章 智能物联网设备上位机软件设计 231

10.1 网关智能设备-上位机介绍 231

10.2 SpringBoot Web 服务器开发 232

10.2.1 SpringBoot Web 服务器与智能网关设备通信简介 233

10.2.2 SpringBoot 开发工具 IDEA 安装与配置 233

10.2.3 使用 IDEA 创建一个新的 Java 项目 234

10.2.4 IDEA 创建工件流程 235

10.2.5 SpringBoot Web 服务开发流程 237

10.3 SpringBoot MyBatis Web 服务器设计与实现 247

10.3.1 MySQL 数据库安装与测试 248

10.3.2 创建及配置 SpringBoot MyBatis Web 服务项目 252

10.3.3 创建传感器数据存储相关实体类及控制器等 258

10.3.4 创建继电器控制相关实体类及控制器等 264

10.3.5 Web 服务器-STM32 数据交互测试 265

10.4 TCP 服务器上位机开发 270

10.4.1 TCP Server 编程及接收智能设备传感器数据测试 270

10.4.2 Arduino TCP Client 编程 274

10.5 小结 275

思考题 275

附录 英文简称 276

参考文献 280