《窄带物联网NB-IOT应用开发共性技术》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:王宜怀,张健,刘辉等著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2019
  • ISBN:9787121363764
  • 页数:476 页
图书介绍:本书从技术科学层面,提出了NB-IoT应用架构,形成可复用、可移植的模板、构件、类,成为NB-IoT应用产品开发的“基石”。NB-IoT应用架构由终端(UE)、信息邮局(MPO)、人机交互系统(HCI)三个部分组成。针对UE,本书提出了通用嵌入式计算机(GEC)的概念,在硬件上把MCU硬件最小系统及面向具体应用的共性电路封装成一个整体,为用户提供芯片级的可重用的硬件实体;在软件上,把嵌入式软件分为BIOS程序与用户程序两部分。针对MPO,本书将其抽象为固定IP地址及端口。针对HCI,本书凝练出云平台侦听程序、客户端程序、Web网页程序、微信小程序、手机APP程序等工程模板,为“照葫芦画瓢”地完成具体NB-IoT应用产品开发提供共性技术。全书形成了以GEC为核心,以构件为支撑,以工程模板为基础的NB-IoT应用开发生态系统。

第1章 概述 1

1.1 窄带物联网NB-IoT简介 2

1.1.1 物联网连接的分类 2

1.1.2 NB-IoT的起源及简明发展历程 3

1.1.3 NB-IoT技术特点及其与其他LPWAN技术比较 4

1.1.4 为什么NB-IoT会流行 6

1.2 降低NB-IoT应用开发技术门槛的基本思路 8

1.2.1 NB-IoT应用开发所面临的难题 8

1.2.2 解决NB-IoT应用开发所面临难题的基本思路 9

1.3 本书主要内容 9

第2章 NB-IoT应用架构的基本要素 13

2.1 建立NB-IoT应用架构的基本原则 13

2.2 UE、MPO与HCI的基本定义 13

2.2.1 NB-IoT终端(UE) 14

2.2.2 NB-IoT信息邮局(MPO) 14

2.2.3 NB-IoT人机交互系统(HCI) 15

2.3 NB-IoT通信过程与应用开发相关的基本概念 15

2.3.1 与终端UE相关的基本概念 15

2.3.2 与信息邮局(MPO)相关的基本概念 17

2.3.3 与人机交互系统(HCI)相关的基本概念 19

2.4 对NB-IoT通信过程的简明理解 20

2.5 本章小结 21

第3章 NB-IoT通信快速测试方法 22

3.1 无须终端(UE)硬件情况下测试NB-IoT通信 22

3.2 初步理解整个通信过程 25

3.3 金葫芦IoT-GEC开发套件基本描述 27

3.3.1 金葫芦IoT-GEC开发套件设计思想 27

3.3.2 金葫芦IoT开发套件硬件组成 28

3.3.3 金葫芦IoT-GEC开发套件的文档与软件模板 29

3.4 利用金葫芦IoT-GEC开发套件理解NB-IoT通信过程 30

3.4.1 金葫芦IoT-GEC开发套件的硬件系统快速测试方法 30

3.4.2 终端(UE)与人机交互系统(HCI)通信快速测试方法 31

3.5 下载与测试终端用户程序 32

3.5.1 用户程序更新软件AHL-UserPrgUpdate 32

3.5.2 下载过程中常见的错误及解决方法 35

3.6 本章小结 37

第4章 理解NB-IoT的通信过程 38

4.1 理解终端用户程序的执行过程 38

4.1.1 开发终端用户程序使用的集成开发环境 38

4.1.2 终端(UE)中BIOS程序主要功能 39

4.1.3 终端(UE)的用户程序工程结构 40

4.1.4 User_GEC_Basic主流程及中断处理程序 42

4.2 初步理解UE与MPO的构件UECom 46

4.2.1 UECom构件的设计要点 46

4.2.2 UECom构件的头文件 47

4.2.3 UECom构件的使用方法 53

4.3 理解用户服务器侦听程序US-Monitor的执行过程 55

4.3.1 US-Monitor工程框架 55

4.3.2 US-Monitor的执行过程 56

4.4 初步理解HCI与MPO的通信接口类HCICom 58

4.4.1 HCICom类的设计要点 58

4.4.2 HCICom类的属性、方法和事件 60

4.4.3 HCICom类的使用方法 62

4.5 理解数据入库过程 63

4.5.1 查看数据库与表的简单方法 63

4.5.2 各数据表的用途 64

4.5.3 操作数据库的基本编程方法 66

4.6 本章小结 67

第5章 基于云转发服务的“照葫芦画瓢”样例 68

5.1 功能需求:增加热敏传感器 68

5.2 “照葫芦画瓢”:终端用户程序的更改 70

5.2.1 终端用户程序“画瓢处”的查找、确认 70

5.2.2 终端用户程序内容修改 71

5.3 “照葫芦画瓢”:US-Monitor的更改 73

5.3.1 US-Monitor程序“画瓢处”的查找、确认 73

5.3.2 US-Monitor程序内容的修改 74

5.4 联合测试及自我练习 76

5.4.1 联合测试 76

5.4.2 自我练习 77

5.5 本章小结 77

第6章 云服务器侦听程序CS-Monitor 78

6.1 云服务器侦听程序CS-Monitor涉及的技术基础 78

6.1.1 云服务器侦听程序CS-Monitor的概念 78

6.1.2 WebSocket协议概述 79

6.1.3 JSON格式 80

6.2 开发CS-Monitor程序的基本条件 80

6.2.1 申请与登录远程云服务器 80

6.2.2 在云服务器CS上安装必要的软件 82

6.3 运行CS-Monitor编程模板 83

6.3.1 确认网络端口是否己对外开放 83

6.3.2 复制CS-Monitor工程与数据库 84

6.3.3 修改AHL.xml文件中有关连接配置 85

6.3.4 修改UE程序的发送地址 85

6.3.5 运行CS-Monitor程序 86

6.4 基本理解CS-Monitor编程模板 88

6.4.1 CS-Monitor编程模板的工程框架 89

6.4.2 CS-Monitor编程模板的自动执行流程 91

6.4.3 WebSocket服务器与客户端的通信 101

6.4.4 CS-Monitor编程模板按键事件的解析 107

6.5 CS-Monitor程序的“照葫芦画瓢” 109

6.6 本章小结 110

第7章 通过PC客户端的数据访问 111

7.1 运行CS-Client及观察自己的NB-IoT终端实时数据 111

7.1.1 直接运行CS-Client编程模板 111

7.1.2 观察NB-IoT终端的实时数据 114

7.2 基本理解CS-Client的编程模板 115

7.2.1 CS-Client编程模板的结构 115

7.2.2 PC客户端模板执行流程 116

7.2.3 主要按键事件的实现 122

7.3 CS-Client程序的“照葫芦画瓢” 125

7.4 本章小结 126

第8章 通过Web网页的数据访问 128

8.1 运行Web网页及观察NB-IoT终端的实时数据 128

8.1.1 打开NB-IoT的Web网页方法 128

8.1.2 观察NB-IoT终端实时数据 129

8.2 基本理解NB-IoT的Web网页模板 130

8.2.1 NB-IoT的Web网页模板的工程结构 130

8.2.2 NB-IoT的Web网页模板功能分析 131

8.2.3 通过Web网页的数据访问过程 132

8.2.4 NB-IoT的Web网页编程的进一步讨论 140

8.3 NB-Web网页的“照葫芦画瓢” 142

8.4 本章小结 144

第9章 通过微信小程序的数据访问 145

9.1 运行已发布的NB-IoT微信小程序 145

9.1.1 直接运行微信小程序模板 145

9.1.2 观察自己的NB-IoT终端实时数据 146

9.2 在开发环境中运行NB-IoT微信小程序 147

9.2.1 前期准备 147

9.2.2 运行NB-IoT微信小程序 148

9.3 基本理解NB-IoT的微信小程序模板 151

9.3.1 NB-IoT的微信小程序模板工程结构 151

9.3.2 NB-IoT的微信小程序模板开发过程 153

9.3.3 NB-IoT的微信小程序的运行分析 156

9.4 NB-IoT微信小程序编程的进一步讨论 158

9.4.1 微信小程序的函数执行流程 158

9.4.2 微信小程序的WebSocket连接 160

9.4.3 数据的处理与使用 162

9.4.4 组件模板 166

9.5 “照葫芦画瓢”:开发自己的NB-IoT微信小程序 167

9.5.1 “照葫芦画瓢”:实现新增温度的添加 168

9.5.2 “照葫芦画瓢”:动态组件的生成 170

9.5.3 “照葫芦画瓢”:添加一个页面功能 170

9.5.4 “照葫芦画瓢”:导航菜单的创建 171

9.6 NB-IoT微信小程序模板的发布 171

9.7 本章小结 172

第10章 通过Android APP的数据访问 173

10.1 查看已发布的NB-IoT的Android APP 173

10.1.1 直接运行Android APP模板 173

10.1.2 观察自己的NB-IoT终端实时数据 174

10.2 在开发环境中运行NB-IoT的Android APP 175

10.2.1 开发环境的安装 175

10.2.2 项目导入并编译运行 175

10.3 基本理解NB-IoT的AndroidAPP模板 177

10.3.1 NB-IoT的Android APP开发环境 177

10.3.2 NB-IoT的Android APP模板工程结构 178

10.3.3 NB-IoT的Android APP模板的执行过程 180

10.4 NB-IoT的AndroidAPP编程的更深入讨论 185

10.4.1 APP函数执行流程 185

10.4.2 WebSocket连接的建立 185

10.4.3 WebSocket数据处理 187

10.5 “照葫芦画瓢”:开发自己的NB-IoT的Android APP 189

10.5.1 “照葫芦画瓢”:实现新增温度的添加 190

10.5.2 “照葫芦画瓢”:动态生成控件 191

10.6 本章小结 193

第11章 通过嵌入式计算机的概念与组成 194

11.1 提出GEC概念的缘由 194

11.1.1 物联网终端开发方式存在的问题与解决办法 194

11.1.2 提出GEC概念的时机、GEC的定义与特点 195

11.1.3 GEC在NB-IoT应用架构中的位置 197

11.2 GEC的硬件实例 198

11.2.1 金葫芦IoT-GEC型号含义 198

11.2.2 金葫芦AHL-A系列硬件组成 199

11.2.3 金葫芦AHL-A系列引脚图 202

11.2.4 金葫芦AHL-A系列引脚功能表 203

11.3 GEC内的BIOS与User程序框架 205

11.3.1 GEC内的BIOS与User程序功能划分 205

11.3.2 User程序软件框架 207

11.3.3 GEC中的三类构件 209

11.4 本章小结 210

第12章 GEC常用基础构件 211

12.1 GPIO构件 211

12.1.1 GPIO构件的知识要素 211

12.1.2 GPIO构件的API 213

12.1.3 GPIO构件API的测试方法 215

12.2 UART构件 221

12.2.1 UART构件的知识要素 221

12.2.2 UART构件的API 223

12.2.3 UART构件API的测试方法 225

12.3 ADC构件 227

12.3.1 ADC构件的知识要素 227

12.3.2 ADC构件的API 229

12.3.3 ADC构件API的测试方法 229

12.4 Flash构件 231

12.4.1 Flash构件的知识要素 231

12.4.2 Flash构件的API 232

12.4.3 Flash构件API的测试方法 234

12.5 I2C构件 235

12.5.1 I2C构件的知识要素 235

12.5.2 I2C构件的API 240

12.5.3 I2C构件API的测试方法 242

12.6 SPI构件 244

12.6.1 SPI构件的知识要素 244

12.6.2 SPI构件的API 247

12.6.3 SPI构件API的测试方法 249

12.7 PWM构件 250

12.7.1 PWM构件的知识要素 251

12.7.2 PWM构件的API 253

12.7.3 PWM构件API的测试方法 254

12.8 本章小结 255

第13章 基于GEC的UE软/硬设计过程 256

13.1 输入/输出分析 256

13.1.1 输入/输出的共性分析 256

13.1.2 输入/输出的个性分析 257

13.2 快速规范的硬件评估 258

13.2.1 复制User工程框架 258

13.2.2 编程评估各硬件单元 259

13.3 硬件原理图绘制与PCB电路板制作 270

13.3.1 构件化硬件原理图绘制的简明规则 270

13.3.2 PCB布板的简明规则 274

13.4 功能软件的设计与测试 277

13.4.1 功能需求 277

13.4.2 GEC硬件需求 277

13.4.3 软件设计 277

13.4.4 软件测试 280

13.5 本章小结 281

第14章 UECom构件与HCICom类解析 282

14.1 UECom构件的设计与解析 282

14.1.1 UECom构件的基本实现过程 282

14.1.2 UECom构件主要函数的执行流程及代码解析 286

14.1.3 UECom构件的应用流程 294

14.2 HCICom类的设计与解析 295

14.2.1 HCICom类的成员变量 295

14.2.2 理解HCICom类的对外方法 295

14.2.3 HCICom类的应用流程 301

14.3 本章小结 301

第15章 基于GEC的NB-IoT应用产品开发实例 303

15.1 基于NB-IoT的实验室管家 303

15.1.1 LBS的输入/输出分析 303

15.1.2 LBS的硬件评估 305

15.1.3 LBS功能软件设计与测试 310

15.2 基于NB-IoT的多传感器数据采集系统 316

15.2.1 TE传感器输入/输出分析 316

15.2.2 TE传感器的硬件评估 318

15.2.3 TE传感器软件设计与测试 325

15.3 不同系统联合测试及总结 330

15.3.1 实验室管家系统的联合测试 330

15.3.2 多传感器数据采集系统的联合测试 331

15.3.3 软/硬件协同测试共性总结 332

15.4 本章小结 332

第16章 进一步讨论 334

16.1 新增部件基本方法 334

16.1.1 新增部件的构件制作 334

16.1.2 新增部件的测试方法 339

16.2 NB-WSN网关 343

16.2.1 NB-WSN网关的功能 343

16.2.2 NB-WSN网关实例 343

16.2.3 基于NB-WSN网关的NB-IoT应用架构 344

16.3 通信模组与MCU的更换问题 345

16.3.1 通信模组的更换问题 345

16.3.2 MCU的更换问题 345

16.4 安全问题 345

16.4.1 NB-IoT应用产品的安全需求分析 345

16.4.2 基于金葫芦NB-IoT应用架构的加密方法 347

16.5 实时操作系统(RTOS)的融入问题 347

16.5.1 RTOS的基本作用、选择与使用场景 348

16.5.2 RTOS中与任务相关的基本概念 348

16.5.3 RTOS下编程的一般步骤 353

16.6 本章小结 354

附录A 开发语言概要 355

附录B 终端(UE)涉及的文档 397

附录C 人机交互系统(HCI)涉及的文档 416

附录D HTU21D温湿度传感器中文技术手册 459

附录E 术语和缩写 473

参考文献 475