
作者:丁德红,
页数:292
出版社:科学出版社
出版日期:2022
ISBN:9787030717917
电子书格式:pdf/epub/txt
内容简介
本书注重应用,强调动手实践,以案例覆盖主流技术要点,能够帮助读者快速地了解物联网工程主要的通信协议,以及系统如何集成。本书前8 章引导读者如何使用物联网通信协议第三方网络资源,如百度API(翻译、二维码验证码、语音、人脸识别等,读者需要自行申请账号),其中第5章的案例“物联网饮水机”的内容涉及方方面面,理解起来有一定的难度,可以等学完第14章后回头再看;第9章频谱分析是为第10章的语音应用做铺垫的;第10~13章侧重项目训练;第14章是综合应用,涉及Spring Boot、HTTP、SSM、Vue、传感器。 本书既可以作为各类学校计算机科学与技术、软件工程、物联网工程相关专业的教材,也可以作为物联网领域从业人员的自学参考用书。
作者简介
丁德红,不错工程师,副教授,博士后,计算机科学与技术专业。在国内外刊物、学术会议上发表论文40余篇,出版专著1部、教材4部;取得发明和软件著作权30余项;主持省部级以上科研项目10余项;持信息系统项目管理师、思科网络工程师、嵌入式设计师等资格证书,在企业曾任不错工程师、研发总监、产品总监等职,开发出数十款产品。
目录
第1章 HTTP 001
1.1 HTTP介绍 001
1.1.1 HTTP概述 001
1.1.2 HTTP的工作原理 002
1.2 HTTP详情 004
1.2.1 HTTP请求方法 004
1.2.2 HTTP状态码 005
1.2.3 URL 006
1.2.4 HTTP请求格式(请求协议) 007
1.2.5 HTTP响应格式(响应协议) 007
1.3 HTTP在IDEA中的实现 008
1.3.1 创建一个Maven项目 008
1.3.2 配置Maven 008
1.3.3 代码实现 009
1.4 HTTP项目运行效果 012
第2章 CoAP 014
2.1 CoAP介绍 014
2.1.1 CoAP的基本概念 014
2.1.2 CoAP模型 015
2.1.3 CoAP的特点 015
2.1.4 CoAP的安全性 015
2.2 CoAP详情 016
2.2.1 CoAP的4种消息类型 016
2.2.2 CoAP的消息格式 016
2.2.3 CoAP的请求码、响应码和URL 017
2.3 CoAP的Java实现 017
2.3.1 创建一个Maven项目 018
2.3.2 配置Maven 018
2.3.3 代码实现 019
2.4 几种物联网协议对比 023
第3章 Modbus通信协议 025
3.1 Modbus协议简介 025
3.1.1 在Modbus网络上转输 025
3.1.2 查询-回应周期 026
3.2 两种串行传输模式 026
3.2.1 ASCII模式 027
3.2.2 RTU模式 027
3.2.3 ASCII模式与RTU模式对比 028
3.3 Modbus消息帧 028
3.3.1 ASCII帧 029
3.3.2 RTU帧 029
3.3.3 地址域 030
3.3.4 功能域 030
3.3.5 数据域 031
3.3.6 错误检测域 031
3.3.7 字符的连续传输 034
3.3.8 T1.5与T3.5时间间隔 034
3.4 数据帧交互过程 035
3.5 编程举例 037
第4章 Websocket及Spring Boot集成 041
4.1 Socket发展历程 041
4.1.1 Winsock 041
4.1.2 WebSocket简介 056
4.1.3 WebSocket通信模型 056
4.2 常用的WebSocket技术 057
4.3 Spring Boot整合WebSocket 059
4.3.1 Spring官网在线创建 059
4.3.2 使用IDEA软件创建Spring Boot项目 060
4.4 具体实现过程 062
4.4.1 代码部分 062
4.4.2 运行结果 070
第5章 MQTT及物联网饮水机设计 072
5.1 MQTT介绍 072
5.2 MQTT控制报文 074
5.3 MQTT模拟 076
5.4 MQTT应用案例:物联网饮水机 078
5.4.1 系统架构 079
5.4.2 硬件设计 080
5.4.3 软件设计 081
5.4.4 运行效果 092
第6章 FTP及编程实现 096
6.1 FTP简介 096
6.2 FTP的基本工作原理 096
6.2.1 FTP数据表示 097
6.2.2 FTP命令和应答 097
6.3 FTP客户端(Python版ftplib) 098
6.3.1 类介绍 099
6.3.2 FTP对象 099
6.3.3 FTP_TLS对象 104
6.3.4 FTP客户端及实现(Python版) 105
6.4 FTP服务器端及实现(Python版) 107
6.4.1 准备工作 107
6.4.2 ftpserver实现代码 107
6.4.3 ftpserver工程(Python版) 109
6.4.4 权限说明 112
第7章 百度API应用——翻译器 113
7.1 小小翻译器功能介绍 113
7.2 程序设计的思路 113
7.3 关键技术 114
7.3.1 urllib库简介 114
7.3.2 urllib库的基本使用 114
7.4 程序设计步骤 120
7.4.1 设计界面 120
7.4.2 JSON介绍 121
7.4.3 百度翻译开放平台API 123
第8章 生成二维码和验证码 131
8.1 二维码介绍 131
8.2 生成二维码 132
8.2.1 qrcode库的使用 132
8.2.2 PIL库的使用 136
8.2.3 生成带图标的二维码 140
8.3 生成验证码 142
8.3.1 使用PIL库生成验证码 142
8.3.2 使用captcha库生成验证码 144
第9章 频谱分析 146
9.1 傅里叶变换介绍 146
9.2 傅里叶变换原理 146
9.3 傅里叶算法分析及其实现 152
第10章 语音合成与识别 161
10.1 语音识别概述 161
10.1.1 预处理 161
10.1.2 分帧 163
10.1.3 加窗 164
10.1.4 傅里叶变换 164
10.1.5 声学特征提取 165
10.1.6 模式匹配 168
10.2 语音合成 172
10.2.1 申请开发者模式 172
10.2.2 下载在线合成Python-SDK 172
10.2.3 界面设置 173
10.2.4 新建ApiSpeech 173
10.2.5 在线语音合成 174
10.3 语音识别 176
10.3.1 语音识别——API 177
10.3.2 录音环境 177
10.3.3 在线识别音频文件 178
第11章 人脸识别应用 181
11.1 人脸识别技术简介 181
11.2 人脸识别算法原理简介 182
11.3 人脸识别技术实现 182
11.3.1 环境搭建(Windows) 183
11.3.2 使用实例 184
11.4 虹软人脸识别 187
11.4.1 原理简述 187
11.4.2 人脸识别使用实例 188
第12章 网络编程案例——TCP的聊天程序 194
12.1 基于TCP的在线聊天程序简介 194
12.2 关键技术 195
12.2.1 互联网TCP/IP 195
12.2.2 IP和端口 195
12.2.3 TCP和UDP 196
12.2.4 Socket 196
12.2.5 多线程编程 202
12.3 在线聊天程序的设计 204
12.3.1 在线聊天程序的服务器端设计 204
12.3.2 在线聊天程序的客户端设计 207
第13章 基于UWB的室内定位系统 212
13.1 定位的概念 214
13.1.1 UWB技术原理 214
13.1.2 UWB-TDOA定位原理 215
13.1.3 定位类型 216
13.1.4 UWB-TDOA定位方法 216
13.2 系统架构 216
13.2.1 UWB定位系统的组成 216
13.2.2 UWB-TDOA定位系统的架构 217
13.3 定位系统设计 218
13.3.1 UWB技术说明 218
13.3.2 定位工作原理 219
13.3.3 测距原理 219
13.3.4 定位算法 221
13.4 硬件实现 222
13.4.1 设计要求 222
13.4.2 电路图 223
13.4.3 关键IC功能框图 226
13.4.4 接口 226
13.4.5 上电复位 228
13.4.6 睡眠和深度睡眠 228
13.5 软件实现 229
13.5.1 下位机软件实现 229
13.5.2 上位机软件实现 231
第14章 综合案例——环境质量检测平台 234
14.1 项目背景 234
14.2 项目需求 235
14.3 技术选型 236
14.4 系统设计及实现 236
14.4.1 页面设计 236
14.4.2 数据库设计 241
14.4.3 代码生成 244
14.4.4 接口设计 249
14.4.5 主要功能实现 259
14.4.6 Socket告警推送 272
14.4.7 Swagger接口文档与测试 276
参考文献 282
1.1 HTTP介绍 001
1.1.1 HTTP概述 001
1.1.2 HTTP的工作原理 002
1.2 HTTP详情 004
1.2.1 HTTP请求方法 004
1.2.2 HTTP状态码 005
1.2.3 URL 006
1.2.4 HTTP请求格式(请求协议) 007
1.2.5 HTTP响应格式(响应协议) 007
1.3 HTTP在IDEA中的实现 008
1.3.1 创建一个Maven项目 008
1.3.2 配置Maven 008
1.3.3 代码实现 009
1.4 HTTP项目运行效果 012
第2章 CoAP 014
2.1 CoAP介绍 014
2.1.1 CoAP的基本概念 014
2.1.2 CoAP模型 015
2.1.3 CoAP的特点 015
2.1.4 CoAP的安全性 015
2.2 CoAP详情 016
2.2.1 CoAP的4种消息类型 016
2.2.2 CoAP的消息格式 016
2.2.3 CoAP的请求码、响应码和URL 017
2.3 CoAP的Java实现 017
2.3.1 创建一个Maven项目 018
2.3.2 配置Maven 018
2.3.3 代码实现 019
2.4 几种物联网协议对比 023
第3章 Modbus通信协议 025
3.1 Modbus协议简介 025
3.1.1 在Modbus网络上转输 025
3.1.2 查询-回应周期 026
3.2 两种串行传输模式 026
3.2.1 ASCII模式 027
3.2.2 RTU模式 027
3.2.3 ASCII模式与RTU模式对比 028
3.3 Modbus消息帧 028
3.3.1 ASCII帧 029
3.3.2 RTU帧 029
3.3.3 地址域 030
3.3.4 功能域 030
3.3.5 数据域 031
3.3.6 错误检测域 031
3.3.7 字符的连续传输 034
3.3.8 T1.5与T3.5时间间隔 034
3.4 数据帧交互过程 035
3.5 编程举例 037
第4章 Websocket及Spring Boot集成 041
4.1 Socket发展历程 041
4.1.1 Winsock 041
4.1.2 WebSocket简介 056
4.1.3 WebSocket通信模型 056
4.2 常用的WebSocket技术 057
4.3 Spring Boot整合WebSocket 059
4.3.1 Spring官网在线创建 059
4.3.2 使用IDEA软件创建Spring Boot项目 060
4.4 具体实现过程 062
4.4.1 代码部分 062
4.4.2 运行结果 070
第5章 MQTT及物联网饮水机设计 072
5.1 MQTT介绍 072
5.2 MQTT控制报文 074
5.3 MQTT模拟 076
5.4 MQTT应用案例:物联网饮水机 078
5.4.1 系统架构 079
5.4.2 硬件设计 080
5.4.3 软件设计 081
5.4.4 运行效果 092
第6章 FTP及编程实现 096
6.1 FTP简介 096
6.2 FTP的基本工作原理 096
6.2.1 FTP数据表示 097
6.2.2 FTP命令和应答 097
6.3 FTP客户端(Python版ftplib) 098
6.3.1 类介绍 099
6.3.2 FTP对象 099
6.3.3 FTP_TLS对象 104
6.3.4 FTP客户端及实现(Python版) 105
6.4 FTP服务器端及实现(Python版) 107
6.4.1 准备工作 107
6.4.2 ftpserver实现代码 107
6.4.3 ftpserver工程(Python版) 109
6.4.4 权限说明 112
第7章 百度API应用——翻译器 113
7.1 小小翻译器功能介绍 113
7.2 程序设计的思路 113
7.3 关键技术 114
7.3.1 urllib库简介 114
7.3.2 urllib库的基本使用 114
7.4 程序设计步骤 120
7.4.1 设计界面 120
7.4.2 JSON介绍 121
7.4.3 百度翻译开放平台API 123
第8章 生成二维码和验证码 131
8.1 二维码介绍 131
8.2 生成二维码 132
8.2.1 qrcode库的使用 132
8.2.2 PIL库的使用 136
8.2.3 生成带图标的二维码 140
8.3 生成验证码 142
8.3.1 使用PIL库生成验证码 142
8.3.2 使用captcha库生成验证码 144
第9章 频谱分析 146
9.1 傅里叶变换介绍 146
9.2 傅里叶变换原理 146
9.3 傅里叶算法分析及其实现 152
第10章 语音合成与识别 161
10.1 语音识别概述 161
10.1.1 预处理 161
10.1.2 分帧 163
10.1.3 加窗 164
10.1.4 傅里叶变换 164
10.1.5 声学特征提取 165
10.1.6 模式匹配 168
10.2 语音合成 172
10.2.1 申请开发者模式 172
10.2.2 下载在线合成Python-SDK 172
10.2.3 界面设置 173
10.2.4 新建ApiSpeech 173
10.2.5 在线语音合成 174
10.3 语音识别 176
10.3.1 语音识别——API 177
10.3.2 录音环境 177
10.3.3 在线识别音频文件 178
第11章 人脸识别应用 181
11.1 人脸识别技术简介 181
11.2 人脸识别算法原理简介 182
11.3 人脸识别技术实现 182
11.3.1 环境搭建(Windows) 183
11.3.2 使用实例 184
11.4 虹软人脸识别 187
11.4.1 原理简述 187
11.4.2 人脸识别使用实例 188
第12章 网络编程案例——TCP的聊天程序 194
12.1 基于TCP的在线聊天程序简介 194
12.2 关键技术 195
12.2.1 互联网TCP/IP 195
12.2.2 IP和端口 195
12.2.3 TCP和UDP 196
12.2.4 Socket 196
12.2.5 多线程编程 202
12.3 在线聊天程序的设计 204
12.3.1 在线聊天程序的服务器端设计 204
12.3.2 在线聊天程序的客户端设计 207
第13章 基于UWB的室内定位系统 212
13.1 定位的概念 214
13.1.1 UWB技术原理 214
13.1.2 UWB-TDOA定位原理 215
13.1.3 定位类型 216
13.1.4 UWB-TDOA定位方法 216
13.2 系统架构 216
13.2.1 UWB定位系统的组成 216
13.2.2 UWB-TDOA定位系统的架构 217
13.3 定位系统设计 218
13.3.1 UWB技术说明 218
13.3.2 定位工作原理 219
13.3.3 测距原理 219
13.3.4 定位算法 221
13.4 硬件实现 222
13.4.1 设计要求 222
13.4.2 电路图 223
13.4.3 关键IC功能框图 226
13.4.4 接口 226
13.4.5 上电复位 228
13.4.6 睡眠和深度睡眠 228
13.5 软件实现 229
13.5.1 下位机软件实现 229
13.5.2 上位机软件实现 231
第14章 综合案例——环境质量检测平台 234
14.1 项目背景 234
14.2 项目需求 235
14.3 技术选型 236
14.4 系统设计及实现 236
14.4.1 页面设计 236
14.4.2 数据库设计 241
14.4.3 代码生成 244
14.4.4 接口设计 249
14.4.5 主要功能实现 259
14.4.6 Socket告警推送 272
14.4.7 Swagger接口文档与测试 276
参考文献 282














