當(dāng)前位置:首頁(yè) > 芯聞號(hào) > 動(dòng)態(tài)速遞
[導(dǎo)讀]HarmonyOS NEXT提出了硬件資源池的理念,把各個(gè)設(shè)備的硬件外設(shè)抽象為外設(shè)信息單元,外設(shè)信息在各個(gè)可信設(shè)備之間自動(dòng)同步,打破各個(gè)設(shè)備硬件的孤立狀態(tài),讓設(shè)備間硬件外設(shè)全局共享。

隨著智能設(shè)備的發(fā)展和普及,越來(lái)越多的智能設(shè)備已經(jīng)深入人們的生活,比如手機(jī)、PC、平板、各類(lèi)穿戴設(shè)備等。目前單個(gè)設(shè)備的外設(shè)資源已經(jīng)非常豐富,硬件能力也很強(qiáng)大。但像是手機(jī)、PC、平板等設(shè)備都有的相機(jī)、音頻、屏幕、鍵盤(pán)鼠標(biāo)等外設(shè)資源均屬于各個(gè)設(shè)備自身,如果涉及跨設(shè)備協(xié)同操作就會(huì)比較繁瑣。

比如,當(dāng)我們?nèi)粘T赑C端進(jìn)行文檔編輯時(shí),若需要從平板復(fù)制一段文字,或者使用手機(jī)拍攝照片然后分別將素材插入文檔時(shí),就需要我們分別在不同的設(shè)備上操作,然后將物料再行匯總發(fā)送至PC端口進(jìn)行編輯,過(guò)程十分麻煩。如果應(yīng)用開(kāi)發(fā)者從應(yīng)用層面實(shí)現(xiàn)設(shè)備間硬件能力共享,不但開(kāi)發(fā)者工作量和難度非常大,各個(gè)應(yīng)用之間也需要重復(fù)開(kāi)發(fā),能力難以復(fù)用和繼承。

為此,HarmonyOS NEXT提出了硬件資源池的理念,把各個(gè)設(shè)備的硬件外設(shè)抽象為外設(shè)信息單元,外設(shè)信息在各個(gè)可信設(shè)備之間自動(dòng)同步,打破各個(gè)設(shè)備硬件的孤立狀態(tài),讓設(shè)備間硬件外設(shè)全局共享。這樣就實(shí)現(xiàn)了外設(shè)信息的全局可見(jiàn),再結(jié)合分布式硬件虛擬化技術(shù),實(shí)現(xiàn)任意設(shè)備之間的硬件外設(shè)能力跨設(shè)備調(diào)用。

分布式硬件資源池作為系統(tǒng)能力下沉系統(tǒng)底層,北向開(kāi)發(fā)者并不會(huì)感知資源池的存在;跨設(shè)備硬件和本地硬件使用同一套API,開(kāi)發(fā)者調(diào)用跨設(shè)備硬件體驗(yàn)和本地硬件一致,如此更加開(kāi)發(fā)者調(diào)用跨設(shè)備硬件,開(kāi)發(fā)者也無(wú)需再關(guān)注硬件底層細(xì)節(jié),可將更多時(shí)間專注于業(yè)務(wù)創(chuàng)新。

HarmonyOS NEXT采用硬件資源池的理念,結(jié)合多個(gè)設(shè)備優(yōu)勢(shì)硬件為用戶提供更優(yōu)體驗(yàn)的同時(shí),還能支持消費(fèi)者和開(kāi)發(fā)者多種創(chuàng)新體驗(yàn)。

NO.1 消費(fèi)者場(chǎng)景

從消費(fèi)者層面來(lái)看,華為分布式硬件可支持智慧辦公、智慧出行等多種創(chuàng)新場(chǎng)景。

例如在智慧辦公場(chǎng)景中,使用一套PC鍵盤(pán)鼠標(biāo)即可和周邊平板等設(shè)備跨設(shè)備操作;在多屏協(xié)同時(shí),手機(jī)屏幕可直接顯示到平板,手機(jī)視頻通話也可以使用平板的麥克風(fēng)和攝像頭,用戶在平板上即可同時(shí)操作手機(jī)平板兩臺(tái)設(shè)備,無(wú)需在設(shè)備間來(lái)回切換。

在智慧出行場(chǎng)景中,當(dāng)用戶進(jìn)入座艙,手機(jī)上的音樂(lè)和通話就可自動(dòng)接續(xù)到車(chē)機(jī),使用車(chē)機(jī)的音頻外設(shè)播音和拾音功能,以及使用車(chē)機(jī)的攝像頭進(jìn)行視頻通話;當(dāng)手機(jī)導(dǎo)航接續(xù)到車(chē)機(jī)后,車(chē)機(jī)的GPS信號(hào)也可以共享給手機(jī),結(jié)合手機(jī)GPS信號(hào)提供更高精度的定位數(shù)據(jù)。

結(jié)合以上兩種場(chǎng)景可知,在智慧辦公和智慧出行場(chǎng)景中,用戶都可以通過(guò)分布式硬件資源池,為用戶提供更好的服務(wù)體驗(yàn)。

NO.2 開(kāi)發(fā)者場(chǎng)景

對(duì)于開(kāi)發(fā)者來(lái)說(shuō),因?yàn)榉植际接布Y源池將跨設(shè)備硬件調(diào)用的復(fù)雜度都封裝在了系統(tǒng)底層,跨設(shè)備硬件可復(fù)用本地硬件的API,因此開(kāi)發(fā)者學(xué)習(xí)和適配難度可以做到最低。

以分布式相機(jī)為例,相機(jī)接口可以同時(shí)查詢到本地相機(jī)和跨設(shè)備相機(jī)外設(shè),接著本地相機(jī)和跨設(shè)備相機(jī)就可通過(guò)ConnectionType.CAMERA_CONNECTION_REMOTE屬性相互區(qū)分,開(kāi)發(fā)者通過(guò)該屬性過(guò)濾出分布式相機(jī)后,其他操作和本地相機(jī)完全一致,開(kāi)發(fā)者無(wú)需為使用跨設(shè)備硬件學(xué)習(xí)一套獨(dú)立的API,有效簡(jiǎn)化開(kāi)發(fā)者開(kāi)發(fā)難度。

很多開(kāi)發(fā)者可能會(huì)問(wèn),硬件資源池是怎樣的開(kāi)發(fā)原理,我們可用相機(jī)和音頻為例進(jìn)行講解。

假設(shè)設(shè)備A和設(shè)備B都有各自的相機(jī)和音頻外設(shè),驅(qū)動(dòng)層有對(duì)應(yīng)的本地相機(jī)和本地音頻驅(qū)動(dòng)。

分布式硬件從各自設(shè)備本地采集相機(jī)和音頻驅(qū)動(dòng)信息,存入分布式數(shù)據(jù)庫(kù)。如果AB兩個(gè)設(shè)備建立了可信關(guān)系并且通過(guò)軟總線組網(wǎng)上線成功,分布式數(shù)據(jù)庫(kù)會(huì)在AB兩個(gè)設(shè)備之間自動(dòng)同步各自的本地外設(shè)數(shù)據(jù)信息,這樣設(shè)備A分布式硬件可以拿到設(shè)備B的相機(jī)和音頻外設(shè)規(guī)格數(shù)據(jù),同樣設(shè)備B也可以拿到設(shè)備A的相機(jī)和音頻外設(shè)規(guī)格數(shù)據(jù)。

以設(shè)備A的流程為例,分布式硬件收到對(duì)端設(shè)備B的硬件規(guī)格數(shù)據(jù)后,在驅(qū)動(dòng)層注冊(cè)對(duì)應(yīng)的虛擬相機(jī)和虛擬音頻驅(qū)動(dòng),虛擬驅(qū)動(dòng)相當(dāng)于對(duì)端設(shè)備物理硬件在本地的代理;虛擬驅(qū)動(dòng)實(shí)現(xiàn)和本地硬件驅(qū)動(dòng)相同的HDI接口。他們的區(qū)別在于,本地硬件驅(qū)動(dòng)操作本地物理硬件,虛擬硬件驅(qū)動(dòng)控制和數(shù)據(jù)傳輸通過(guò)軟總線作用于對(duì)端分布式硬件。由于和本地硬件實(shí)現(xiàn)同樣的HDI接口,設(shè)備B相機(jī)和音頻對(duì)應(yīng)的虛擬硬件可以被相機(jī)服務(wù)和音頻服務(wù)發(fā)現(xiàn)并管理,包括外設(shè)的查詢,相機(jī)的預(yù)覽拍照錄像,音頻的播放,聲音的錄制等功能。

對(duì)稱的,在設(shè)備B上會(huì)執(zhí)行同樣的過(guò)程,為設(shè)備A相機(jī)和音頻外設(shè)注冊(cè)對(duì)應(yīng)虛擬驅(qū)動(dòng),從而實(shí)現(xiàn)設(shè)備B上對(duì)設(shè)備A硬件外設(shè)的查詢和使用。

如此就實(shí)現(xiàn)了外設(shè)信息在設(shè)備間互通共享,信息感知自動(dòng)注冊(cè)虛擬硬件,注冊(cè)后即可用,成為一個(gè)無(wú)中心對(duì)稱的分布式硬件外設(shè)管理系統(tǒng)。同時(shí),分布式硬件框架定義了外設(shè)熱插拔,虛擬硬件保活等機(jī)制,保證業(yè)務(wù)可靠性。在運(yùn)行時(shí),各個(gè)硬件外設(shè)的業(yè)務(wù)運(yùn)行于獨(dú)立進(jìn)程中,在進(jìn)程層面保證不同硬件的虛擬化業(yè)務(wù)互相隔離,提高了業(yè)務(wù)可靠性。

基于上述分析,開(kāi)發(fā)者可以看到分布式硬件與南向硬件的交互涉及“硬件信息采集”和“驅(qū)動(dòng)注冊(cè)”兩類(lèi)業(yè)務(wù),與此對(duì)應(yīng),分布式硬件針對(duì)南向硬件接入定義了兩類(lèi)接口:一類(lèi)是硬件規(guī)格采集接口,一類(lèi)是驅(qū)動(dòng)注冊(cè)與準(zhǔn)備接口。

在硬件規(guī)格采集接口中,直接定義了規(guī)格信息的采集以及外設(shè)熱插拔事件監(jiān)聽(tīng)等功能;由于我們是跨設(shè)備硬件調(diào)用,涉及雙端設(shè)備的硬件,因此我們定義使用周邊其他設(shè)備硬件外設(shè)的一端為Source端,共享本地硬件給其他設(shè)備調(diào)用的一端為Sink端,驅(qū)動(dòng)注冊(cè)與準(zhǔn)備接口包括Source和Sink兩端。

Source端包括初始化,釋放以及虛擬驅(qū)動(dòng)注冊(cè)/去注冊(cè)等功能;Sink端主要是初始化和釋放接口,用于響應(yīng)Source端的控制指令,比如播放聲音或者采集視頻畫(huà)面。在設(shè)備組網(wǎng)上線后,分布式硬件框架調(diào)用各個(gè)硬件類(lèi)型的南向接口實(shí)現(xiàn),分別初始化各類(lèi)硬件的Source和Sink端業(yè)務(wù)進(jìn)程,為后續(xù)的硬件跨設(shè)備調(diào)用做好準(zhǔn)備。

由于分布式硬件良好的南向接入解耦設(shè)計(jì),如果有新硬件外設(shè)接入,只需要如下三步即可,以分布式相機(jī)配置為例,開(kāi)發(fā)者可以基于下方實(shí)例進(jìn)行參考:

Step 1定義硬件外設(shè)類(lèi)型枚舉值CAMERA

Step 2實(shí)現(xiàn)分布式硬件框架定義的南向接入接口,分別實(shí)現(xiàn)為三個(gè)so

實(shí)現(xiàn)分布式硬件框架定義的硬件規(guī)格采集接口IHardwareHandler,并編譯獲得接口實(shí)現(xiàn)libdistributed_camera_handler.z.so

實(shí)現(xiàn)Source側(cè)接入接口IDistributedHardwareSource,并編譯獲得接口實(shí)現(xiàn)libdistributed_camera_source_sdk.z.so

實(shí)現(xiàn)Sink側(cè)接入接口IDistributedHardwareSink,并編譯獲得接口實(shí)現(xiàn)libdistributed_camera_sink_sdk.z.so

Step 3在分布式硬件子部件配置文件中,添加新硬件外設(shè)相關(guān)配置,包括外設(shè)類(lèi)型,南向接口實(shí)現(xiàn)的so名稱,版本號(hào),以及Source和Sink端服務(wù)分配的服務(wù)Id

注意:該配置由產(chǎn)品定義確定,不同的產(chǎn)品可能使用不同的分布式能力。以RK3568開(kāi)發(fā)板為例,配置如下:

三個(gè)接口的so實(shí)現(xiàn)后,開(kāi)發(fā)者可將編譯打包到系統(tǒng)庫(kù)路徑下,同時(shí)配置到分布式硬件部件配置文件中,設(shè)備組網(wǎng)上線后,就能看到分布式相機(jī)的dcamera進(jìn)程已經(jīng)成功啟動(dòng),表明相機(jī)外設(shè)已經(jīng)納入資源池管理,成為分布式相機(jī)。

從下述截圖也可以看到分布式硬件其他相關(guān)進(jìn)程,dhardware就是分布式硬件資源池管理框架進(jìn)程,顧名思義,dcamera是分布式相機(jī)進(jìn)程,dinput是分布式鍵鼠輸入進(jìn)程,dscreen是分布式屏幕進(jìn)程。

當(dāng)前在OpenHarmony開(kāi)源社區(qū),已經(jīng)開(kāi)源了硬件資源池管理框架,分布式相機(jī),分布式音頻,分布式屏幕,分布式輸入的代碼倉(cāng),開(kāi)放了相機(jī),音頻,屏幕和鍵鼠輸入外設(shè)的跨設(shè)備控制源碼,關(guān)于硬件資源池的詳細(xì)實(shí)現(xiàn),可以參考我們的開(kāi)源代碼倉(cāng),更多參考代碼,可關(guān)注HarmonyOS開(kāi)發(fā)者官方微信。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉