鴻蒙HarmonyOS應用開發落地實踐,Harmony Go 技術沙龍落地北京
原創【51CTO.com原創稿件】12月26日,華為消費者BG軟件部開源中心與51CTO Harmony OS技術社區攜手,共同主辦了主題為“Harmony OS 應用開發落地實踐”的 Harmony Go 技術沙龍。
作為HarmonyOS 2.0 手機開發者 Beta 版發布后的首場技術沙龍,本次活動邀請了旗點科技創始人連志安、美的HarmonyOS FA開發負責人梁振華、Harmony OS課程開發者孫洋、寶寶巴士資深架構師楊清山、安徽微游互娛CTO張志斌幾位不同領域的業內專家,圍繞Harmony OS應用開發,為開發者答疑解惑。
???
基于HarmonyOS,打造智能安防系統
HarmonyOS是面向萬物互聯而誕生的系統,它不僅可以運行在手機上,也可以運行在較小型設備上,比如智能手環、安防報警器等?;贖armonyOS多端適用的特性,旗點科技創始人連志安老師帶來一個與狄泰軟件學院創始人唐佐林老師共同開發的安防場景應用項目,并做了詳細的技術解讀。
???
旗點科技創始人連志安老師
這個基于HarmonyOS的安防項目具有完整性、統一性、可擴展性和開源的特點,后續還可以在此基礎上開發增加一些其他場景,擴展出一些新的功能。
整個安防項目系統的架構設計包括無線傳感器、無線模塊、HarmonyOS設備、HarmonyOS應用、局域網和云服務。無線傳感器負責收集數據,然后通過無線模塊將數據傳遞到HarmonyOS設備;HarmonyOS設備可以通過局域網或者云服務與HarmonyOS應用進行通信。這樣便形成一條從傳感器到HarmonyOS應用的通信鏈路。
?
??
在此鏈路下,系統狀態主要分工作狀態和警報狀態兩種。工作狀態下整個系統會進入一個高等級的戒備,當主人不在家時,門窗傳感器被觸發,系統便會發出報警,并通過手機應用做提醒,這是布防狀態。但是如果主人在家時,系統便會進入一種低等級的撤防狀態,即使傳感器被觸發,系統也不會給發出報警。
整個安防系統中HarmonyOS 應用和HarmonyOS設備的交互主要分為四大流程:
? 首先是設備發現流程:讓HarmonyOS應用去發現HarmonyOS設備;
? 其次是設備上報流程:HarmonyOS設備能夠把數據上傳到HarmonyOS應用上;
? 第三是設備控制流程:HarmonyOS應用能夠控制系統中的設備;
? 最后是應答流程:應用和設備間發送的數據和指令可以相互應答,保證通信完整。
為了滿足系統的應用場景,系統中用TLV協議作為通信協議。它的數據格式主要分為三大部分,第一部分是協議標題,大概有12個字節,往下是數據長度,占了4個字節,接下來是數據內容。數據內容采用了JSON的數據格式。
設備發現流程主要是分為兩種情況,在HarmonyOS應用沒有設備信息時,它會在局域網對外發送一個廣播,然后HarmonyOS設備收到廣播后,會把設備ID和一些相關信息返回給應用,最后應用去發動一個連接的請求,設備這邊響應請求。如果HarmonyOS應用有設備信息時,它就可以直接發送請求,設備做相應的應答即可。
設備上報流程也很簡單,設備上報一個JSON字段的數據解析給到應用,應用做相應的應答即可。通過應用還可以控制系統中的設備,例如控制燈的打開和關閉。
在整個安防系統中,設備開發有三個比較重要的點。一個是無線技術,保證HarmonyOS設備可以和無線傳感器進行通信;第二個是傳感器,例如煙感、紅外等;第三是網絡通信能力,讓設備和應用進行通信。
設備開發流程分為設備啟動并初始化,初始化后創建串口線程和網絡線程。串口線程的作用是和無線模塊進行通信,判斷傳感器的類型,然后把傳感器信息上報給應用。網絡線程主要是接收應用發來的數據,讀取網絡數據,然后解析數據格式,執行相應的指令。
?
??
應用開發流程主要分為UI界面和后臺服務兩個路線。UI界面包括日志存儲、系統的狀態和設置功能。后臺服務包括網絡通信和后臺通知功能。
方便快捷,一碰開啟智慧生活
HarmonyOS是面向未來的分布式系統,同一套系統能力即可適配多種終端形式。例如手機、智慧屏、車機、手表等。在未來的智慧生活中,用戶與物聯網設備間的交互也會更加的簡潔高效。本次沙龍上,美的HarmonyOS FA開發負責人梁振華分享了基于Harmony OS開發物聯網產品的經驗。
???
美的HarmonyOS FA開發負責人梁振華老師
目前Harmony應用分為FA和PA,使用裝有HarmonyOS模組的美的設備時,通過 HarmonyOS的NFC貼入口,即可下載HarmonyOS FA,然后打開進行設備的控制和配網。
?
??
配網模式有NAN模式配網和AP模式配網。為了讓用戶快速配網,美的和華為合作,開發了NAN秒配網控制的新模式,手機和設備一碰,即可實現配網,并且通過配網通道,正在配網的過程中就已經能夠對設備進行控制。而AP模式配網需要通過WiFi進行點對點的控制,配上網之后才能進行控制。
分布式助力,實現多設備聯動
分布式軟總線是HarmonyOS的一大特性,基于這一特點,Harmony OS課程開發者孫洋為開發者分享了多設備聯動的開發案例。
???
Harmony OS課程開發者孫洋老師
?
??
在這個案例中,分布式軟總線主要體現有三方面,第一方面是硬件虛擬化,第二方面是分布式調度,第三方面是音樂播放器demo。硬件虛擬化是概念性的東西,實現起來需要一定的技術手段。而利用分布式調度這個技術,便可以把各個設備連接在一起,形成一個虛擬的超級終端。
?
??
分布式軟總線不僅把物理上隔離的各個設備連接在一起,而且還保證了傳輸速度,打破PCB板上的硬件能力約束。本案例中的兩部手機可看作設備A和設備B,開發者在應用層進行開發,調用底層分布式硬件的虛擬化接口,便可實現設備A控制設備B的能力。
跨屏互動,增加親子交流
HarmonyOS的分布式特性,不僅會讓智能家居操作簡單,還可讓教育場景中融入親子互動。寶寶巴士資深架構師楊清山從親子互動的角度切入,為開發者分享了基于HarmonyOS分布式能力的跨屏互動案例。
???
寶寶巴士資深架構師楊清山老師
本案例中利用HarmonyOS分布式特性,將多個設備連接起來,這里采用的組網方式是二維碼進行組網,首先在大屏上生成二維碼,然后手機掃描連接。技術上只需引入一個包,然后初始化數據模型,即可創建類似的服務端和客戶端操作。
?
??
10分鐘開發一個分歧終端機
在家居、教育后,HarmonyOS的分布式特性還可運用在娛樂上,這次微游互娛CTO張志斌分享的分布式分歧終端機游戲案例便是基于HarmonyOS的分布式特性上開發。分布式分歧終端機主要包含游戲的輸入、游戲的數據和游戲的狀態功能模塊。游戲的狀態包括加入和退出、獲取玩家的輸入、顯示游戲的數據和狀態。
?
??
微游互娛CTO張志斌老師
?
??
HarmonyOS中提供了一個RemoteObject的接口和對象,通過這個對象對傳輸的請求碼和輸入參數封裝,來保證兩個模塊間的通信。以此來解決數據傳輸過程存在的問題。在HarmonyOS中,當你創建調用connect Ability時,想要連接的設備就會先建立起調取的動作, 然后再去創建這個連接,達到自動調取和連接的一個步驟。
這是分布式技術一個比較有趣的設定,其實HarmonyOS已經把連接做到系統層面了,我們開發調取時,只需考慮應用層面的問題。應用層面需要考慮的是系統當前環境下面有多少設備,需要進行怎樣的交互。
所以基于分布式軟總線,我們可以去添加連接多個設備,只要它能夠連進去,這便不需要我們再額外進行任何開發的工作量。
???
沙龍現場特別設置了有獎問答和調研等多個互動活動,一方面收集開發者的意見建議,另一方面也引導大家學習現場各位老師分享的精華內容。此外,開發者們還可以隨時登陸51CTO HarmonyOS技術社區學習老師們更多精彩的課程。
本次沙龍是Harmony Go全國技術沙龍巡展第二站,也是2020年社區線下活動的收官之作,2021年,Harmony Go將走進上海、南京、廣州等多座城市,繼續與開發者面對面交流HarmonyOS開發經驗,輸送有深度、有干貨的HarmonyOS技術新知。
【51CTO原創稿件,合作站點轉載請注明原文作者和出處為51CTO.com】































