華為LiteOS:快速上手物聯網應用開發
內容描述
本書基於華為 LiteOS 編寫,循序漸進地帶領讀者利用華為 LiteOS 快速開發自己的物聯網產品,內容講解上逐步遞進。首先講解物聯網的典型案例、物聯網的技術架構、產品開發流程,以及華為公司全套物聯網解決方案的主要產品。然後深入淺出地講述操作系統的原理,以及物聯網操作系統的發展歷程、特徵特點。隨後開始聚焦華為 LiteOS 的軟件框架進行講解,分別細致解讀了 LiteOS 的內核源代碼和外圍組件源代碼。最後在介紹本書所使用的硬件平臺和移植技術的基礎上, 以溫濕度傳感器的實戰案例講解了基於 LiteOS 和華為雲 IoT 的物聯網解決方案的開發過程,並在本書最後一章介紹了 LiteOS 的後續發展方向。
目錄大綱
第 1 章 快速理解什麼是物聯網
1.1 物聯網的概念和發展歷程
1.1.1 認識物聯網
1.1.2 物聯網的發展歷程
1.2 物聯網的典型案例
1.2.1 共享單車
1.2.2 斷電監測報警器
1.2.3 智慧城市停車系統
1.3 物聯網的分支應用領域
1.3.1 智慧城市
1.3.2 智能家居
1.3.3 智慧醫療
1.3.4 智慧物流
1.3.5 智慧農業
1.3.6 智能製造與產業互聯網
1.3.7 智慧零售
1.4 總結:究竟該如何理解物聯網
第 2 章 從技術實現看物聯網
2.1 物聯網的“雲-管-端”架構
2.1.1 “雲”
2.1.2 “管”
2.1.3 “端”
2.2 物聯網的典型4層架構
2.3 物聯網各層次涉及的核心技術
2.3.1 感知層
2.3.2 網絡層
2.3.3 平台層
2.3.4 應用層
第 3 章 華為物聯網解決方案一覽
3.1 華為雲IoT
3.1.1 華為雲IoT服務框架
3.1.2 華為雲IoT功能架構
3.2 華為物聯網操作系統LiteOS
3.2.1 LiteOS發展歷程
3.2.2 LiteOS內核特點
3.2.3 LiteOS應用場景
3.3 IoT Studio和IoT_LINK SDK
3.3.1 IoT Studio介紹
3.3.2 iotlink SDK介紹
3.3.3 IoT Studio和iotlink SDK發展方向
3.4 華為物聯網認證
3.4.1 華為認證簡介
3.4.2 華為物聯網認證
3.5 NB-IoT芯片
3.5.1 什麼是NB-IoT
3.5.2 NB-IoT特點
3.5.3 NB-IoT的應用
3.5.4 NB-IoT發展現狀
3.5.5 華為NB-IoT芯片
第 4 章 什麼是操作系統
4.1 從公司發展的案例說起
4.2 為什麼要用操作系統
4.2.1 從裸機到操作系統發展的必然路線
4.2.2 操作系統的優勢
4.3 操作系統的組件
4.3.1 操作系統的核心組件
4.3.2 操作系統的外圍組件
4.4 總結:究竟什麼是操作系統
第 5 章 什麼是物聯網操作系統
5.1 傳統兩大類操作系統
5.1.1 RTOS
5.1.2 桌面級和服務器級操作系統
5.2 從RTOS到IoTOS
5.2.1 IoTOS在技術上屬於RTOS
5.2.2 IoTOS的本質特徵
5.3 市場主流IoTOS介紹
5.4 華為LiteOS的競爭優勢
第 6 章 LiteOS 軟件框架詳解
6.1 LiteOS官方資源獲取
6.2 LiteOS的版權說明
6.3 LiteOS的演進歷程
6.4 LiteOS的兩種開發方式
6.5 IoT Studio開發方式介紹
6.5.1 安裝VS Code和IoT Studio插件
6.5.2 VS Code常用技巧中文配置
6.5.3 IoT Studio與iotlink的區別
6.5.4 “.vscode”與“.iotlink”
6.5.5 SDK文件夾
6.6 iotlink SDK框架介紹
6.6.1 IoT Studio圖形化管理和編譯項目
6.6.2 SDK的組成部分
6.7 iotlink SDK主體介紹
6.8 IoT Studio的使用
6.8.1 基本使用
6.8.2 IoT Studio配置
6.8.3 工程的SDK配置原理詳解
6.8.4 IoT Studio小結
6.9 targets中BSP結構
6.9.1 GCC目錄
6.9.2 其他目錄
第 7 章 LiteOS 內核源代碼精讀
7.1 建立源代碼分析工程
7.1.1 用模板創建一個工程
7.1.2 添加LiteOS內核源代碼
7.1.3 添加OS的OSAL部分
7.1.4 添加HAL庫
7.2 OSAL部分源代碼
7.2.1 OSAL相關的結構體tag_os和tag_os_ops分析
7.2.2 OSAL在LiteOS中的實現liteos_imp. c分析
7.2.3 LiteOS的OSAL API
7.3 LiteOS內核學習方法
7.4 任務管理模塊
7.4.1 任務狀態和任務切換
7.4.2 任務管理相關術語
7.4.3 任務控制塊TCB
7.5 任務管理相關源代碼
7.5.1 任務創建與刪除
7.5.2 任務狀態控制
7.5.3 任務調度的控制
7.5.4 任務優先級的控制
7.5.5 任務信息獲取
7.5.6 任務錯誤碼
7.6 系統時間systick
7.6.1 三個時間單位
7.6.2 操作系統的systick運行原理
7.7 軟件定時器
7.8 tickless機制
7.8.1 LiteOS中的tickless實現鏈條
7.8.2 LiteOS中的tickless實現鏈條
7.9 CMSIS-RTOS對接與實現
7.10 MCU移植對接相關部分
7.11 IPC和內存管理模塊
7.11.1 IPC
7.11.2 內存管理
7.12 本章小結
第 8 章 LiteOS SDK 外圍組件源代碼精讀
8.1 LiteOS外圍組件
8.1.1 簡單組件
8.1.2 關聯組件
8.1.3 OTA組件
8.1.4 聯網連雲組件
8.1.5 內核
8.2 iotlink的shell組件介紹
8.2.1 什麼是shell
8.2.2 分析iotlink的shell組件
8.2.3 shell源代碼分析
8.2.4 shell效果演示
8.3 iotlink的driver框架解析
8.3.1 driver框架
8.3.2 串口添加驅動詳解
8.4 iotlink的at框架
8.4.1 AT指令簡介
8.4.2 LiteOS的at框架使用方法
8.4.3 LiteOS的at框架源代碼解析
8.5 iotlink的華為雲OC對接模塊解析
8.5.1 華為雲OC介紹
8.5.2 IoT設備如何對接華為雲OC
8.5.3 分析oc_lwm2m_al文件夾
8.5.4 bodica150_oc分析
8.5.5 協議棧對接華為雲OC流程總結
8.5.6 設備與華為雲OC對接流程
第 9 章 硬件平台介紹
9.1 硬件平台
9.2 NB476開發板簡介
第 10 章 LiteOS 在 NB476 開發板上的移植
10.1 移植分析
10.2 移植方式
10.3 移植過程
10.4 STM32CubeMX中配置並生成原始工程
10.5 調整工程
10.6 修改Makefile文件和鏈接腳本
10.7 調試和排錯
10.8 下載運行並修改輸出語句
第 11 章 基於 LiteOS 的溫濕度項目實戰
11.1 準備工作
11.2 項目源代碼解析
11.3 華為雲IoT開發實踐
11.3.1 雲平台開發與在線調試
11.3.2 NB-IoT設備+USB轉TTL直連計算機測試
11.3.3 BC28+開發板+LiteOS測試
11.4 項目說明
第 12 章 LiteOS 未來的發展方向
12.1 越來越豐富的支持
12.2 革新的開發模式
12.3 物聯網全棧式開發
作者介紹
朱有鵬
朱老師物聯網大講堂創始人,國內物聯網教育先行者。
華為雲 MVP、華為云云享專家、物聯網端側開發專家、首批 HarmonyOS系統課程開發者、51CTO學院講師、CSDN 技術專家。
企業培訓師,服務過中國聯通、上汽大眾、航空工業光電所、瀋陽海關等數十家企事業單位。
樊心昊
深創客軟件工程師,華為云云享專家,華為雲 IoT 物聯網論壇版主,擅長嵌入式軟硬件技術及各類物聯網操作系統相關技術。
左新戈
電子信息專業本科在讀,華為認證物聯網工程師,曾獲國家獎學金、第十五屆“博
創杯”全國大學生嵌入式設計大賽(華東賽區)一等獎。
塗小平
從事過嵌入式 Linux 軟件開發,目前從事C++ 服務器開發,樂於技術分享和交流。