本書把窄帶物聯(lián)網(wǎng)(NB-IoT)的應用知識體系歸納為終端、信息郵局、人機交互系統(tǒng) 3 個有機組成部分。針對終端,給出通用嵌入式計算機的概念,并將其軟件分為 BIOS 與 User 兩部分;針對信息郵局, 將其抽象為固定 IP 地址與端口,并由此設計了云偵聽程序模板;針對人機交互系統(tǒng),設計了 Web 網(wǎng)頁、 微信小程序、手機 App 及 PC 客戶端等模板。本書形成了以通用嵌入式計算機為核心、以構件為支撐、 以工程模板為基礎的 NB-IoT 應用開發(fā)生態(tài)系統(tǒng),構成了 NB-IoT 技術基礎與應用知識體系,可有效降低 讀者的學習與應用門檻。
本書提供輔助教學資源(電子資源),內含所有源程序、視頻索引、文檔資料及常用軟件工具。電子資源可通過搜索“蘇州大學嵌入式學習社區(qū)”→“金葫蘆專區(qū)”→“窄帶物聯(lián)網(wǎng)教材”下載獲取,也可 在手機微信端搜索“窄帶物聯(lián)網(wǎng)教材”獲取下載指引。
本書可作為高等院校物聯(lián)網(wǎng)工程專業(yè)相關課程的教材,也可作為物聯(lián)網(wǎng)工程相關領域學者學習的參考用書,還可作為 NB-IoT 應用技術的培訓用書。
1.本書面向窄帶物聯(lián)網(wǎng)的實際應用開發(fā),闡述其協(xié)議架構、基本通信原理及應用開發(fā)方法;
2.針對人機交互系統(tǒng),設計了 Web 網(wǎng)頁、 微信小程序、手機 App 及 PC 客戶端等模板,無距離切換;
3.不僅給出了NB-IoT終端、云偵聽、網(wǎng)頁、微信小程序、手機App等應用模板,還給出了4G/5G、Wi-Fi、WSN等應用模板,助力讀者快速上手并輕松實現(xiàn)物聯(lián)網(wǎng)應用開發(fā);
4.以通用嵌入式計算機為核心、以構件為支撐、 以工程模板為基礎的 NB-IoT 應用開發(fā)生態(tài)系統(tǒng),構成了 NB-IoT 技術基礎與應用知識體系;
5.干貨滿滿,課程PPT、源程序、視頻索引、教學指導方案、常用軟件工具、開發(fā)環(huán)境下載導引、各類輔助閱讀資料,讓您事半功倍;
6.窄帶物聯(lián)網(wǎng)教材”微信小程序助您直觀體驗窄帶物聯(lián)網(wǎng)應用開發(fā)的相關知識與技術。
【王宜懷】
蘇州大學計算機科學與技術學院教授、博士生導師;蘇州大學嵌入式系統(tǒng)與物聯(lián)網(wǎng)研究所所長;蘇州市政協(xié)常委;江蘇省計算機學會嵌入式系統(tǒng)與物聯(lián)網(wǎng)專業(yè)委員會主任。長期從事嵌入式系統(tǒng)、實時操作系統(tǒng)、微型計算機原理、物聯(lián)網(wǎng)應用技術等方面的課程教學。主要研究方向為嵌入式系統(tǒng)與物聯(lián)網(wǎng)、嵌入式人工智能系統(tǒng)。
第 1章 NB-IoT概述與直觀體驗 1
1.1 NB-IoT簡介 1
1.1.1 物聯(lián)網(wǎng)無線通信連接方式的分類 2
1.1.2 NB-IoT簡明發(fā)展歷程與技術特點 2
1.1.3 為什么NB-IoT將會流行 4
1.2 NB-IoT技術與其他LPWAN技術比較 5
1.3 降低NB-IoT應用技術學習門檻的基本思路 6
1.3.1 NB-IoT應用開發(fā)所面臨的難題 7
1.3.2 解決NB-IoT應用開發(fā)所面臨難題的基本思路 7
1.4 直觀體驗NB-IoT數(shù)據(jù)傳輸 7
1.4.1 通過微信小程序方式的直觀體驗 8
1.4.2 通過網(wǎng)頁瀏覽器方式的直觀體驗 8
1.4.3 通過Android手機App方式的直觀體驗 9
1.4.4 通過運行客戶端程序的直觀體驗 9
1.5 實踐平臺—金葫蘆NB-IoT開發(fā)套件簡介 10
1.5.1 金葫蘆NB-IoT開發(fā)套件設計思想 10
1.5.2 金葫蘆NB-IoT開發(fā)套件硬件組成 11
1.5.3 金葫蘆NB-IoT開發(fā)套件軟件資源 13
1.5.4 AHL-GEC-IDE開發(fā)環(huán)境 13
1.6 實驗一 初識NB-IoT通信 14
1.7 習題 15
第 2章 NB-IoT應用架構及通信基本過程 16
2.1 建立NB-IoT應用架構的基本原則 16
2.2 終端UE、信息郵局MPO與人機交互系統(tǒng)HCI的基本定義 16
2.2.1 NB-IoT終端UE 17
2.2.2 NB-IoT信息郵局MPO 17
2.2.3 NB-IoT人機交互系統(tǒng)HCI 17
2.3 NB-IoT通信過程與應用開發(fā)相關的基本概念 17
2.3.1 與終端UE相關的基本概念 18
2.3.2 與信息郵局MPO相關的基本概念 19
2.3.3 與人機交互系統(tǒng)HCI相關的基本概念 21
2.4 基于信息郵局初略了解基本通信過程 22
2.5 實驗二 了解信息郵局MPO的基本參數(shù) 23
2.6 習題 24
第3章 終端UE基礎構件知識要素與實踐 25
3.1 終端UE的編程框架與三類構件 25
3.2 GPIO、UART及Flash構件 25
3.2.1 GPIO構件 25
3.2.2 UART構件 34
3.2.3 Flash構件 39
3.3 ADC與PWM構件 42
3.3.1 ADC構件 42
3.3.2 PWM構件 46
3.4 I2C與SPI構件 50
3.4.1 I2C構件 50
3.4.2 SPI構件 58
3.5 實驗三 理解構件的使用方法 64
3.6 習題 66
第4章 終端UE與云偵聽程序的通信過程 67
4.1 終端UE與云偵聽模板工程功能簡介 67
4.1.1 終端UE模板工程的運行流程 67
4.1.2 云偵聽模板工程功能簡介 67
4.2 建立云偵聽程序的運行場景 68
4.2.1 FRP內網(wǎng)穿透基本原理 69
4.2.2 利用蘇大云服務器搭建讀者的臨時服務器 69
4.3 運行云偵聽與終端UE模板工程 72
4.3.1 運行終端UE模板工程 72
4.3.2 運行CS-Monitor模板工程 73
4.3.3 通信過程中常見錯誤說明 75
4.4 “照葫蘆畫瓢”設計自己的終端UE與云偵聽程序 76
4.4.1 “照葫蘆畫瓢”更改終端用戶程序 76
4.4.2 CS-Monitor程序的“照葫蘆畫瓢” 80
4.4.3 聯(lián)合測試 83
4.5 實驗四 終端UE與云偵聽程序基本實踐 84
4.6 習題 85
第5章 理解終端UE與云偵聽程序 86
5.1 終端UE程序框架解析與執(zhí)行流程 86
5.1.1 終端UE程序框架 86
5.1.2 終端UE的主流程及中斷處理程序 88
5.2 理解終端UE與CS-Monitor通信構件UECom 91
5.2.1 UECom構件的設計要點 91
5.2.2 UECom構件頭文件 92
5.2.3 UECom構件的使用方法 97
5.3 云偵聽程序CS-Monitor框架解析與執(zhí)行流程 99
5.3.1 WebSocket協(xié)議與JSON格式 99
5.3.2 CS-Monitor模板工程框架 100
5.3.3 CS-Monitor模板自動執(zhí)行流程 102
5.3.4 NB-IoT應用架構的通信過程 110
5.3.5 CS-Monitor模板按鍵事件的解析 115
5.4 理解CS-Monitor中通信接口類HCICom 117
5.4.1 HCICom類的設計要點 118
5.4.2 HCICom類的屬性、方法和事件 119
5.4.3 HCICom類的使用方法 120
5.5 理解數(shù)據(jù)入庫過程 121
5.5.1 查看數(shù)據(jù)庫與表的簡單方法 121
5.5.2 各數(shù)據(jù)表的用途 122
5.5.3 操作數(shù)據(jù)庫的基本編程方法 123
5.6 實驗五 理解終端UE數(shù)據(jù)通過NB-IoT通信存入數(shù)據(jù)庫 124
5.7 習題 126
第6章 通過Web網(wǎng)頁的數(shù)據(jù)訪問 127
6.1 運行Web模板觀察自己終端UE數(shù)據(jù) 127
6.2 面向NB-IoT的Web網(wǎng)頁設計 128
6.2.1 NB-IoT的Web網(wǎng)頁模板工程結構 128
6.2.2 “照葫蘆畫瓢”設計自己的NB-IoT網(wǎng)頁 129
6.3 理解NB-IoT的Web網(wǎng)頁模板 131
6.3.1 NB-IoT的Web網(wǎng)頁模板功能分析 132
6.3.2 通過Web網(wǎng)頁的數(shù)據(jù)訪問過程 132
6.3.3 NB-IoT的Web網(wǎng)頁編程的進一步討論 140
6.4 實驗六 終端UE數(shù)據(jù)實時到達Web網(wǎng)頁 142
6.5 習題 143
第7章 通過微信小程序的數(shù)據(jù)訪問 144
7.1 運行小程序模板觀察自己終端UE數(shù)據(jù) 144
7.2 在開發(fā)環(huán)境中運行NB-IoT微信小程序 145
7.2.1 前期準備 145
7.2.2 運行NB-IoT微信小程序 146
7.3 基本理解NB-IoT的微信小程序模板 149
7.3.1 NB-IoT的微信小程序模板工程結構 149
7.3.2 NB-IoT的微信小程序模板開發(fā)過程 150
7.3.3 NB-IoT的微信小程序的運行分析 153
7.4 NB-IoT的微信小程序編程的進一步討論 155
7.4.1 微信小程序的函數(shù)執(zhí)行流程 155
7.4.2 微信小程序的WebSocket連接 156
7.4.3 數(shù)據(jù)的處理與使用 159
7.4.4 組件模板 162
7.5 “照葫蘆畫瓢”開發(fā)自己的NB-IoT的微信小程序 163
7.6 NB-IoT微信小程序模板的發(fā)布 165
7.7 實驗七 微信小程序實時控制終端 166
7.8 習題 167
第8章 通過Android App的數(shù)據(jù)訪問 168
8.1 在開發(fā)環(huán)境中運行NB_IoT的Android App 168
8.1.1 開發(fā)環(huán)境的安裝 168
8.1.2 項目導入并編譯運行 169
8.2 運行Android App模板觀察自己終端UE數(shù)據(jù) 171
8.3 基本理解NB-IoT的Android端App模板 172
8.3.1 NB-IoT的Android端App開發(fā)環(huán)境 172
8.3.2 NB-IoT的Android端App模板工程結構 173
8.3.3 NB-IoT的Android端App模板執(zhí)行過程 176
8.4 NB-IoT的Android端App編程的深入討論 181
8.4.1 App函數(shù)執(zhí)行流程 182
8.4.2 WebSocket連接建立 183
8.4.3 WebSocket數(shù)據(jù)處理 183
8.4.4 動態(tài)生成控件 185
8.5 “照葫蘆畫瓢”開發(fā)自己的NB-IOT的Android App 186
8.6 實驗八 終端UE數(shù)據(jù)實時到達Android App 189
8.7 習題 190
第9章 通過PC客戶端的數(shù)據(jù)訪問 191
9.1 運行CS-Client模板觀察自己終端UE數(shù)據(jù) 191
9.2 基本理解CS-Client的編程模板 192
9.2.1 CS-Client編程模板的工程結構 192
9.2.2 PC客戶端模板執(zhí)行流程 193
9.2.3 主要按鍵事件的實現(xiàn) 199
9.3 CS-Client 程序的“照葫蘆畫瓢” 202
9.4 實驗九 終端UE數(shù)據(jù)實時到達PC客戶端 205
9.5 習題 206
第 10章 4G/5G、Wi-Fi及WSN通信方式的接入 207
10.1 4G通信方式 207
10.1.1 4G/5G通信概述 207
10.1.2 AHL-4G開發(fā)套件簡介 208
10.1.3 運行AHL-4G模板 212
10.1.4 AHL-4G的“照葫蘆畫瓢” 215
10.2 Wi-Fi通信方式 219
10.2.1 Wi-Fi通信概述 219
10.2.2 AHL-Wi-Fi開發(fā)套件簡介 220
10.2.3 運行AHL-Wi-Fi模板 222
10.2.4 AHL-Wi-Fi的“照葫蘆畫瓢” 226
10.3 WSN通信方式 227
10.3.1 WSN通信概述 228
10.3.2 AHL-WSN開發(fā)套件簡介 228
10.3.3 運行AHL-WSN模板 231
10.3.4 AHL-WSN的“照葫蘆畫瓢” 232
10.4 Wi-Fi與WSN相結合的物聯(lián)網(wǎng)系統(tǒng) 234
10.5 實驗十 Wi-Fi與WSN相結合實現(xiàn)上行通信 236
10.6 習題 237
第 11章 外接組件的“照葫蘆畫瓢” 238
11.1 開關量輸出類驅動構件 238
11.1.1 彩燈 238
11.1.2 蜂鳴器 240
11.1.3 馬達 242
11.1.4 LED 244
11.2 開關量輸入類驅動構件 245
11.2.1 紅外尋跡傳感器 245
11.2.2 人體紅外傳感器 248
11.2.3 按鈕 250
11.3 聲音與加速度傳感器驅動構件 254
11.3.1 聲音傳感器 254
11.3.2 加速度傳感器 256
11.4 基于NB-IoT通信的綜合實踐 258
11.4.1 終端UE程序修改 259
11.4.2 CS-Monitor程序修改 263
11.4.3 運行結果 265
11.5 習題 265
附錄 AHL-NB-IoT實踐平臺硬件資源 266
參考文獻 280