物聯網實時作業系統原理與實戰

《物聯網實時作業系統原理與實戰》是2023年2月北京航空航天大學出版社出版的圖書,作者羅西。

基本介紹

  • 中文名:物聯網實時作業系統原理與實戰
  • 作者:羅西
  • 出版時間:2023年2月28日
  • 出版社:北京航空航天大學出版社
  • ISBN:9787512440418
  • 定價:89 元
  • 開本:16 開
出版信息,內容簡介,圖書目錄,

出版信息

作者羅西
定價¥89.00
ISBN978-7-5124-4041-8
出版時間2023-02-28
開本16開
紙張膠版
裝訂平裝
字數538千字
版次1
印次1

內容簡介

本書以RT Thread作業系統為例,系統地闡述了物聯網項目開發中,實時作業系統的作用、核心原理、組件技術以及如何利用其組件化開發平台搭建實際的物聯網項目。
全書內容分為兩大部分,共17章,其中,第1~8章為原理部分,第9~17章為實戰部分。原理部分按照物聯網體系、嵌入式系統、實時核心的逐層遞進關係,系統地介紹了RT Thread作為物聯網實時作業系統在物聯網項目體系中的作用,以及其自身的核心原理、組件技術等相關知識。實戰部分基於RT Thread作業系統,選取有物聯網特色的實戰案例,由淺入深地介紹了7個項目的開發過程。項目涉及物聯網開發中感知層、網路層以及套用層的實現方法。各章節均有配套示例,便於讀者更好地理解原理知識和提升物聯網項目開發能力。讀者可以登錄北京航空航天大學出版社官網獲取源碼資源。本書適合希望進入物聯網行業的技術人員參考學習。

圖書目錄

第一部分 原理篇
第1章 物聯網與嵌入式 3
1.1 物聯網發展歷程 3
1.2 物聯網架構 5
1.3 物聯網核心技術 6
1.4 嵌入式系統 10
1.4.1 嵌入式系統概念 10
1.4.2 嵌入式系統體系 10
1.5 嵌入式實時作業系統(RTOS) 12
1.5.1 嵌入式實時作業系統介紹 12
1.5.2 嵌入式實時作業系統的重要性能指標 12
1.5.3 幾種常用的嵌入式實時作業系統 13
1.6 RT Thread概述 14
1.6.1 RT Thread簡介 14
1.6.2 RT Thread架構體系 15
第2章 仿真環境搭建 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仿真環境配置 23
第3章 執行緒管理 26
3.1 執行緒與進程 26
3.1.1 執行緒與進程的概念 26
3.1.2 執行緒與進程的關係與區別 27
3.1.3 執行緒與進程的優缺點 27
3.1.4 執行緒與進程的案例 28
3.1.5 執行緒與進程的管理模型 29
3.2 裸機系統與多執行緒系統 31
3.2.1 裸機系統 31
3.2.2 多執行緒系統 33
3.2.3 祼機系統與多執行緒系統的區別與套用 34
3.3 執行緒的工作機制 35
3.3.1 多執行緒並行與並發機制 35
3.3.2 核心對象與對象容器 35
3.3.3 系統啟動過程 37
3.3.4 執行緒分類 39
3.3.5 執行緒狀態 42
3.4 執行緒管理 44
3.4.1 執行緒的結構 44
3.4.2 執行緒的創建 47
3.4.3 執行緒的刪除 49
3.4.4 執行緒的啟動 50
3.4.5 執行緒的掛起和恢復 50
3.4.6 延時處理 51
3.4.7 其他處理 52
3.4.8 鉤子函式的設定與刪除 53
3.5 執行緒的調度機制 54
3.5.1 優先權調度 54
3.5.2 時間片調度 54
3.5.3 調度器 55
3.5.4 就緒表 55
3.6 執行緒的套用示例 56
3.6.1 示例要求 56
3.6.2 示例實現 56
第4章 執行緒同步 59
4.1 信號量 60
4.1.1 信號量概念 60
4.1.2 信號量組成 61
4.1.3 信號量分類 61
4.1.4 計數信號量工作機制 61
4.1.5 二值信號量工作機制 62
4.1.6 信號量接口函式 63
4.1.7 信號量套用示例 67
4.2 互斥量 71
4.2.1 互斥量的組成 71
4.2.2 互斥量的工作機制 71
4.2.3 優先權翻轉 72
4.2.4 互斥量的接口函式 78
4.2.5 互斥量的套用示例 80
4.3 事件集 84
4.3.1 事件集的特點 85
4.3.2 事件集的組成 85
4.3.3 事件集的工作機制 85
4.3.4 事件集的接口函式 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 訊息信箱的接口函式 96
5.1.5 訊息信箱的套用示例 99
5.2 訊息佇列 103
5.2.1 訊息佇列的特性 103
5.2.2 訊息佇列的組成 103
5.2.3 訊息佇列的工作機制 104
5.2.4 訊息佇列的接口函式 105
5.2.5 訊息佇列的套用示例 110
5.3 信 號 114
5.3.1 信號的背景知識 114
5.3.2 信號的工作機制 115
5.3.3 信號與中斷、事件的對比 116
5.3.4 信號的接口函式 116
5.3.5 信號的套用示例 118
第6章 中斷與時鐘 122
6.1 中斷概述 122
6.2 中斷術語及性能 123
6.3 中斷分類 126
6.3.1 按概念範疇劃分 126
6.3.2 按能否禁止劃分 126
6.3.3 按中斷源劃分 127
6.3.4 按中斷信號的產生方式劃分 127
6.4 中斷處理過程 127
6.4.1 中斷處理的一般流程 127
6.4.2 RT Thread中斷處理流程 130
6.4.3 中斷服務程式的編寫 132
6.5 系統時鐘 132
6.6 時鐘管理 133
6.6.1 時鐘節拍的概念 133
6.6.2 時鐘節拍的實現 134
6.6.3 時鐘節拍的獲取 134
6.7 定時器管理 134
6.7.1 定時器分類 134
6.7.2 軟體定時器分類 135
6.7.3 定時器的工作機制 135
6.7.4 定時器的操作接口 136
6.8 定時器套用示例 140
第7章 記憶體管理 143
7.1 記憶體管理基本概念 143
7.2 記憶體管理工作機制 144
7.2.1 靜態記憶體管理 145
7.2.2 動態記憶體管理 146
7.3 記憶體管理接口函式 149
7.3.1 靜態記憶體管理接口函式 149
7.3.2 動態記憶體管理接口函式 152
7.4 記憶體管理套用示例 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 控制台內置命令 168
8.3.3 FinSH 控制台自定義命令 171
8.4 檔案系統 172
8.4.1 常用檔案系統 172
8.4.2 DFS簡介 173
8.4.3 DFS架構 173
8.4.4 DFS數據結構 174
8.4.5 DFS使用步驟 175
8.4.6 DFS管理接口 176
8.4.7 檔案系統套用示例 177
8.5 網路通信 181
8.5.1 Socket(套接字)模型 181
8.5.2 SAL組件簡介 182
8.5.3 AT設備通信 183
8.5.4 網路通信套用示例 185
第二部分 實戰篇
第9章 開發環境介紹 191
9.1 硬體資源介紹 191
9.1.1 開發板配件 191
9.1.2 上電檢測 191
9.1.3 板載資源 192
9.1.4 調試工具 193
9.2 軟體工具介紹 198
9.2.1 MDK開發工具 198
9.2.2 STM32CubeMX配置工具 202
9.3 RT Thread系統移植 206
9.3.1 Nano版本移植 206
9.3.2 標準版本移植 215
第10章 多執行緒信箱通信 224
10.1 項目準備 224
10.2 執行緒管理 224
10.3 執行緒創建 225
10.3.1 創建靜態執行緒 225
10.3.2 創建動態執行緒 226
10.4 訊息信箱通信 226
10.4.1 功能設計 227__
10.4.3 訊息信箱的使用 227
10.5 訊息信箱通信測試 229
10.5.1 硬體連線 229
10.5.2 驅動安裝 229
10.5.3 程式燒寫 230
10.5.4 串口調試 231
第11章 多執行緒佇列通信 234
11.1 項目準備 234
11.2 訊息佇列工作機制 234
11.3 串口DMA接收原理 235
11.4 項目實現 236
11.4.1 串口選擇 236
11.4.2 串口配置 236
11.4.3 ENV串口配置 237
11.4.4 程式實現 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開發 250
12.4.1 添加LVGL示例檔案 250
12.4.2 添加LCD驅動 251
12.4.3 SRAM 配置 255
12.4.4 使能CRC校驗 256
12.4.5 使能記憶體分配算法 257
12.4.6 SRAM 功能使能 257
12.4.7 編寫程式 258
12.4.8 錯誤處理 260
12.5 GUI測試 260__
第13章 環境光強採集系統 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 項目開發 268
13.3.1 ADC外設初始化 269
13.3.2 獲取光敏感測器數值 270
13.3.3 LVGL界面顯示 273
13.4 測試效果 279
13.4.1 串口顯示光照強度 279
13.4.2 LCD螢幕顯示光照強度 280
第14章 環境溫濕度採集系統 281
14.1 項目準備 281
14.2 DHT11感測器介紹 281
14.2.1 引腳封裝 282
14.2.2 工作原理 283
14.3 項目開發 285
14.3.1 硬體連線與配置 285
14.3.2 ENV配置軟體包 285
14.3.3 溫濕度採集執行緒開發 287
14.3.4 溫濕度顯示執行緒開發 289
14.4 項目測試 294
14.4.1 串口顯示溫濕度數據 294
14.4.2 LCD螢幕顯示溫濕度 294
第15章 檔案存儲系統 296
15.1 項目準備 296
15.2 檔案系統介紹 296
15.3 檔案系統連線埠配置 297
15.4 檔案系統軟體包配置 298
15.4.1 FatFs組件配置 298
15.4.2 SDIO連線埠配置 298
15.5 項目開發 299
15.5.1 檔案掛載執行緒 299
15.5.2 檔案讀寫操作的實現 301
15.5.3 溫濕度採集執行緒實現 303
15.6 項目測試 307
第16章 物聯網雲平台 309
16.1 物聯網雲平台的概念 309
16.2 物聯網雲平台的系統架構 310
16.3 國內外主流的物聯網雲平台 311
16.4 阿里雲物聯網平台簡介 311
16.4.1 阿里雲物聯網平台架構 312
16.4.2 阿里雲物聯網平台通信 313
16.4.3 阿里雲物聯網平台的主要功能 313
16.4.4 阿里雲物聯網平台的優勢 314
16.5 阿里雲物聯網平台套用 315
16.5.1 阿里雲物聯網平台配置 315
16.5.2 MQTT.fx工具配置 317
16.5.3 設備接入雲平台測試 322
16.6 OneNET雲平台簡介 324
16.6.1 OneNET雲平台架構 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 設備接入雲平台測試 332
第17章 智慧型環境監控系統 334
17.1 項目準備 334
17.2 項目架構 334
17.3 項目實現 335
17.3.1 嵌入式部分的實現 335
17.3.2 雲平台部分的實現 368
17.4 項目測試 386
17.4.1 串口信息測試 386
17.4.2 LCD界面測試 387
17.4.3 雲平台測試 387
17.5 項目總結 388

相關詞條

熱門詞條

聯絡我們