描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121363764丛书名: 物联网开发与应用丛书
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的Android APP模板 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的Android APP编程的更深入讨论 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构件1
本书从技术科学层面出发,提出了NB-IoT应用架构。该架构由终端(UE)、信息邮局(MPO)和人机交互系统(HCI)三个部分组成。UE是形式各异的NB-IoT应用产品,其共性技术研究是本书的重点之一。本书把负责NB-IoT通信的设施抽象为MPO,以便简化应用系统的编程。HCI是通用计算机、笔记本电脑、平板电脑、手机等设备的抽象,具有服务器、网页、微信、短信、手机APP等技术表现形式,其共性技术的抽取以及与UE的通信的共性技术研究,也是本书重点内容之一。
本书以构件为基础、以与具体的微控制器芯片无关性为目标,提出了通用嵌入式计算机(GEC)的概念、基本组成及实现方法,通过分析凝练UE所共有的GPIO、UART、A/D、Flash、SysTick、I2C、SPI、UECom等模块的基本知识要素,给出了遵循嵌入式软件工程基本原则的底层驱动构件封装,并把它们固化驻留在微控制器芯片中,类似于通用计算机的基本输入/输出系统(BIOS)。在此基础上给出了用户(User)程序的应用模板,可以使用户专注于应用程序的开发。本书以类为基础,提出了HCI的应用模板。通过分析NB-IoT通信的共性,以MPO为基础,在充分研究HCI共性技术的基础上,以C#语言为蓝本,遵循类封装的基本原则,设计了PC方的通信接口类HCICom,具有良好的可移植性,实现了HCI应用层程序的可复用性。此外,通过数据库及显示页面的动态设计,实现了在一定条件下物理量增减的程序自适应性。为了比较完整地涵盖NB-IoT应用开发的知识要素,本书还给出了HCI应用的多样性研究,在云平台(云服务器)侦听程序及数据入库的基础上,对客户端程序、网页程序、微信小程序、手机APP等多种不同表现形式给予了关注,也设计了对应的应用模板。
本书给出的NB-IoT应用开发共性技术,最大限度地凝练了NB-IoT应用开发过程的一般规律,形成可复用、可移植的模板、构件和类,成为NB-IoT应用产品开发的“基石”和模板(“葫芦”),以便开发人员在此模板的基础上进行特定的应用开发(“照葫芦画瓢”),体现了人类认识过程由个别到一般,又由一般到个别的哲学原理,可有效降低NB-IoT应用开发的技术门槛、减少研发成本、提高研发效率。
本书由王宜怀负责编制提纲和统稿工作,并编写了第1~3章、第11~12章,张建编写了第4~8章及对应的附录,刘辉编写了第9~10章、第13~14章及对应的附录,刘银龙编写了第15和16章。博士研究生施连敏、彭涛,硕士研究生陈成、汪博、钱涵佳、周靖越、周欣、葛新越、张艺琳、范小青、孙亚军、程宏玉、黄志贤、刘贤德、张蓉、徐昕等协助完成了程序编写、调试及书稿整理等工作。他们卓有成效的工作,使本书更加实用。ARM教育生态部、苏州电信、安芯教育、苏嵌教育等对本书提供了大力支持,电子工业出版社的编辑为本书的出版做了大量细致的工作,在此一并表示诚挚的谢意。
本书虽历时三载,但鉴于作者水平有限,书中难免会存在不足和错误之处,恳望广大读者提出宝贵意见和建议,以便再版时改进。
苏州大学 王宜怀
2019年1月
评论
还没有评论。