物联网应用开发技术:基于RISC-V及轻量级鸿蒙的实践
定 价:89.8 元
丛书名:新工科人才培养系列丛书·物联网工程
- 作者:王宜怀
- 出版时间:2025/9/1
- ISBN:9787121511103
- 出 版 社:电子工业出版社
- 中图法分类:TP393.4;TP18
- 页码:220
- 纸张:
- 版次:01
- 开本:16开
-
商品库位:
本书以RISC-V架构微控制器CH32V303及WiFi通信为蓝本,结合华为面向物联网应用的轻量级鸿蒙实时操作系统LiteOS,阐述物联网应用开发技术。本书遵循由个别到一般、又由一般到个别的认知过程,把物联网应用开发技术的知识体系归纳为终端、信息邮局、人机交互系统三个有机组成部分。针对终端,本书给出通用嵌入式计算机(GEC)的概念;针对信息邮局,本书将其抽象为固定IP地址与端口,并由此设计了云侦听程序模板;针对人机交互系统,本书设计了Web页面程序、微信小程序等模板,为“照葫芦画瓢”地开发具体应用提供共性技术。本书形成了以GEC为核心,以构件为支撑,以工程模板为基础的物联网应用开发体系,可有效降低读者学习物联网应用开发技术的门槛。
王宜怀,男,1962年2月生,苏州大学教授、博士生导师,苏州大学嵌入式系统与物联网研究所所长,江苏省计算机学会嵌入式系统专委会主任、中国软件行业协会嵌入式系统专业委员会理事、中国计算机学会高级会员,主要从事嵌入式系统人工智能与物联网领域的科研和教学工作。曾获全国高等学校计算机教学成果奖一等奖、国家级一流本科课程、江苏省高等教育教学成果一等奖、苏州大学五四青年特别感谢奖、苏州大学高尚师德奖、苏州大学教学先进个人等。
目 录
第1章 概述 1
1.1 初识AHL-CH32V303-WiFi开发板 1
1.1.1 AHL-CH32V303-WiFi开发板简介 1
1.1.2 AHL-CH32V303-WiFi开发板的测试 3
1.2 物联网应用开发所面临的问题及解决思路 4
1.2.1 物联网应用开发所面临的问题 4
1.2.2 解决物联网应用开发所面临难题的基本思路 5
1.3 本书结构 5
1.4 本章习题 6
第2章 WiFi应用架构及通信基本过程 7
2.1 WiFi概述及相关基本概念 7
2.1.1 WiFi概述 7
2.1.2 WiFi通信过程与应用开发相关的基本概念 7
2.2 WiFi应用架构及通信基本过程 10
2.2.1 建立WiFi应用架构的基本原则 11
2.2.2 终端、信息邮局与人机交互系统的基本定义 11
2.2.3 基于信息邮局的WiFi通信过程 12
2.3 终端数据到云平台 13
2.3.1 配套资源及软件下载安装 13
2.3.2 编译、下载与运行终端程序 14
2.3.3 运行云侦听程序并连接终端 16
2.4 本章小结 18
2.5 本章习题 18
第3章 终端构件知识要素与实践 20
3.1 底层驱动构件、外部设备构件与算法构件的概念 20
3.2 GPIO、UART及Flash构件 21
3.2.1 GPIO构件 21
3.2.2 UART构件 25
3.2.3 Flash构件 31
3.3 ADC构件 33
3.3.1 ADC的通用基础知识 33
3.3.2 ADC构件及测试方法 37
3.4 PWM构件 39
3.4.1 PWM通用基础知识 39
3.4.2 PWM构件及测试方法 41
3.5 本章小结 44
3.6 本章习题 45
第4章 LiteOS应用开发快速入门 46
4.1 无操作系统与实时操作系统 46
4.1.1 无操作系统下的程序运行路线 46
4.1.2 实时操作系统下的程序运行路线 46
4.1.3 实时操作系统与非实时操作系统 47
4.2 RTOS中的常用基本概念及线程的三要素 47
4.2.1 与线程相关的基本概念 48
4.2.2 线程的三要素及四种状态 49
4.2.3 线程的三种基本形式 52
4.3 RTOS下编程框架 53
4.3.1 LiteOS的基本要素模板列表 53
4.3.2 第一个样例工程功能及运行 54
4.3.3 LiteOS下应用编程的工程框架 55
4.4 RTOS中同步与通信的编程方法 60
4.4.1 RTOS中同步与通信基本概念 60
4.4.2 事件 61
4.4.3 消息队列 66
4.4.4 信号量 71
4.4.5 互斥量 74
4.5 本章小结 77
4.6 本章习题 78
第5章 上位机C#语言编程快速入门 79
5.1 运行C#第一个实例 79
5.1.1 选择C#语言的缘由及VS的安装 79
5.1.2 创建与运行第一个C#实例 80
5.1.3 常用工具的使用 82
5.2 认识C#语言中的对象 82
5.2.1 对象的三要素:属性、事件与方法 82
5.2.2 属性、事件与方法的编程 84
5.2.3 几个基本概念 86
5.3 C#工程框架及常用控件实例 87
5.3.1 C#工程框架 88
5.3.2 常用控件的使用方法举例 88
5.3.3 如何继续学习 89
5.4 综合编程实例:串口工具设计 89
5.4.1 需求分析 89
5.4.2 人机接口界面设计 90
5.4.3 程序测试 90
5.4.4 运行过程解析 91
5.5 本章小结 96
5.6 本章习题 96
第6章 终端程序与云侦听程序的运行过程 98
6.1 终端程序模板与云侦听程序模板的适应性修改 98
6.1.1 了解终端程序中的通信端口信息 98
6.1.2 了解云侦听程序的通信端口信息 98
6.1.3 运行终端程序 99
6.1.4 运行云侦听程序并连接终端 100
6.2 了解终端程序的运行过程 102
6.2.1 终端程序的工程框架 102
6.2.2 main函数之前的运行过程 103
6.2.3 操作系统启动后的运行过程 103
6.3 了解云侦听程序的运行过程 104
6.3.1 云侦听程序工程框架 104
6.3.2 事件触发的运行过程 105
6.4 新增物理量的方法 106
6.5 本章小结 108
6.6 本章习题 108
第7章 通过Web页面访问终端数据 109
7.1 运行Web页面访问终端的数据 109
7.1.1 Web页面程序模板的适应性修改 109
7.1.2 运行Web页面程序观察终端实时数据 110
7.2 Web页面程序模板工程框架与Web页面程序运行过程 111
7.2.1 Web页面程序模板的工程框架 111
7.2.2 Web页面程序的运行过程 112
7.3 构建自己的Web页面程序 115
7.3.1 在终端程序中增加红灯状态物理量后的Web页面 115
7.3.2 在Web页面的“实时数据”页面增加控制按钮 116
7.3.3 在Web页面程序中控制对应的物理量 118
7.4 本章小结 120
7.5 本章习题 120
第8章 通过微信小程序访问终端数据 121
8.1 微信小程序样例工程的运行 121
8.1.1 下载安装微信开发者工具 121
8.1.2 导入微信小程序模板并进行适应性修改 121
8.1.3 运行微信小程序观察终端实时数据 123
8.2 微信小程序的工程框架和运行过程 124
8.2.1 微信小程序的工程框架 124
8.2.2 微信小程序的运行过程 125
8.3 照葫芦画瓢修改微信小程序的模板 126
8.3.1 在终端程序中增加红灯状态物理量后的微信小程序界面 126
8.3.2 在微信小程序“实时数据”界面增加控制按钮 127
8.3.3 在微信小程序中控制对应的物理量 129
8.4 本章小结 131
8.5 本章习题 131
第9章 初步理解终端程序代码 132
9.1 终端程序的工程框架解析与运行过程 132
9.1.1 终端程序的工程框架解析 132
9.1.2 终端程序的总头文件及中断服务例程 134
9.2 理解终端工程中的WiFi构件 136
9.2.1 设计WiFi构件时需要考虑的因素 137
9.2.2 WiFi构件的API接口设计 137
9.2.3 WiFi构件的使用方法 140
9.3 初步理解终端的WiFi通信过程 141
9.3.1 建立WiFi连接 141
9.3.2 终端程序向云侦听程序发送数据 142
9.3.3 终端程序接收云侦听程序的回发数据 145
9.4 本章小结 146
9.5 本章习题 146
第10章 初步理解云侦听程序代码 147
10.1 云侦听程序运行过程解析 147
10.1.1 WebSocket协议与JSON格式 147
10.1.2 云侦听程序模板的工程框架 148
10.1.3 云侦听程序的自动运行过程 150
10.1.4 云侦听程序的通信过程 158
10.1.5 云侦听程序的按钮单击事件解析 163
10.2 云侦听程序与终端程序通信的接口类HCICom 165
10.2.1 HCICom类的设计要点 165
10.2.2 HCICom类的属性、方法和事件 166
10.2.3 HCICom类的使用方法 168
10.3 数据入库过程 169
10.3.1 查看数据库与表的简单方法 169
10.3.2 各数据表的用途 171
10.3.3 操作数据库的基本编程方法 172
10.4 动态控件的生成方法 172
10.5 本章小结 175
10.6 本章习题 175
第11章 初步理解Web页面程序代码 176
11.1 Web页面程序的运行过程解析 176
11.1.1 Web页面的启动过程 176
11.1.2 “实时数据”页面的运行过程 177
11.2 Web页面程序与云侦听程序的通信 181
11.3 Web页面程序中动态控件的生成 183
11.4 本章小结 184
11.5 本章习题 184
第12章 初步理解微信小程序代码 185
12.1 微信小程序运行过程解析 185
12.1.1 微信小程序的启动过程 185
12.1.2 实时数据侦听页面运行过程 187
12.2 微信小程序与云侦听的通信 191
12.3 微信小程序中动态控件的生成 195
12.4 本章小结 196
12.5 本章习题 197
第13章 远程更新及其他通信方式概要 198
13.1 远程更新终端程序 198
13.1.1 远程更新概述 198
13.1.2 远程更新的操作过程 198
13.2 NB-IoT通信方式 200
13.2.1 NB-IoT概述 200
13.2.2 AHL-NB-IoT开发套件简介 201
13.3 4G通信方式 202
13.3.1 4G/5G概述 202
13.3.2 AHL-4G开发套件简介 203
13.4 Cat1通信方式 203
13.4.1 Cat1概述 203
13.4.2 AHL-CAT1-CH573开发套件简介 204
13.5 本章小结 205
13.6 本章习题 205
参考文献 206