本书系统介绍了5G物联网端管云协同设计理念,主要内容包括基于STM32单片机的感知终端开发、基于5G NB-IoT和NR的感知数据处理与传输、采用公有云和自建云的物联数据存储与Grafana可视化平台,最后通过4个典型的物联网综合应用和两个物联网竞赛获奖实战案例,助力读者掌握面向端管云协同设计的物联网应用项目开发。
为提高学习效率与增强使用效果,本书为5G NB-IoT感知数据处理部分提供了完整的操作步骤和源代码。本书适用于物联网应用开发者实战指导参考,也可作为高等院校物联网领域相关课程的实践指导书。
重点介绍低功耗广域物联网技术中我国主流的NB-IoT技术,并基于当前热点对其未来发展进行梳理,主要特点是分别从端、管、云端对NB-IoT技术开发提供实战案例分析与指导,有助于不同端侧开 发者和学习人员使用,提高学习效率和优化学习效果。
宁磊 博士,深圳技术大学助理教授、物联网工程系副主任、创业导师。博士毕业于哈尔滨工业大学信息与通信工程专业。从事无线通信、移动轨迹数据挖掘建模和物联网应用等领域的科研与教学工作多年。曾任华为技术有限公司无线网络解决方案工程师,研发的多项具有技术断裂点的5G NB-IoT算法商用落地。累计发表SCI/EI论文20余篇,申请和授权知识产权30余项。近年来,指导学生在国 家级、省级和校级物联网学科竞赛中多次获奖,曾获深圳技术大学教师晶体奖、教学单项奖等荣誉。 潘晶 博士,深圳金刚链计算技术有限公司电子与信息工程师、高 级企业内训师。2014年获得黑龙江大学微电子学与固体电子学专业博士学位,同年,作为研究助理访问香港城市大学电子工程系混沌与复杂网络研究中心。2015年到2018年在华为技术有限公司任高 级技术合作经理,从事前沿技术及应用的开放创新工作,包括端管云安 全、人工智能、智能制造等领域,管理多项创新成果转化。累计发表SCI/EI论文16篇,申请和授权知识产权5项,曾获华为技术有限公司金 牌个人奖、金 牌团队奖、CRI总裁奖。
第 1章 5G物联网端管云协同概述 1
1.1 低功耗广域网的起源与发展 2
1.2 5G NR网络的起源与发展 9
1.3 5G物联网端管云协同设计 11
1.3.1 水平关键技术 11
1.3.2 垂直行业应用 17
1.3.3 端管云矩阵设计 21
1.4 本章小结 23
1.5 参考文献 23
第 2章 5G NB-IoT感知终端开发 24
2.1 感知终端硬件架构 24
2.2 主流开发板对比与选型 26
2.3 感知终端软件系统 34
2.4 开发环境准备 35
2.4.1 STM32集成开发环境对比 35
2.4.2 基于JetBrains CLion搭建开发环境 36
2.4.3 基于STM32CubeIDE的集成环境搭建 43
2.5 本章小结 47
2.6 参考文献 48
第3章 5G NB-IoT感知数据处理 49
3.1 基于GPIO的LED灯控制实战 49
3.1.1 GPIO的基本概念 49
3.1.2 GPIO的工作模式 49
3.1.3 LED灯控制实战 50
3.2 基于中断的按键输入实战 54
3.2.1 STM32外部中断的基本概念 54
3.2.2 按键中断控制LED灯实战 54
3.3 基于定时器中断的LED灯闪烁实战 58
3.3.1 定时器的基本概念 59
3.3.2 定时器中断控制LED灯实战 59
3.4 基于串口的数据收发实战 61
3.4.1 串口通信的基本概念 61
3.4.2 串口通信实战 61
3.5 基于ADC和DAC的电压输出与采集实战 66
3.5.1 基本概念 66
3.5.2 AD/DA转换实战 67
3.6 基于I2C的温湿度传感器数据采集实战 73
3.6.1 I2C的基本概念 73
3.6.2 温湿度读取实战 73
3.7 基于SPI的LCD显示屏控制实战 80
3.7.1 SPI的基本概念 80
3.7.2 LCD显示实战 81
3.8 本章小结 85
3.9 参考文献 85
第4章 5G NB-IoT感知数据传输 86
4.1 NB-IoT入网与通信实战 86
4.1.1 基于串口的NB-IoT模组控制 87
4.1.2 NB-IoT模组网络配置 89
4.1.3 NB-IoT模组Socket通信 92
4.2 主流物联网云平台选型与对比 100
4.2.1 物联网云平台主流传输协议 100
4.2.2 物联网云平台功能需求 101
4.2.3 物联网云平台架构 102
4.2.4 物联网云平台分类对比 103
4.3 本章小结 104
4.4 参考文献 104
第5章 5G NB-IoT云平台的数据存储设计 106
5.1 物联网数据 106
5.1.1 基本特征 106
5.1.2 物联数据JSON存储 106
5.2 物联网数据库选型指导 110
5.3 基于MongoDB的数据存储实战 110
5.3.1 MongoDB简介 111
5.3.2 MongoDB在Ubuntu下的副本集部署 111
5.3.3 基于Python的MongoDB数据读写操作 115
5.4 基于InfluxDB的数据存储实战 116
5.4.1 InfluxDB环境搭建 117
5.4.2 基于Python的InfluxDB数据读写操作 118
5.5 本章小结 120
5.6 参考文献 120
第6章 5G NB-IoT云平台的数据可视化设计 121
6.1 数据可视化的基本方法 121
6.2 数据可视化工具选型指导 122
6.3 基于Grafana的物联网数据可视化实战 123
6.3.1 Grafana部署配置 123
6.3.2 Grafana与InfluxDB对接 124
6.3.3 物联网数据可视化 126
6.4 本章小结 128
6.5 参考文献 129
第7章 5G NB-IoT典型行业应用实战 130
7.1 智慧农业实战 130
7.1.1 应用背景 130
7.1.2 系统框架 130
7.1.3 感知终端设计 131
7.1.4 管道传输设计 132
7.1.5 自建云端数据可视化设计 137
7.2 智慧路灯实战 139
7.2.1 应用背景 139
7.2.2 系统框架 139
7.2.3 感知终端设计 139
7.2.4 管道传输设计 143
7.2.5 基于华为OceanConnect云平台设计 144
7.3 智慧安防实战 146
7.3.1 应用背景 146
7.3.2 系统框架 146
7.3.3 感知终端设计 147
7.3.4 管道传输设计 162
7.3.5 基于中国移动OneNET云平台设计 185
7.3.6 基于中国移动OneNET数据可视化 187
7.4 本章小结 193
7.5 参考文献 193
第8章 5G NR端管云协同设计实战 194
8.1 5G NR工业模组与主流开发上位机 194
8.2 面向校园安全的5G NR实时视频流传输实战 195
8.2.1 应用背景 195
8.2.2 系统框架 196
8.2.3 功能设计 196
8.3 本章小结 203
8.4 参考文献 203
第9章 5G物联网创新应用设计 204
9.1 远程电梯呼叫系统 204
9.1.1 应用背景 204
9.1.2 功能设计 205
9.1.3 系统实现 207
9.2 人 物协同一体化管理系统 210
9.2.1 应用背景 210
9.2.2 功能设计 210
9.2.3 系统实现 211
9.3 本章小结 214
9.4 参考文献 215