本篇文章1844字,讀完約5分鐘

阿里云國(guó)際站經(jīng)銷商,主營(yíng)阿里云,騰訊云,華為云,亞馬遜aws,谷歌云gcp,微軟云az,免費(fèi)開戶,代充值優(yōu)惠大,聯(lián)系客服飛機(jī)@jkkddd

使用Connector架構(gòu)完成設(shè)備接入

本文檔介紹驅(qū)動(dòng)(設(shè)備接入模塊)的Connector架構(gòu)模式。Connector是一種結(jié)構(gòu)清晰又靈活的模式,方便您快速構(gòu)建驅(qū)動(dòng)。我們推薦您使用Connector架構(gòu)模式構(gòu)建驅(qū)動(dòng)程序。
Connector架構(gòu)模式目前只適用于Node.js和Python的設(shè)備接入SDK。
在Connector架構(gòu)模式中,驅(qū)動(dòng)程序由4個(gè)部分組成:
ThingAccessClient
此類由設(shè)備接入SDK提供,提供多個(gè)方法與Link IoT Edge交互,包括數(shù)據(jù)上行和數(shù)據(jù)下行。同時(shí)接受外部傳入ThingAccessClientCallbacks類型回調(diào)函數(shù),在收到Link IoT Edge的下行數(shù)據(jù)時(shí)調(diào)用回調(diào)接口。Connector架構(gòu)中ThingAccessClientCallbacks的實(shí)現(xiàn)類是Connector類。
Connector
Connector架構(gòu)核心組件。對(duì)外,Connector組件提供connect和disconnect接口,并接受外部注入Thing接口。對(duì)內(nèi),Connector組件實(shí)現(xiàn)ThingAccessClientCallbacks接口,并在構(gòu)建ThingAccessClient對(duì)象時(shí)傳入,以建立與Link IoT Edge的連接,并在收到回調(diào)指令時(shí)轉(zhuǎn)發(fā)指令到設(shè)備。
Thing
對(duì)物理設(shè)備接口提供封裝,負(fù)責(zé)與設(shè)備交互,方便Connector組件調(diào)用,對(duì)外提供面向?qū)ο蟮腁PI。Thing在這里只是一個(gè)統(tǒng)稱,接入具體設(shè)備時(shí)為具體設(shè)備抽象類,如Light(表示燈設(shè)備)。
Entry
驅(qū)動(dòng)程序主入口,將會(huì)獲取驅(qū)動(dòng)配置,初始Thing組件和Connector組件,最終調(diào)用Connector組件的connect方法連接設(shè)備和Link IoT Edge。也可調(diào)用disconnect方法斷開設(shè)備與Link IoT Edge的連接。
Connector組件是Connector架構(gòu)中最重要的組件,它通過組合的方式將設(shè)備抽象接口(Thing)和Link IoT Edge抽象接口(ThingAccessClient)關(guān)聯(lián)起來,因此而得名Connector。
操作步驟
下文示例使用Node.js版本設(shè)備接入SDK實(shí)現(xiàn)Connector架構(gòu)模式。關(guān)于Python版本示例及詳細(xì)信息可參考Python版本。
Light
本示例演示一個(gè)模擬燈的驅(qū)動(dòng)程序設(shè)計(jì)。
實(shí)現(xiàn)Connector。代碼主要包含如下功能:
構(gòu)造函數(shù)接收設(shè)備的配置參數(shù)和設(shè)備抽象對(duì)象,內(nèi)部構(gòu)造ThingAccessClient以便與Link IoT Edge交互。
實(shí)現(xiàn)ThingAccessClientCallbacks的3個(gè)回調(diào)方法,并在回調(diào)方法中調(diào)用設(shè)備對(duì)象接口與設(shè)備交互。
提供connect方法和disconnect方法。其中在connect方法里連接Link IoT Edge,在disconnect方法里斷開設(shè)備與Link IoT Edge的連接。
獲取配置信息,并初始化Connector架構(gòu)組件。
調(diào)用getConfig獲取驅(qū)動(dòng)配置。
調(diào)用getThingInfos獲取設(shè)備信息及配置。
初始化Connector組件。
調(diào)用connect連接Link IoT Edge
LightSensor
本示例演示一個(gè)模擬光照度傳感器的驅(qū)動(dòng)程序設(shè)計(jì)。
抽象模擬光照度傳感器類。此處模擬光照度傳感器有外部監(jiān)聽時(shí)會(huì)自動(dòng)運(yùn)行,在重置外部監(jiān)聽后會(huì)停止運(yùn)行。
實(shí)現(xiàn)Connector。
構(gòu)造函數(shù)接收設(shè)備的配置參數(shù)和設(shè)備抽象對(duì)象,內(nèi)部構(gòu)造ThingAccessClient以便與Link IoT Edge交互。
實(shí)現(xiàn)ThingAccessClientCallbacks的3個(gè)回調(diào)方法,并在回調(diào)方法中調(diào)用設(shè)備對(duì)象接口與設(shè)備交互。
提供connect方法和disconnect方法。其中在connect方法里連接Link IoT Edge,在disconnect方法里斷開設(shè)備與Link IoT Edge的連接。
獲取配置信息,并初始化Connector架構(gòu)組件。
調(diào)用getConfig獲取驅(qū)動(dòng)配置。
調(diào)用getThingInfos獲取設(shè)備信息及配置。
初始化Connector組件。

調(diào)用connect連接Link IoT Edge。


標(biāo)題:阿里云賬號(hào)代購(gòu),阿里云國(guó)際站

地址:http://0bc8wa.cn/kfxw/64215.html