商品描述
本書以RISC-V架構微控制器CH32V303及WiFi通信為藍本,結合華為面向物聯網應用的輕量級鴻蒙實時操作系統LiteOS,闡述物聯網應用開發技術。本書遵循由個別到一般、又由一般到個別的認知過程,把物聯網應用開發技術的知識體系歸納為終端、信息郵局、人機交互系統三個有機組成部分。針對終端,本書給出通用嵌入式計算機(GEC)的概念;針對信息郵局,本書將其抽象為固定IP地址與端口,並由此設計了雲偵聽程序模板;針對人機交互系統,本書設計了Web頁面程序、微信小程序等模板,為“照葫蘆畫瓢”地開發具體應用提供共性技術。本書形成了以GEC為核心,以構件為支撐,以工程模板為基礎的物聯網應用開發體系,可有效降低讀者學習物聯網應用開發技術的門檻。
目錄大綱
目 錄
第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