LiteOS輕量級物聯網操作系統實戰(微課視頻版)
定 價:¥89
中 教 價:¥52.51 (5.90折)促銷
庫 存 數: 17
叢 書 名:計算機技術開發與應用叢書
本書借鑒PBL式教學模式,以案例Demo為主線,將基礎知識、核心技能打造成小型案例,通過案例來學習LiteOS。LiteOS可以在Windows、Linux、macOS等平臺進行開發,內核基礎主要包含任務、中斷、IPC通信等。在深層次的知識中,可以進行LiteOS組件開發、系統移植。最后在綜合項目中穿插用到了基礎內核及LiteOS支持的物聯網協議開發、物聯網平臺使用,能夠讓讀者快速進行大型項目開發。 本書共13章,分別為快速入門篇(第1章和2章)、內核基礎篇(第3~6章)、內核進階篇(第7~9章)、綜合項目實戰篇(第10~13章)。快速入門篇主要講述LiteOS基本架構、基于VS Code的開發環境搭建。內核基礎篇從任務、中斷、IPC通信、時間管理等知識帶讀者詳細了解LiteOS的內核工作方法。進階篇講解Sensor和GUI兩個擴展組件,最后進行LiteOS系統的移植。綜合項目篇搭建了一個基于華為IoT平臺的智能家居項目,從項目角度鞏固基礎知識,掌握LiteOS系統支持的MQTT、CoAP等常用物聯網協議。 書中通過對LiteOS系統進行拆分,力圖實現知識的**解耦,既適合初學者進行快速入門,也適合有經驗的開發者當工具書。使用本書進行LiteOS學習時,無論有無開發經驗都可以按照自己的需求進行跳躍學習。在某些章節后有一些實用Tips,幫助開發者更好地進行項目的開發。
本書是一本基礎入門加實戰的書籍,既有基礎知識,又有豐富示例,同時還加入了Qemu、Makefile、Kconfig等嵌入式開發常用工具。本書即可作為入門的學習資料,也可作為項目過程中的工具書籍。書中每個知識點都配有案例,每個案例都提供完成的代碼。
自2017年AIoT這個詞被不斷地提及,物聯網已經跨越到一個新的時代,智能成為物聯網的核心需求。面對種類繁多、接口復雜的終端設備,物聯網操作系統成為AIoT的基礎核心。目前市場流行的物聯網操作系統有很多種,例如2000年年初開始誕生的FreeRTOS、C/OS、RTThread,而這幾個更側重的是操作系統,并非聯網。2015年發布的LiteOS、2017年發布的AliOS則在操作系統的基礎上增加了端云互通功能,實現了真正的物聯。華為在物聯網領域有得天獨厚的優勢,它的核心競爭力在底層硬件,因此可以快速形成一個閉環生態。由于鴻蒙操作系統的內核也是LiteOS,因此鴻蒙發布之后,LiteOS的生態市場更加寬廣。學習一門新技術最好的方式就是通過官網的資料進行學習,盡管華為的技術實力雄厚,然而在文檔這一塊有些不足。筆者長期致力于物聯網項目研發及教學培訓,本書將以PBL項目式教學模式帶領讀者深入了解LiteOS,期待讀者可通過本書深入學習LiteOS,同時也為后期學習鴻蒙操作系統打下基礎。本書主要內容第1章介紹LiteOS基本架構及支持的平臺,搭建LiteOS開發環境,包括Windows、Ubuntu、macOS 3種系統下的LiteOS開發工具。第2章簡單介紹Qemu模擬器,包括Windows、Ubuntu、macOS下的Qemu模擬開發環境搭建。第3章介紹LiteOS基礎功能組件,包括任務、中斷、內存、錯誤和異常處理,同時還介紹Makefile開發工具。第4章介紹LiteOS的IPC機制,包括信號量、互斥鎖、隊列、事件。第5章介紹LiteOS其他基礎組件,包括時間模塊、原子操作、鏈表等,最后介紹Git版本控制工具。第6章介紹LiteOS支持的兩種標準接口,包括POSIX接口和CMSIS接口。第7章介紹LiteOS傳感器框架,結合Kconfig工具實現傳感框架移植。第8章介紹LiteOS的GUI框架,包括LVGL基礎語法、模擬器的使用及移植方法。第9章介紹LiteOS移植方法,通過案例詳細講解如何移植LiteOS及適配Kconfig菜單。第10章介紹華為云平臺的使用,包括創建產品、定義插件、在線調試等。第11章介紹CoAP協議,包括CoAP報文結構和LiteOS網絡接口,通過內置案例詳細解析CoAP如何實現上報數據和接收命令。第12章介紹MQTT協議報文結構,以及如何在華為云平臺創建和調試MQTT產品。同時解析LiteOS內置MQTT案例,最后介紹如何移植原生態MQTT協議。第13章介紹基于微信小程序的應用開發,以及華為云平臺的應用側HTTPS接口、調試手段。最后通過微信小程序的WebSocket和華為云的IAM賬戶實現物聯網應用App。閱讀建議本書是一本基礎入門加實戰的書籍,既有基礎知識,又有豐富示例,同時還加入了Qemu、Makefile、Kconfig等常用嵌入式開發工具。本書既可作為入門的學習資料,也可作為項目開發過程中的工具書。書中每個知識點都配有案例,每個案例都提供完整的代碼,讀者獲得源碼之后通過make menuconfig使能相應的案例,即可看到案例效果。與LiteOS相關的代碼可在STM32L431開發板運行,Makefile、Kconfig、LVGL等工具案例運行在PC端。建議讀者在一開始先把快速入門篇通讀一遍,搭建好開發環境。本書最大程度地實現知識解耦,有一定基礎的讀者可根據實際情況跳躍式閱讀。如果沒有開發板,則可按照第2章搭建Qemu模擬環境。如果讀者需要使用其他開發板,則應先行閱讀第9章系統移植。內核入門篇是LiteOS內核入門知識,這一部分內容在操作系統領域具有通用性,如果讀者接觸過其他操作系統,則這一部分可快速閱讀。此外,部分章節最后還引入了Makefile、Git等工具,掌握此類工具可幫助開發者快速進入物聯網開發環節。內核進階篇屬于LiteOS內核進階內容,掌握GUI和傳感框架才能搭建起大型的物聯網項目。對于系統移植,讀者可先行閱讀此部分內容,以此搭建自己的開發環境。綜合項目實戰篇屬于實戰案例部分,此部分內容基于CoAP和MQTT協議在華為云平臺搭建了智能家居項目。CoAP案例和MQTT案例是相互獨立的,同時讀者也可選擇其他云平臺實現案例。由于案例中使用了網絡模塊和GUI模塊,所以讀者必須使用真實開發板才可運行所有代碼。資源下載提示素材(源碼)等資源: 掃描目錄上方的二維碼下載。視頻等資源: 掃描封底的文泉云盤防盜碼,再掃描書中相應章節的二維碼,可以在線學習。致謝感謝家人對我工作的支持及業內好友給予的一些珍貴建議,使我可以順利地完成寫作工作。由于時間倉促,書中難免存在不妥之處,請讀者見諒,并提出寶貴意見。魏杰2023年8月1日
魏杰,一個在IT界摸爬滾打十多年的程序員,ChinaUNIX專家博主,曾在華清遠見、慧科教育、麥子學院等知名企業擔任資深講師。曾參與2022冬奧會智能造雪機項目、工信部智能芯片人才方案設計,并參與了多個智慧農場、智能醫療項目,為大連理工大學、常州大學、湖南師范大學等高校設計并實施人才培養方案,為多所高校教師進行華為HCIA-IoT師資培訓。精通多種軟硬件技術,專注物聯網領域項目開發及人才培養。
快速入門篇
第1章LiteOS快速入門(105min)
1.1LiteOS全貌
1.1.1LiteOS簡介
1.1.2應用生態
1.2代碼倉庫
1.3LiteOS開發工具鏈
1.3.1代碼編輯器
1.3.2交叉編譯工具
1.3.3下載調試工具
1.4Windows系統下的VS Code開發環境
1.4.1關于VS Code
1.4.2IoT Link插件
1.4.3安裝Python輔助工具
1.4.4實戰案例: Hello World
1.5基于Ubuntu VS Code的開發環境
1.5.1安裝VS Code
1.5.2ARM交叉編譯器
1.5.3STLink下載調試器
1.5.4JLink下載調試器
1.5.5串口驅動
1.5.6實戰案例: Hello World
1.6基于macOS VS Code的開發環境
1.6.1ARM交叉編譯器
1.6.2下載和調試工具
1.6.3安裝Kconfig
1.6.4修改工程配置文件
1.6.5實戰案例: 測試Hello World
1.7本章小結
第2章Qemu模擬開發(19min)
2.1Qemu概述
2.2安裝Qemu
2.2.1Windows系統下的Qemu安裝
2.2.2Ubuntu下的Qemu安裝
2.2.3macOS下的Qemu安裝
2.3實戰案例: ARM下的Hello World
2.4淺嘗VS Code利器
2.4.1簡單的配置
2.4.2快捷按鈕
2.5本章小結
內核入門篇
第3章內核基礎(199min)
3.1LiteOS內核架構
3.1.1基礎內核
3.1.2代碼結構
3.1.3內核啟動流程
3.2任務
3.2.1任務的概念
3.2.2創建和刪除任務
3.2.3任務調度
3.2.4實戰案例: 簡單任務控制
3.3中斷
3.3.1LiteOS的中斷機制
3.3.2創建中斷
3.3.3中斷控制
3.3.4實戰案例: 獨立中斷
3.3.5實戰案例: 共享中斷
3.4內存
3.4.1靜態內存
3.4.2動態內存
3.5錯誤碼和異常處理
3.5.1錯誤碼
3.5.2異常處理
3.6認識Makefile
3.6.1基礎語法
3.6.2高級語法
3.6.3實戰案例: 簡單計算器
3.7本章小結
第4章IPC機制(184min)
4.1信號量
4.1.1信號量概念
4.1.2信號量運行機制
4.1.3信號量API
4.1.4實戰案例: 消費者和生產者
4.2互斥鎖
4.2.1互斥鎖概念
4.2.2互斥鎖運行機制
4.2.3互斥鎖API
4.2.4實戰案例: 生產者和消費者
4.3隊列
4.3.1隊列運行機制
4.3.2隊列API
4.3.3實戰案例: 通信案例
4.4事件
4.4.1事件運行機制
4.4.2事件API
4.4.3實戰案例: 智能窗簾
4.5本章小結
第5章其他組件(69min)
5.1時間模塊
5.1.1時間轉換
5.1.2軟件定時器
5.2原子操作和位操作
5.2.1計算機中的原子
5.2.2位操作
5.3雙向循環鏈表
5.3.1工作原理
5.3.2實戰案例: 學生管理系統
5.4程序員利器Git
5.4.1Git工具
5.4.2代碼管理
5.5本章小結
第6章標準接口(13min)
6.1POSIX接口
6.1.1POSIX概述
6.1.2實戰案例: POSIX任務接口
6.2CMSIS接口
6.2.1CMSIS概述
6.2.2實戰案例: CMSIS任務接口
6.3本章小結
內核進階篇
第7章傳感器框架(86min)
7.1傳感器框架結構
7.1.1框架概述
7.1.2運行原理
7.1.3開發流程
7.2實戰案例: 基于DHT11的溫濕度采集
7.2.1板級驅動
7.2.2基于框架的傳感器管理
7.3圖形配置工具Kconfig
7.3.1Kconfig簡介
7.3.2基礎語法
7.3.3實戰案例: 使用Kconfig配置項目
7.4本章小結
第8章GUI框架(67min)
8.1LVGL簡介
8.2LVGL運行原理
8.2.1源碼結構
8.2.2配置文件
8.2.3顯示接口
8.2.4輸入接口
8.2.5LVGL滴答
8.2.6LVGL定時任務
8.2.7日志
8.2.8開發步驟
8.3實戰案例: 移植LVGL
8.4LVGL模擬器
8.4.1模擬器簡介
8.4.2基于VS Code SDL的模擬器
8.5本章小結
第9章LiteOS移植實戰(52min)
9.1移植概述
9.2準備工作
9.2.1開發環境
9.2.2裸機工程
9.3移植適配
9.3.1板級驅動適配
9.3.2鏈接適配
9.3.3添加目標板配置
9.3.4測試案例
9.4模塊化編程
9.4.1基本原理
9.4.2實戰案例: 自定義demo模塊
9.5實戰案例: 智能家居終端
9.5.1項目概述
9.5.2傳感數據
9.5.3用戶界面
9.5.4運行結果
9.6本章小結
綜合項目實戰篇
第10章IoT云平臺(38min)
10.1華為IoT云平臺
10.1.1華為IoT云概述
10.1.2設備接入服務
10.2華為IoTDA快速入門
10.2.1創建實例
10.2.2創建產品
10.2.3產品模型
10.2.4定義插件
10.2.5在線調試
10.2.6添加真實設備
10.3實戰案例: 基于CoAP的華為IoT云端
10.3.1產品
10.3.2編解碼插件
10.3.3在線調試
10.4本章小結
第11章CoAP設備端開發(145min)
11.1CoAP協議
11.1.1CoAP協議概述
11.1.2報文結構
11.1.3報文選項
11.1.4實戰案例: WireShark抓包
11.2LiteOS之網絡模塊
11.2.1AT框架
11.2.2SAL組件
11.3實戰案例: LiteOS之CoAP組件
11.3.1配置LwM2M Demo
11.3.2連接測試
11.4實戰案例: CoAP數據傳輸
11.4.1上報數據
11.4.2命令控制
11.5本章小結
第12章MQTT設備端開發(172min)
12.1MQTT協議
12.1.1MQTT概述
12.1.2MQTT報文結構
12.1.3MQTT通配符
12.2MQTT報文詳解
12.2.1CONNECT報文
12.2.2CONNACK報文
12.2.3PUBLISH報文
12.2.4其他報文
12.3實戰案例: 華為云MQTT產品
12.3.1MQTT產品
12.3.2MQTT調試
12.4實戰案例: LiteOS之MQTT組件
12.4.1配置MQTT Demo
12.4.2上報數據
12.4.3接收命令
12.5實戰案例: 移植MQTT協議棧
12.5.1Paho MQTT
12.5.2移植Paho MQTT
12.6本章小結
第13章體驗應用開發(57min)
13.1微信小程序概述
13.1.1獲取賬號信息
13.1.2開發工具
13.1.3實戰案例: Hello World
13.2微信小程序入門
13.2.1目錄結構
13.2.2小程序框架
13.2.3實戰案例: 智能家居App
13.3華為IoT云應用接口
13.3.1IAM服務
13.3.2查詢設備屬性
13.3.3同步命令下發
13.4實戰案例: 小程序與設備交互
13.4.1小程序HTTPS接口
13.4.2獲取Token
13.4.3查詢屬性
13.4.4命令下發
13.5本章小結
參考文獻