HarmonyOS IoT設備開發實戰( 簡體 字) | |
作者:江蘇潤和軟件股份有限公司 | 類別:1. -> 程式設計 -> 物聯網 |
出版社:電子工業出版社 | 3dWoo書號: 54615 詢問書籍請說出此書號! 有庫存 NT售價: 395 元 |
出版日:6/1/2021 | |
頁數:244 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787121411755 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
環境準備篇
第1章 搭建HarmonyOS開發環境 3 1.1 海思Hi3861芯片簡介 4 1.2 Wi-Fi IoT開發套件簡介 5 1.2.1 核心板簡介 6 1.2.2 底板簡介 7 1.2.3 交通燈板簡介 8 1.2.4 炫彩燈板簡介 9 1.2.5 環境檢測板簡介 10 1.2.6 OLED顯示屏板簡介 11 1.2.7 NFC擴展板簡介 11 1.3 準備HarmonyOS開發環境 12 1.3.1 開發環境簡介 12 1.3.2 硬件準備 13 1.3.3 軟件準備 14 1.4 搭建HarmonyOS編譯環境 15 1.4.1 安裝編譯環境依賴的軟件包 15 1.4.2 下載編譯和構建工具 16 1.4.3 安裝編譯和構建工具 16 1.4.4 安裝Samba服務 17 1.5 下載和編譯HarmonyOS源代碼 18 1.5.1 獲取HarmonyOS源代碼 19 1.5.2 HarmonyOS 源代碼目錄簡介 19 1.5.3 編譯HarmonyOS源代碼 20 1.6 使用HUAWEI DevEco Device Tool 21 1.6.1 下載HUAWEI DevEco Device Tool及其依賴的軟件 21 1.6.2 安裝HUAWEI DevEco Device Tool 23 1.6.3 映射Samba服務的共享目錄到本地磁盤 26 1.6.4 用HUAWEI DevEco Device Tool導入項目 28 1.7 使用串口調試工具 30 1.7.1 下載CH340芯片相關軟件 31 1.7.2 安裝CH340芯片的驅動 31 1.7.3 串口調試工具簡介 32 1.7.4 用串口調試工具查看串口日志 33 外設控制篇 第2章 37 用HarmonyOS控制I/O設備 37 2.1 從編寫Hello World開始 37 2.1.1 編寫Hello World程序源代碼 37 2.1.2 將源代碼編譯成二進制文件 38 2.1.3 將二進制文件燒錄到開發板 38 2.1.4 通過“串口”查看程序的運行結果 43 2.2 使用GPIO模塊輸出高/低電平 44 2.2.1 GPIO簡介 44 2.2.2 HarmonyOS IoT硬件子系統的GPIO模塊與輸出相關的API 44 2.2.3 核心板可編程LED燈部分的原理圖說明 45 2.2.4 通過GPIO模塊控制LED燈亮和滅 46 2.3 使用GPIO模塊實現按鍵輸入 48 2.3.1 HarmonyOS IoT硬件子系統的GPIO模塊與輸入相關的API 49 2.3.2 核心板USER按鍵部分的原理圖說明 50 2.3.3 通過查詢GPIO狀態控制LED燈 50 2.3.4 通過注冊GPIO中斷控制LED燈 53 2.4 使用PWM模塊輸出方波 55 2.4.1 PWM簡介 55 2.4.2 HarmonyOS IoT硬件子系統的PWM模塊的相關API 56 2.4.3 交通燈板的蜂鳴器部分的相關原理圖說明 57 2.4.4 通過輸出PWM方波控制蜂鳴器發聲 58 2.4.5 通過PWM模塊在蜂鳴器上播放音樂 60 2.4.6 通過PWM模塊控制蜂鳴器的音量和LED燈的亮度 62 第3章 使用HarmonyOS感知環境狀態 63 3.1 使用ADC獲取模擬傳感器的狀態 63 3.1.1 HarmonyOS IoT硬件的ADC通道 63 3.1.2 Wi-Fi IoT開發套件的炫彩燈板原理圖說明 65 3.1.3 通過光敏電阻感知環境光 67 3.1.4 通過人體紅外傳感器感知人員靠近 69 3.1.5 傳感器狀態控制三色LED燈的顏色 69 3.1.6 使用ADC值區分同一個引腳上的不同按鍵 71 3.2 其他ADC傳感器的使用 76 3.2.1 與環境檢測板MQ-2相關的原理圖說明 76 3.2.2 MQ-2可燃氣體傳感器簡介 78 3.2.3 讀取MQ-2可燃氣體傳感器的ADC值 78 3.3 使用I2C接口獲取數字溫濕度傳感器的狀態 79 3.3.1 HarmonyOS IoT硬件的I2C接口 79 3.3.2 AHT20數字溫濕度傳感器簡介 82 3.3.3 環境檢測板上與AHT20數字溫濕度傳感器相關的原理圖說明 83 3.3.4 實現AHT20數字溫濕度傳感器驅動庫 84 3.3.5 獲取AHT20數字溫濕度傳感器的值 87 第4章 OLED顯示屏的驅動和控制 93 4.1 使用HarmonyOS驅動OLED顯示屏 93 4.1.1 OLED簡介 93 4.1.2 OLED顯示屏的原理圖 94 4.1.3 OLED的初始化 96 4.1.4 在OLED顯示屏上繪制畫面 98 4.1.5 在OLED顯示屏上繪制ASCII字符串 101 4.2 在OLED顯示屏上顯示中文 106 4.2.1 中文字符編碼和中文字體 106 4.2.2 實現中文字體繪制 107 傳輸協議篇 第5章 使用HarmonyOS控制Wi-Fi 115 5.1 Wi-Fi背景知識簡介 115 5.1.1 Wi-Fi簡介 115 5.1.2 Wi-Fi工作模式簡介 118 5.2 HarmonyOS IoT硬件的Wi-Fi STA模式編程 119 5.2.1 掃描其他Wi-Fi接入點 119 5.2.2 連接到某個Wi-Fi接入點 121 5.3 HarmonyOS IoT硬件的Wi-Fi AP模式編程 121 5.3.1 創建Wi-Fi熱點 121 5.3.2 提供DHCP服務 125 5.4 HarmonyOS IoT硬件 Wi-Fi通用函數 129 第6章 HarmonyOS網絡編程 134 6.1 TCP/IP簡介 134 6.2 LwIP開源項目簡介 141 6.3 TCP編程 148 6.3.1 TCP客戶端程序 148 6.3.2 TCP服務端程序 151 6.4 UDP編程 155 6.4.1 UDP客戶端程序 155 6.4.2 UDP服務端程序 157 物聯網應用篇 第7章 HarmonyOS IoT設備內核的編程接口 163 7.1 CMSIS-RTOS API V2簡介及HarmonyOS 適配情況 163 7.2 線程 164 7.3 等待 170 7.4 軟定時器 172 7.5 互斥鎖 176 7.6 信號量 179 7.7 消息隊列 183 第8章 MQTT協議簡介 189 8.1 什么是MQTT協議 189 8.2 應用場景 190 8.3 MQTT 協議的特性 190 8.4 MQTT協議的訂閱與發布模型介紹 191 8.4.1 基于MQTT協議的消息傳遞 191 8.4.2 報文類型說明 191 8.4.3 在基本消息的訂閱與發布流程中常用的報文介紹 192 8.4.4 基于MQTT協議的消息發布與訂閱的三種方式 194 8.5 Paho-MQTT簡介 196 8.6 Paho-MQTT的消息傳輸測試 198 8.6.1 下載代碼并進行編譯與燒錄 198 8.6.2 輸入測試命令 199 8.6.3 服務端應用Mosquitto的使用 199 8.7 使用MQTT方式連接華為云 201 附錄 209 附錄A VirtualBox的安裝和使用 209 附錄B 在VirtualBox中安裝Ubuntu 20.04系統 214 附錄C 使用SSH客戶端登錄服務器 229 附錄D 使用開源鏡像站加速安裝apt軟件包和pip軟件包 232 附錄E Hi3861引腳功能復用表 233 本書主要介紹如何使用HarmonyOS 開發物聯網設備端軟件,具體包括外設控制、網絡編程、物聯網平臺接入等。本書的示例程序均在HiSpark Wi-Fi IoT 開發套件上進行測試和演示,部分章節內容也適用于其他支持HarmonyOS 的物聯網設備。 本書共8 章,分為4 篇,即環境準備篇、外設控制篇、傳輸協議篇、物聯網應用篇。環境準備篇包含第1 章,主要內容為如何搭建HarmonyOS 開發環境。外設控制篇包含第2 章~第4 章,主要內容為如何使用HarmonyOS 控制外設。傳輸協議篇包含第5 章和第6 章,主要內容為如何使用HarmonyOS 控制Wi-Fi,以及如何使用HarmonyOS 進行網絡編程。物聯網應用篇包含第7 章和第8 章。通過學習第7 章,讀者能夠對內核對象有比較深刻的理解。第8 章的主要內容包括如何集成MQTT 客戶端SDK,以及如何開發一個物聯網應用。
為什么要寫這本書
本書的書名為《HarmonyOS IoT 設備開發實戰》,包含了兩個重要名詞—IoT(物聯網)和HarmonyOS。物聯網,顧名思義,就是物物相連的互聯網。這里包含兩層意思:第一,物聯網的核心和基礎仍然是互聯網,物聯網是在互聯網基礎上延伸和擴展的網絡;第二,其客戶端延伸和擴展到了物品與物品之間,進行信息交換和通信,也就是物物相關。 1999年在中國誕生的傳感網,作為物聯網的雛形,距今已有22年。在這22年里,中國的物聯網獲得了長足的發展,尤其是近幾年,隨著《物聯網“十二五”發展規劃》等提出,物聯網已經成為國家層面的技術及產業創新的重點方向。 據統計,2020年全球物聯網連接數量達到126億個,人均持有智能設備達到6.58個。預計到2025年,全球物聯網連接數量達到251億個,人均持有的智能設備達到9.27個。在萬物互聯的全場景智慧時代,如何管理好如此海量的連接?HarmonyOS應運而生。 HarmonyOS是一款面向未來、面向全場景(移動辦公、運動健康、社交通信、媒體娛樂等)的分布式操作系統。在傳統的單設備系統能力的基礎上,HarmonyOS提出了基于同一套系統能力、適配多種終端形態的分布式理念,能夠支持多種終端設備。 對于消費者而言,HarmonyOS能夠將生活場景中的各類終端進行能力整合,可以實現不同的終端設備之間快速連接、能力互助、資源共享,匹配合適的設備,提供流暢的全場景體驗。對于應用開發者而言,HarmonyOS采用了多種分布式技術,使得應用程序的開發實現與不同終端設備的形態差異無關,這能夠讓開發者聚焦上層業務邏輯,更加便捷、高效地開發應用。對于設備開發者而言,HarmonyOS采用了組件化的設計方案,可以根據設備的資源能力和業務特征進行靈活裁剪,滿足不同形態的終端設備對操作系統的要求。 今天,物聯網和HarmonyOS的結合,向全球的終端用戶和開發者展現出了蓬勃生機和活力,我們期待更多的讀者學習物聯網技術,投身到物聯網產業和HarmonyOS生態中來,與HarmonyOS一起不斷前進和成長,共建開放、共贏的生態大廈。 本書特色 本書是第一本系統介紹HarmonyOS南向設備開發的書籍,可以讓開發者學習HarmonyOS,學習物聯網設備開發,為打造優質物聯網應用奠定基礎。 本書的案例基于上海海思技術有限公司領先的智慧IoT芯片實現。海思是全球領先的Fabless半導體與器件設計公司,致力于為千行百業客戶提供智能家庭、智慧城市及智能出行等泛智能終端芯片解決方案。 本書的作者具有深厚的開發功底和多年一線開發經驗;本書的內容深入淺出,系統全面,代碼實例翔實。 讀者對象 ? 物聯網設備開發、測試工程師。 ? 開設相關課程的院校師生。 ? 對HarmonyOS生態未來發展趨勢感興趣的推動者、從業者和潛在的生態建設參與者。 如何閱讀本書 本書主要介紹如何使用HarmonyOS開發物聯網設備端軟件,具體包括外設控制、網絡編程、物聯網平臺接入等。本書的實例程序均在 HiSpark Wi-Fi IoT開發套件上進行測試和演示,部分章節的內容也適用于其他支持HarmonyOS的物聯網設備。 本書共8章,分為4篇,即環境準備篇、外設控制篇、傳輸協議篇、物聯網應用篇。 環境準備篇包含第1章,是開發實踐的基礎,主要內容為如何搭建 HarmonyOS開發環境,由許思維撰寫。 外設控制篇包含第2章~第4章,主要內容為如何使用HarmonyOS控制外設。第2章介紹如何使用HarmonyOS控制I/O設備,如LED燈,由許思維撰寫。第3章介紹如何使用HarmonyOS感知環境狀態、獲取環境溫度、讀取可燃氣體的ADC值等信息,由蔡旭、屈博、姜年檑撰寫。第4章介紹如何使用HarmonyOS控制OLED顯示屏,由馮寶鵬撰寫。 傳輸協議篇包含第5章和第6章,主要內容為如何使用 HarmonyOS控制 Wi-Fi,以及如何使用HarmonyOS進行網絡編程。從這里開始,讀者將進入網絡世界,獲得和外界溝通的能力。第5章由程勁松撰寫,第6章由王高浩撰寫。 物聯網應用篇包含第7章和第8章。第7章比較獨立,由沈峰撰寫。通過學習第7章,讀者能夠對內核對象有比較深刻的理解。第8章的主要內容包括如何集成MQTT客戶端SDK,以及如何開發一個物聯網應用,由丁成杰撰寫。通過學習物聯網應用篇,讀者能夠開發自己的應用。 致謝 本書由江蘇潤和軟件股份有限公司主導編寫,作者均為江蘇潤和軟件股份有限公司技術人員,在此感謝各位作者的辛勤付出。 在本書編寫期間,華為技術有限公司與上海海思技術有限公司的領導和專家給予了諸多的指導、支持,在此表示衷心的感謝。 在本書后期的整理和內容統籌過程中,江蘇潤和軟件股份有限公司副總裁劉洋及其團隊成員(關堃、石磊、麗娜等同事)對書稿的審核和修訂做出了貢獻,在此一并致謝。 在51CTO鴻蒙技術社區總編王文文與電子工業出版社石悅編輯的熱情推動下,我們最終達成了與電子工業出版社的合作。石悅編輯在審稿過程中專業、耐心、細致,對書稿的修改和完善起到了重要作用。在此感謝石悅編輯對本書的重視,以及為本書出版所做的一切。 由于作者水平有限,撰寫時間倉促,書中不足之處在所難免。同時,由于物聯網和HarmonyOS的發展演進、技術架構不斷完善,新的應用場景層出不窮,本書難免有所遺漏,敬請專家和讀者批評指正。 本書中涉及一些網址和工具包的下載鏈接,讀者可在電子工業出版社博文視點官網的本書頁面中查看。 |