開源鴻蒙(OpenHarmony)嵌入式開發(fā)實踐
定 價:69.8 元
- 作者:程晨編著
- 出版時間:2023/11/1
- ISBN:9787122436788
- 出 版 社:化學(xué)工業(yè)出版社
- 中圖法分類:TN929.53
- 頁碼:150
- 紙張:
- 版次:1
- 開本:24cm
本書的主要內(nèi)容是OpenHarmony南向開發(fā),即輕量系統(tǒng)的嵌入式硬件開發(fā),書中的內(nèi)容基于一個集成度較高的項目平臺——開源大師兄,利用該項目平臺中的硬件開發(fā)板,通過圖形化編程以及Python代碼編程的形式學(xué)習(xí)OpenHarmony輕量系統(tǒng)嵌入式開發(fā)相關(guān)的內(nèi)容。
本書主要圍繞OpenHarmony南向開發(fā),即輕量系統(tǒng)的嵌入式硬件開發(fā)進行介紹。書稿中的開發(fā)案例基于一個集成度較高的項目平臺——開源大師兄,相比于專業(yè)性更強的嵌入式開發(fā)的內(nèi)容,這個平臺對青少年以及硬件開發(fā)愛好者更為友好。本書在介紹開源鴻蒙系統(tǒng)及項目平臺安裝的基礎(chǔ)上,結(jié)合簡單有趣的開發(fā)案例介紹開源鴻蒙嵌入式開發(fā)相關(guān)內(nèi)容,適合青少年及硬件開發(fā)愛好者閱讀。
OpenHarmony(開源鴻蒙)是由全球開發(fā)者共建的開源分布式操作系統(tǒng)。該操作系統(tǒng)具備面向全場景、分布式等特點,是一款“全(全領(lǐng)域)·新(新一代)·開(開源)·放(開放)”的操作系統(tǒng),其創(chuàng)造了一個虛擬終端互聯(lián)的世界,將人、設(shè)備、場景有機地聯(lián)系在一起,實現(xiàn)了全場景多種智能終端的極速發(fā)現(xiàn)、極速連接、硬件互助、資源共享。
本書是一本面向中小學(xué)教育以及硬件開發(fā)初學(xué)者、愛好者的OpenHarmony南向開發(fā)的圖書,書中的內(nèi)容以實際開發(fā)實踐為主,并沒有深入OpenHarmony操作系統(tǒng)的底層。本書的主要內(nèi)容是OpenHarmony南向開發(fā),即輕量系統(tǒng)的嵌入式硬件開發(fā),書中的內(nèi)容是基于一個集成度較高的項目平臺——開源大師兄。該項目平臺包括開發(fā)板的原理圖、PCB、軟件、編程框架、測試代碼、固件、圖像編程組件等。利用該項目平臺中的硬件開發(fā)板,通過圖形化編程以及Python代碼編程的形式可以學(xué)習(xí)OpenHarmony輕量系統(tǒng)嵌入式開發(fā)相關(guān)的內(nèi)容。2022年7月,開源大師兄項目捐贈到開放原子開源基金會,成為基金會的第一個開源硬件項目,通過該平臺能讓更多人快速了解開源鴻蒙開發(fā)。
本書共8章,主要內(nèi)容如下。
第1章簡單介紹了OpenHarmony操作系統(tǒng)的基本情況。
第2章主要介紹了開源大師兄項目的基本情況。
第3章到第6章介紹控制板上板載資源的具體應(yīng)用實踐,包括OLED液晶、蜂鳴器、按鍵、語音識別、擴展引腳。
第7章引入了一個擴展板,圍繞控制板本身以及擴展板介紹了電機和舵機的控制方式,這一章為OpenHarmony輕量系統(tǒng)嵌入式中的機械控制提供技術(shù)上的支撐。
第8章介紹網(wǎng)絡(luò)應(yīng)用方向的內(nèi)容,為OpenHarmony輕量系統(tǒng)嵌入式中的網(wǎng)絡(luò)交互、全場景多種智能終端的通信提供技術(shù)上的支撐。
本書側(cè)重面向?qū)penHarmony南向開發(fā)應(yīng)用感興趣但沒有太多經(jīng)驗的初學(xué)者,因此書中內(nèi)容淺顯易懂、實操性強,通過本書更能夠激發(fā)初學(xué)者對于OpenHarmony南向開發(fā)應(yīng)用的興趣。
感謝現(xiàn)在正捧著這本書的您,感謝您肯花費時間和精力閱讀本書。由于時間有限,書中難免存在疏漏,誠懇地希望您批評指正,您的意見和建議將是我巨大的財富。
程晨
第1章 OpenHarmony操作系統(tǒng)001
1.1 OpenHarmony操作系統(tǒng)的定位002
1.1.1 萬物物聯(lián)002
1.1.2 適配多種終端形態(tài)002
1.2 技術(shù)特征003
1.2.1 可裁剪003
1.2.2 分布式軟總線003
1.2.3 分布式設(shè)備虛擬化004
1.2.4 分布式數(shù)據(jù)管理004
1.2.5 彈性部署006
1.3 技術(shù)框架006
1.3.1 內(nèi)核層006
1.3.2 系統(tǒng)服務(wù)層007
1.3.3 框架層008
1.3.4 應(yīng)用層008
第2章 開源大師兄009
2.1 開源大師兄項目010
2.1.1 項目介紹010
2.1.2 硬件開發(fā)板010
2.1.3 開發(fā)板固件框架012
2.2 安裝開發(fā)環(huán)境013
2.2.1 下載PZStudio013
2.2.2 安裝PZStudio013
2.3 使用PZStudio014
2.3.1 PZStudio軟件界面014
2.3.2 選擇角色“大師兄”015
2.3.3 連接開發(fā)板并燒錄固件018
第3章 顯示屏顯示021
3.1 OLED顯示屏022
3.1.1 device庫與OLED顯示屏022
3.1.2 查看文本代碼026
3.1.3 OLED類026
3.2 示例:冒泡泡031
3.2.1 功能描述031
3.2.2 功能實現(xiàn)032
3.2.3 文本代碼分析034
3.3 示例:制作水平儀035
3.3.1 顯示加速度計的數(shù)值035
3.3.2 IMU類037
3.3.3 示例:制作水平儀038
3.3.4 文本代碼分析039
3.4 示例:制作計時器040
3.4.1 功能描述040
3.4.2 功能實現(xiàn)041
3.4.3 文本代碼分析043
3.5 顯示自定義圖片046
3.5.1 處理圖片046
3.5.2 顯示圖片048
3.5.3 顯示動畫048
第4章 蜂鳴器發(fā)聲051
4.1 聲音與音階052
4.1.1 什么是聲音052
4.1.2 蜂鳴器發(fā)聲052
4.2 播放音樂054
4.2.1 音階054
4.2.2 宮、商、角、徵、羽055
4.2.3 音符格式056
4.2.4 播放音符列表 057
4.3 示例:制作音樂盒060
4.3.1 功能描述060
4.3.2 MusicEncode060
4.3.3 制作音樂盒064
4.3.4 文本代碼分析065
第5章 板載按鍵及語音識別069
5.1 音樂二選一070
5.1.1 獲取按鍵的狀態(tài)070
5.1.2 BUTTON類072
5.1.3 選擇音樂073
5.1.4 文本代碼分析075
5.2 函數(shù)077
5.2.1 自制積木077
5.2.2 自定義函數(shù)082
5.3 示例:對準(zhǔn)靶心083
5.3.1 功能描述083
5.3.2 功能整體框架084
5.3.3 各個函數(shù)的實現(xiàn)085
5.3.4 文本代碼分析087
5.4 語音識別芯片——云知聲089
5.4.1 云知聲090
5.4.2 獲取云知聲數(shù)據(jù)090
5.4.3 US516P6類093
第6章 引腳控制095
6.1 引腳說明096
6.1.1 大師兄板的金手指引腳定義096
6.1.2 悟空擴展板097
6.2 引腳基本操作098
6.2.1 數(shù)字量的輸入098
6.2.2 Pin類099
6.2.3 數(shù)字量的輸出103
6.2.4 PWM輸出104
6.3 移動的圖標(biāo)106
6.3.1 模擬量106
6.3.2 模擬量輸入107
6.3.3 移動圖片顯示位置108
第7章 電機與舵機控制109
7.1 直流電機110
7.1.1 直流電機的工作原理110
7.1.2 直流電機的控制112
7.1.3 電機驅(qū)動芯片113
7.2 舵機115
7.2.1 舵機的工作原理115
7.2.2 舵機的控制方式116
7.2.3 舵機的選擇117
7.2.4 舵機的控制117
7.2.5 示例:通過旋鈕調(diào)整舵機角度121
7.3 悟空擴展板上擴展的電機和舵機接口123
7.3.1 I2C接口123
7.3.2 I2C接口的應(yīng)用124
7.3.3 擴展電機接口126
7.3.4 擴展舵機接口127
第8章 網(wǎng)絡(luò)應(yīng)用129
8.1 WiFi介紹130
8.1.1 無線通信130
8.1.2 無線網(wǎng)絡(luò)130
8.1.3 WiFi131
8.2 連接網(wǎng)絡(luò)131
8.2.1 連接WiFi131
8.2.2 network對象133
8.3 網(wǎng)絡(luò)通信134
8.3.1 TCP/IP協(xié)議134
8.3.2 套接字135
8.3.3 網(wǎng)絡(luò)通信流程135
8.4 以網(wǎng)頁形式反饋139
8.4.1 網(wǎng)站網(wǎng)頁139
8.4.2 HTML140
8.4.3 網(wǎng)頁制作141
8.4.4 在服務(wù)器上運行網(wǎng)頁145
8.4.5 網(wǎng)頁中顯示溫度146