定 價:¥89.00
作 者: | 羅西 |
出版社: | 北京航空航天大學出版社 |
叢編項: | |
標 簽: | 暫缺 |
ISBN: | 9787512440418 | 出版時間: | 2023-03-01 | 包裝: | 平裝 |
開本: | 16開 | 頁數(shù): | 字數(shù): |
第一部分 原理篇
第1章 物聯(lián)網(wǎng)與嵌入式 3
1.1 物聯(lián)網(wǎng)發(fā)展歷程 3
1.2 物聯(lián)網(wǎng)架構(gòu) 5
1.3 物聯(lián)網(wǎng)核心技術(shù) 6
1.4 嵌入式系統(tǒng) 10
1.4.1 嵌入式系統(tǒng)概念 10
1.4.2 嵌入式系統(tǒng)體系 10
1.5 嵌入式實時操作系統(tǒng)(RTOS) 12
1.5.1 嵌入式實時操作系統(tǒng)介紹 12
1.5.2 嵌入式實時操作系統(tǒng)的重要性能指標 12
1.5.3 幾種常用的嵌入式實時操作系統(tǒng) 13
1.6 RT Thread概述 14
1.6.1 RT Thread簡介 14
1.6.2 RT Thread架構(gòu)體系 15
第2章 仿真環(huán)境搭建 17
2.1 RT Thread源碼獲取 17
2.2 MDK5安裝 18
2.3 仿真工程 20
2.3.1 獲取Nano版本源碼 20
2.3.2 RT Thread Pack包安裝 21
2.4 MDK5仿真環(huán)境配置 23
第3章 線程管理 26
3.1 線程與進程 26
3.1.1 線程與進程的概念 26
3.1.2 線程與進程的關(guān)系與區(qū)別 27
3.1.3 線程與進程的優(yōu)缺點 27
3.1.4 線程與進程的案例 28
3.1.5 線程與進程的管理模型 29
3.2 裸機系統(tǒng)與多線程系統(tǒng) 31
3.2.1 裸機系統(tǒng) 31
3.2.2 多線程系統(tǒng) 33
3.2.3 祼機系統(tǒng)與多線程系統(tǒng)的區(qū)別與應用 34
3.3 線程的工作機制 35
3.3.1 多線程并行與并發(fā)機制 35
3.3.2 內(nèi)核對象與對象容器 35
3.3.3 系統(tǒng)啟動過程 37
3.3.4 線程分類 39
3.3.5 線程狀態(tài) 42
3.4 線程管理 44
3.4.1 線程的結(jié)構(gòu) 44
3.4.2 線程的創(chuàng)建 47
3.4.3 線程的刪除 49
3.4.4 線程的啟動 50
3.4.5 線程的掛起和恢復 50
3.4.6 延時處理 51
3.4.7 其他處理 52
3.4.8 鉤子函數(shù)的設(shè)置與刪除 53
3.5 線程的調(diào)度機制 54
3.5.1 優(yōu)先級調(diào)度 54
3.5.2 時間片調(diào)度 54
3.5.3 調(diào)度器 55
3.5.4 就緒表 55
3.6 線程的應用示例 56
3.6.1 示例要求 56
3.6.2 示例實現(xiàn) 56
第4章 線程同步 59
4.1 信號量 60
4.1.1 信號量概念 60
4.1.2 信號量組成 61
4.1.3 信號量分類 61
4.1.4 計數(shù)信號量工作機制 61
4.1.5 二值信號量工作機制 62
4.1.6 信號量接口函數(shù) 63
4.1.7 信號量應用示例 67
4.2 互斥量 71
4.2.1 互斥量的組成 71
4.2.2 互斥量的工作機制 71
4.2.3 優(yōu)先級翻轉(zhuǎn) 72
4.2.4 互斥量的接口函數(shù) 78
4.2.5 互斥量的應用示例 80
4.3 事件集 84
4.3.1 事件集的特點 85
4.3.2 事件集的組成 85
4.3.3 事件集的工作機制 85
4.3.4 事件集的接口函數(shù) 86
4.3.5 事件集的應用示例 89
第5章 線程通信 93
5.1 消息郵箱 93
5.1.1 消息郵箱的特性 94
5.1.2 消息郵箱的組成 94
5.1.3 消息郵箱的工作機制 95
5.1.4 消息郵箱的接口函數(shù) 96
5.1.5 消息郵箱的應用示例 99
5.2 消息隊列 103
5.2.1 消息隊列的特性 103
5.2.2 消息隊列的組成 103
5.2.3 消息隊列的工作機制 104
5.2.4 消息隊列的接口函數(shù) 105
5.2.5 消息隊列的應用示例 110
5.3 信 號 114
5.3.1 信號的背景知識 114
5.3.2 信號的工作機制 115
5.3.3 信號與中斷、事件的對比 116
5.3.4 信號的接口函數(shù) 116
5.3.5 信號的應用示例 118
第6章 中斷與時鐘 122
6.1 中斷概述 122
6.2 中斷術(shù)語及性能 123
6.3 中斷分類 126
6.3.1 按概念范疇劃分 126
6.3.2 按能否屏蔽劃分 126
6.3.3 按中斷源劃分 127
6.3.4 按中斷信號的產(chǎn)生方式劃分 127
6.4 中斷處理過程 127
6.4.1 中斷處理的一般流程 127
6.4.2 RT Thread中斷處理流程 130
6.4.3 中斷服務(wù)程序的編寫 132
6.5 系統(tǒng)時鐘 132
6.6 時鐘管理 133
6.6.1 時鐘節(jié)拍的概念 133
6.6.2 時鐘節(jié)拍的實現(xiàn) 134
6.6.3 時鐘節(jié)拍的獲取 134
6.7 定時器管理 134
6.7.1 定時器分類 134
6.7.2 軟件定時器分類 135
6.7.3 定時器的工作機制 135
6.7.4 定時器的操作接口 136
6.8 定時器應用示例 140
第7章 內(nèi)存管理 143
7.1 內(nèi)存管理基本概念 143
7.2 內(nèi)存管理工作機制 144
7.2.1 靜態(tài)內(nèi)存管理 145
7.2.2 動態(tài)內(nèi)存管理 146
7.3 內(nèi)存管理接口函數(shù) 149
7.3.1 靜態(tài)內(nèi)存管理接口函數(shù) 149
7.3.2 動態(tài)內(nèi)存管理接口函數(shù) 152
7.4 內(nèi)存管理應用示例 155
第8章 組件應用 160
8.1 組件概述 30 ?160
8.2 ENV輔助工具 161
8.2.1 ENV輔助工具的獲取 161
8.2.2 ENV輔助工具的注冊 163
8.2.3 ENV輔助工具的功能介紹 164
8.3 FinSH控制臺 167
8.3.1 FinSH 控制臺輸入模式 167
8.3.2 FinSH 控制臺內(nèi)置命令 168
8.3.3 FinSH 控制臺自定義命令 171
8.4 文件系統(tǒng) 172
8.4.1 常用文件系統(tǒng) 172
8.4.2 DFS簡介 173
8.4.3 DFS架構(gòu) 173
8.4.4 DFS數(shù)據(jù)結(jié)構(gòu) 174
8.4.5 DFS使用步驟 175
8.4.6 DFS管理接口 176
8.4.7 文件系統(tǒng)應用示例 177
8.5 網(wǎng)絡(luò)通信 181
8.5.1 Socket(套接字)模型 181
8.5.2 SAL組件簡介 182
8.5.3 AT設(shè)備通信 183
8.5.4 網(wǎng)絡(luò)通信應用示例 185
第二部分 實戰(zhàn)篇
第9章 開發(fā)環(huán)境介紹 191
9.1 硬件資源介紹 191
9.1.1 開發(fā)板配件 191
9.1.2 上電檢測 191
9.1.3 板載資源 192
9.1.4 調(diào)試工具 193
9.2 軟件工具介紹 198
9.2.1 MDK開發(fā)工具 198
9.2.2 STM32CubeMX配置工具 202
9.3 RT Thread系統(tǒng)移植 206
9.3.1 Nano版本移植 206
9.3.2 標準版本移植 215
第10章 多線程郵箱通信 224
10.1 項目準備 224
10.2 線程管理 224
10.3 線程創(chuàng)建 225
10.3.1 創(chuàng)建靜態(tài)線程 225
10.3.2 創(chuàng)建動態(tài)線程 226
10.4 消息郵箱通信 226
10.4.1 功能設(shè)計 227__
10.4.3 消息郵箱的使用 227
10.5 消息郵箱通信測試 229
10.5.1 硬件連接 229
10.5.2 驅(qū)動安裝 229
10.5.3 程序燒寫 230
10.5.4 串口調(diào)試 231
第11章 多線程隊列通信 234
11.1 項目準備 234
11.2 消息隊列工作機制 234
11.3 串口DMA接收原理 235
11.4 項目實現(xiàn) 236
11.4.1 串口選擇 236
11.4.2 串口配置 236
11.4.3 ENV串口配置 237
11.4.4 程序?qū)崿F(xiàn) 238
11.5 項目測試 242
11.5.1 硬件接線 242
11.5.2 串口測試 243
第12章 GUI移植 245
12.1 項目準備 245
12.2 初識LVGL 245
12.3 LVGL移植 246
12.3.1 文件準備 246
12.3.2 文件導入 247
12.3.3 配置腳本 247
12.3.4 使用ENV工具配置LVGL 248
12.3.5 生成 MDK工程 249
12.4 GUI開發(fā) 250
12.4.1 添加LVGL示例文件 250
12.4.2 添加LCD驅(qū)動 251
12.4.3 SRAM 配置 255
12.4.4 使能CRC校驗 256
12.4.5 使能內(nèi)存分配算法 257
12.4.6 SRAM 功能使能 257
12.4.7 編寫程序 258
12.4.8 錯誤處理 260
12.5 GUI測試 260__
第13章 環(huán)境光強采集系統(tǒng) 262
13.1 項目準備 262
13.2 ADC傳感器 262
13.2.1 ADC簡介 263
13.2.2 傳感器電路原理 263
13.2.3 ADC時鐘 264
13.2.4 ADC配置 265
13.3 項目開發(fā) 268
13.3.1 ADC外設(shè)初始化 269
13.3.2 獲取光敏傳感器數(shù)值 270
13.3.3 LVGL界面顯示 273
13.4 測試效果 279
13.4.1 串口顯示光照強度 279
13.4.2 LCD屏幕顯示光照強度 280
第14章 環(huán)境溫濕度采集系統(tǒng) 281
14.1 項目準備 281
14.2 DHT11傳感器介紹 281
14.2.1 引腳封裝 282
14.2.2 工作原理 283
14.3 項目開發(fā) 285
14.3.1 硬件連接與配置 285
14.3.2 ENV配置軟件包 285
14.3.3 溫濕度采集線程開發(fā) 287
14.3.4 溫濕度顯示線程開發(fā) 289
14.4 項目測試 294
14.4.1 串口顯示溫濕度數(shù)據(jù) 294
14.4.2 LCD屏幕顯示溫濕度 294
第15章 文件存儲系統(tǒng) 296
15.1 項目準備 296
15.2 文件系統(tǒng)介紹 296
15.3 文件系統(tǒng)端口配置 297
15.4 文件系統(tǒng)軟件包配置 298
15.4.1 FatFs組件配置 298
15.4.2 SDIO端口配置 298
15.5 項目開發(fā) 299
15.5.1 文件掛載線程 299
15.5.2 文件讀寫操作的實現(xiàn) 301
15.5.3 溫濕度采集線程實現(xiàn) 303
15.6 項目測試 307
第16章 物聯(lián)網(wǎng)云平臺 309
16.1 物聯(lián)網(wǎng)云平臺的概念 309
16.2 物聯(lián)網(wǎng)云平臺的系統(tǒng)架構(gòu) 310
16.3 國內(nèi)外主流的物聯(lián)網(wǎng)云平臺 311
16.4 阿里云物聯(lián)網(wǎng)平臺簡介 311
16.4.1 阿里云物聯(lián)網(wǎng)平臺架構(gòu) 312
16.4.2 阿里云物聯(lián)網(wǎng)平臺通信 313
16.4.3 阿里云物聯(lián)網(wǎng)平臺的主要功能 313
16.4.4 阿里云物聯(lián)網(wǎng)平臺的優(yōu)勢 314
16.5 阿里云物聯(lián)網(wǎng)平臺應用 315
16.5.1 阿里云物聯(lián)網(wǎng)平臺配置 315
16.5.2 MQTT.fx工具配置 317
16.5.3 設(shè)備接入云平臺測試 322
16.6 OneNET云平臺簡介 324
16.6.1 OneNET云平臺架構(gòu) 324
16.6.2 OneNET云平臺通信 325
16.6.3 OneNET云平臺的主要功能 325
16.6.4 OneNET云平臺的資源模型 327
16.7 OneNET云平臺應用 328
16.7.1 OneNET云平臺配置 328
16.7.2 MQTT.fx工具配置 330
16.7.3 設(shè)備接入云平臺測試 332
第17章 智能環(huán)境監(jiān)控系統(tǒng) 334
17.1 項目準備 334
17.2 項目架構(gòu) 334
17.3 項目實現(xiàn) 335
17.3.1 嵌入式部分的實現(xiàn) 335
17.3.2 云平臺部分的實現(xiàn) 368
17.4 項目測試 386
17.4.1 串口信息測試 386
17.4.2 LCD界面測試 387
17.4.3 云平臺測試 387
17.5 項目總結(jié) 388