相關(guān)平臺智慧家庭集成指導(dǎo)_第1頁
相關(guān)平臺智慧家庭集成指導(dǎo)_第2頁
相關(guān)平臺智慧家庭集成指導(dǎo)_第3頁
相關(guān)平臺智慧家庭集成指導(dǎo)_第4頁
相關(guān)平臺智慧家庭集成指導(dǎo)_第5頁
已閱讀5頁,還剩222頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

2017。保留一切權(quán)利商標(biāo)聲2017。保留一切權(quán)利商標(biāo)聲注華為技術(shù)有限公i應(yīng)用集應(yīng)用集成(IoTPlatform北向應(yīng)用 上傳Profile資源 根據(jù)Profile修改設(shè)備信 1.13附 應(yīng)用集成(APP 2.1概 APP開發(fā)指 2.5參 應(yīng)用集成(APP 3.1概 APP開發(fā)指 參考 網(wǎng)關(guān)集 華為IoTAgent集成開發(fā)指南(網(wǎng)關(guān) 4.1.1概 4.1.5調(diào)測開發(fā)結(jié)4.1.5調(diào)測開發(fā)結(jié) 4.1.6參 華為IoTWindows安裝網(wǎng)關(guān)Agent指 安裝華為網(wǎng)關(guān) Agent調(diào) 華為IoT樹莓派RaspberryPi安裝網(wǎng)關(guān)Agent指 安裝華為網(wǎng)關(guān) Agent調(diào) 華為IoTAgent集成開發(fā)指南(Z- 5.1.1概 5.1.6參 華為IoT設(shè)備資源包開發(fā)指 5.2.1概 華為IoTAgent集成開發(fā)指南 6.1.1概 ZigBee傳感器開發(fā)操作指 6.1.6參 6.2華為IoT設(shè)備資源包開發(fā)指 6.2.1概 6.2.2寫作設(shè)備能力Profile及服務(wù)能力 設(shè)備集成 7.1概 開發(fā)AgentIPC配置文 在攝像頭中預(yù)制Agent 1應(yīng)用集成(IoTPlatform北向應(yīng)用1應(yīng)用集成(IoTPlatform北向應(yīng)用 1應(yīng)用集成(IoTPlatform北向應(yīng)用上傳Profile根據(jù)Profile綁定設(shè)備(設(shè)備上線11應(yīng)用集成(IoTPlatform北向應(yīng)用1.11應(yīng)用集成(IoTPlatform北向應(yīng)用1.11.2概述及前期準(zhǔn)推薦強(qiáng)烈建議開發(fā)者花10分鐘的時間閱讀一下OceanConnect開放能力的相關(guān)基本概念為IoTOceanConnect生態(tài)集成開發(fā)入門指南.doc》。開發(fā)求華為開發(fā)者社區(qū)OceanConnect論壇查找答案或發(fā)貼華為開發(fā)者社區(qū)個人中心->我的提單->提交問題(選擇產(chǎn)品“物聯(lián)網(wǎng)21應(yīng)用集成(IoTPlatform北向應(yīng)用2個人中心->1應(yīng)用集成(IoTPlatform北向應(yīng)用2個人中心->前期步驟步驟應(yīng)用對接的平臺IP和端AppId和密開發(fā)者Portal(待上線)的賬號一般情況下,MAR審批完成后OpenLab會主動發(fā)布對接信息給開如果在MAR電子流審批后,沒有收到OpenLab對接信息,您可以發(fā)送MAR電子流IDmailto:iotadmin@以索取環(huán)境對接信息步驟31應(yīng)用集成(IoTPlatform北向應(yīng)用華為IoTPlatformAPI參考(北向華為IoTPlatform1應(yīng)用集成(IoTPlatform北向應(yīng)用華為IoTPlatformAPI參考(北向華為IoTPlatformLiteProfile資源包樣例(待上線1.3開發(fā)環(huán)境準(zhǔn)步驟安裝下載jdk-8u131-windows-x64.exe,雙擊安裝,選擇路徑后,默認(rèn)安裝說Java環(huán)境變量配置請參考配置Java環(huán)境變量帖步驟安裝.說/downloads/packages/eclipse-ide-java-步驟打開Eclipse,選擇菜單File->New->Project,在彈出的對話框中選擇JavaProject,點(diǎn)擊Next(本文檔以JavaProject為例,可以根據(jù)實(shí)際情況選擇其他工程,如果您已有自己41應(yīng)用集成(IoTPlatform1應(yīng)用集成(IoTPlatform北向應(yīng)用填寫工程名,注意選擇JRE版本為1.8,點(diǎn)擊Finish51應(yīng)用集成(IoTPlatform北向應(yīng)用步1應(yīng)用集成(IoTPlatform北向應(yīng)用步驟61應(yīng)用集成(IoTPlatform北向應(yīng)用1應(yīng)用集成(IoTPlatform北向應(yīng)用會發(fā)現(xiàn)src目錄下多出幾個包,且工程會有很多錯誤右擊工程名,在右鍵菜單中選擇Properties。在彈出的對話中依次選擇JavaBuildPath->LibrariesAddJARs,進(jìn)入工程目錄\Opensourcecomponents,選中所有的jar,最后點(diǎn)71應(yīng)用集成(IoTPlatform北向應(yīng)用1應(yīng)用集成(IoTPlatform北向應(yīng)用1.4調(diào)用鑒權(quán)接在調(diào)用接口前要先修改平臺IP端口、appId和密碼等常量的值打開Constants.java,修改如下常量的值說81應(yīng)用集成(IoTPlatform北向應(yīng)用取得1應(yīng)用集成(IoTPlatform北向應(yīng)用取得accessToken說明鑒權(quán)成功,得到的accessToken會在調(diào)用其他接口時使用到說accessToken會在expiresIn所標(biāo)志的時間內(nèi)過期,expiresIn的單位為的refreshToken來獲取新的accessToken。RefreshToken接口請參考API文檔和樣例代碼中的LiteDemo中還提供了各接口調(diào)用的抓包示例,參見\demo_TCP_message.json1.5訂閱平臺消平臺將設(shè)備消息分類推送給北向應(yīng)用(具體可參考API文檔中“Application訂閱平臺數(shù)91應(yīng)用集成(IoTPlatform北向應(yīng)用右擊SubscribeNotification.java,選擇Run1應(yīng)用集成(IoTPlatform北向應(yīng)用右擊SubscribeNotification.java,選擇RunAsJavaApplication,就可以在控制臺看到說1應(yīng)用集成(IoTPlatform北向應(yīng)用1.6注冊直連設(shè)打開1應(yīng)用集成(IoTPlatform北向應(yīng)用1.6注冊直連設(shè)打開RegisterDirectlyConnectedDevice.java,修改verifyCode/nodeId和timeout的值timeout0timeout0,真實(shí)設(shè)備必須在設(shè)置的時間內(nèi)上線,否則注冊的設(shè)備會過期而被同樣,右擊RegisterDirectlyConnectedDevice.java,選擇RunAsJavaApplication,就說1.7Profile資源登錄開發(fā)者Portal(待上線)后,在設(shè)備管理->模型->導(dǎo)入模型頁面上Profile資源包1應(yīng)用集成(IoTPlatform北向應(yīng)用說1應(yīng)用集成(IoTPlatform北向應(yīng)用說1.8Profile修改設(shè)備信同樣,右擊ModifyDeviceInfo.java,選擇RunAsJavaApplication,就可以在控制臺看1應(yīng)用集成(IoTPlatform北向應(yīng)用說1應(yīng)用集成(IoTPlatform北向應(yīng)用說綁定設(shè)備(設(shè)備上線說1應(yīng)用集成(IoTPlatform北向應(yīng)用1應(yīng)用集成(IoTPlatform北向應(yīng)用1應(yīng)用集成(IoTPlatform北向應(yīng)用1應(yīng)用集成(IoTPlatform北向應(yīng)用是否上線。具體使用方法請參考QueryDeviceData.java、QueryDevices.java及API1.10創(chuàng)建設(shè)備命打開PostAsynCommandV4.java,將修改deviceId為注冊設(shè)備時得到的deviceId右擊PostAsynCommandV4.java,選擇RunAsJavaApplication,就可以在控制臺看到說下發(fā)請參考Step10。1應(yīng)用集成(IoTPlatform北向應(yīng)用設(shè)備數(shù)據(jù)上1應(yīng)用集成(IoTPlatform北向應(yīng)用設(shè)備數(shù)據(jù)上報和平臺命令為了方便開發(fā)者了解接收到的平臺推送消息內(nèi)容,LiteDemo中提供了一個簡單的說1應(yīng)用集成(IoTPlatform北向應(yīng)用1應(yīng)用集成(IoTPlatform北向應(yīng)用1.12更多內(nèi)更多平臺開放能力請參見OceanConnect開發(fā)者中心1.13測試平臺北由于最新版本的Postman不支持https接口測試,此方法只適用于http協(xié)議的接口測試1應(yīng)用集成(IoTPlatform北向應(yīng)用配1應(yīng)用集成(IoTPlatform北向應(yīng)用配置http方法、URL和頭返回的消點(diǎn)擊Send按鈕,就能在下方看到返回碼及消息內(nèi)容。將返回的內(nèi)容(尤其accessToken)復(fù)制并保存起來,以備后續(xù)調(diào)用其他接口時使用1應(yīng)用集成(IoTPlatform北向應(yīng)用配置1應(yīng)用集成(IoTPlatform北向應(yīng)用配置http方法、URL和頭配置返回的消1應(yīng)用集成(IoTPlatform北向應(yīng)用1應(yīng)用集成(IoTPlatform北向應(yīng)用配置http方法、URL和頭配置返回的消1應(yīng)用集成(IoTPlatform北向應(yīng)用1應(yīng)用集成(IoTPlatform北向應(yīng)用單步調(diào)測、查看當(dāng)程序運(yùn)行到我們設(shè)置的斷點(diǎn)時就會停下來,使用StepOver按鈕運(yùn)行到如圖所示的位1應(yīng)用集成(IoTPlatform北向應(yīng)用1應(yīng)用集成(IoTPlatform北向應(yīng)用1應(yīng)用集成(IoTPlatform北向應(yīng)用Response1應(yīng)用集成(IoTPlatform北向應(yīng)用Response內(nèi)容如下說如果調(diào)用的類不是aResume按鈕使程序向下運(yùn)行,直到斷點(diǎn)再第二次命中execteHtpRequeshttp/httppr按鈕運(yùn)行到如下圖所示的位置再查看變量內(nèi)容。1應(yīng)用集成(IoTPlatform1應(yīng)用集成(IoTPlatform北向應(yīng)用在Variables窗口中展開request變量1應(yīng)用集成(IoTPlatform1應(yīng)用集成(IoTPlatform北向應(yīng)用Response內(nèi)容如下1應(yīng)用集成(IoT1應(yīng)用集成(IoTPlatform北向應(yīng)用2應(yīng)用集成(APP2應(yīng)用集成(APP 2應(yīng)用集成(APPAPP開發(fā)指2應(yīng)用集成(APP2.12應(yīng)用集成(APP2.11.2.忽略業(yè)務(wù)和交互,關(guān)注界技術(shù)要求低,集對開發(fā)人員的技術(shù)要求低,只需要最基本的UI控件使用,即可快速開發(fā)一款A(yù)PP3.2、服務(wù)2應(yīng)用集成(APP3、屬性2.2開發(fā)環(huán)1.開發(fā)環(huán)境要2應(yīng)用集成(APP3、屬性2.2開發(fā)環(huán)1.開發(fā)環(huán)境要JDK版本對應(yīng)Android開發(fā)工具基本要求如AndroidSDKPlatformTools相關(guān)工具與AndroidJAR包打包相關(guān),JDK版本升級后,2.SDKAPPDemo目錄結(jié)目說││││存放SDKAPPDemo存放ca.pem AndroidSDKAndroidStudio1.4或以上版本Android手2應(yīng)用集成(APP2.3準(zhǔn)備開獲取軟2應(yīng)用集成(APP2.3準(zhǔn)備開獲取軟集成SDK的demo工程示其他相IoTAPPSDKAPI接口文檔IoTAgentlite2.4APP開發(fā)指開發(fā)開發(fā)者可直接將導(dǎo)入andoiddo學(xué)習(xí)如何調(diào)用接口實(shí)現(xiàn)基本業(yè)務(wù)。也可以基于上進(jìn)行開發(fā),完善各個業(yè)務(wù)的實(shí)現(xiàn)。只是簡單的演示接口的調(diào)用,上的架構(gòu)粗糙,上的編排也比較簡單,建議新建一個工程來開發(fā),新工程搭建見新建Andro工程.考《華為IoTAPPSDK集成開發(fā)高級指南》和IoTAPPSDKAPI接口文檔。SDKAPPDemo目錄結(jié)目說│││存放so2應(yīng)用集成(APPdemo2應(yīng)用集成(APPdemo說開發(fā)人員可以導(dǎo)入Demo到Androidstudio上,查看具體接口調(diào)用示例,也可以基于Demo上開發(fā),發(fā)人員新建Android項目開發(fā)。拷貝并解壓SDKDemo到本地,按下面步驟導(dǎo)入android工程在打開的界面中選擇找到SDKDemo選中點(diǎn)擊demo2應(yīng)用集成(APP2應(yīng)用集成(APP運(yùn)行成功studio上會彈出一個框,選擇你聯(lián)接的手機(jī)型號點(diǎn)擊ok,手smartHome的應(yīng)用2應(yīng)用集成(APP2應(yīng)用集成(APPAndroid工說用戶可以用Androidstudio新建一個Android工程來開發(fā)App,實(shí)現(xiàn)自己需要的UI布局和風(fēng)格。以新建AndroidPackagename。Packagename為應(yīng)用程序包名。每一2應(yīng)用集成(APP2應(yīng)用集成(APP2應(yīng)用集成(APP2應(yīng)用集成(APP放第三方的jar包和so庫。點(diǎn)擊file—>newModule,選擇AndroidLibrary。新建成功2應(yīng)用集成(APP2應(yīng)用集成(APP2應(yīng)用集成(APP添加依賴庫,將模塊2應(yīng)用集成(APP添加依賴庫,將模塊hb作為模塊ap的依賴,添加依賴后,模塊app的就可以引用hby模塊中的ja包和庫。打開fil選擇otuue選項出現(xiàn)一個彈框,彈框里選擇ap,點(diǎn)擊右側(cè)綠色加號選擇edeendency把hby添加為依賴。2應(yīng)用集成(APP2應(yīng)用集成(APP2應(yīng)用集成(APP基礎(chǔ)業(yè)1.SDK場2應(yīng)用集成(APP基礎(chǔ)業(yè)1.SDK場景描述代碼示例2.場景描述代碼示例{publicvoidonSuccess(Class<Void>voidClass){}publicvoidonError(inti)LogApi.d(TAG,"Loginfailed,TheerrorCodeis"+i);StringfailedDesc="";switch(i){failedDesc=casecasefailedDesc=SysApi.setConfig(SysApi.SYS_CFG_NA_SERVER_IP,"naip");SysApi.setConfig(SysApi.SYS_CFG_NA_SERVER_PORT,"naport");SysApi.setConfig(SysApi.SYS_CFG_MQTT_SERVER_IP,"mqttip");SysApi.setConfig(SysApi.SYS_CFG_OPERATION_TIMEOUT_TIME,"60");2應(yīng)用集成(APP3.場2應(yīng)用集成(APP3.場景描述接的網(wǎng)關(guān)且沒有被其他用戶綁定。初始化網(wǎng)關(guān)和注冊網(wǎng)關(guān)參考agentlite和IOT管理平臺DeviceApi.registerDeviceToCloud(editText,new{publicvoidonSuccess(Device{hideProgress();}publicvoidonError(int{hideProgress();}publicvoid{casefailedDesc=case}}publicvoid{LogApi.d(TAG,"Logintimeout");hideProgress();}}2應(yīng)用集成(APP2.5常見問2應(yīng)用集成(APP2.5常見問題1、檢查wifi是否和IOT平臺處于同一網(wǎng)段2、檢查HAIP是否輸入與IOT平臺提供的IP地址不一致二1、檢查IOM.cer,UDS.cer是否導(dǎo)名詞IoT聯(lián)接管Toast.makeText(mContext,getString(R.string.base_time_out),}3應(yīng)用集成(APP3應(yīng)用集成(APP 3應(yīng)用集成(APPAPP開發(fā)指參考3應(yīng)用集成(APP3.11.3應(yīng)用集成(APP3.11.能力概2.技術(shù)優(yōu)忽略業(yè)務(wù)和交互,關(guān)注界技術(shù)要求低,集對開發(fā)人員的技術(shù)要求低,只需要最基本的UI控件使用,即可快速開發(fā)一款A(yù)pp3.通訊原理3應(yīng)用集成(APP服務(wù)3應(yīng)用集成(APP服務(wù)屬性3.2開發(fā)環(huán)iPhone真MAC系統(tǒng)電也可以是PC機(jī)和MACmimi搭配使用,總之需要能夠運(yùn)行Xcode工具,并且Xcode的版本不低于6.0,Xcode是進(jìn)行iOS開發(fā)的工具,Xcode可以在AppStore上下載,也可以直開發(fā)者賬號及用賬號生成的相應(yīng)的證書和配置首先蘋果公司規(guī)定進(jìn)行iOS開發(fā)必須要有開發(fā)者賬號(AppleDeveloperAccount),開3.3準(zhǔn)備開獲取軟5、集成SDK的demo工程示其他相1、IoTAPPSDKAPI3應(yīng)用集成(APP3應(yīng)用集成(APP2、IoTAgentlite3、IoTAPPSDK3.4APP開發(fā)指開發(fā)SDK配置文件,即P12證書和Provisioningprofile。然后向SDKdemo導(dǎo)入該證書和配置文件,并修改Bundleidentifier為配置文件配置的BundleID。下圖為配置bundleID和證書3應(yīng)用集成(APP新建3應(yīng)用集成(APP新建工程創(chuàng)導(dǎo)入將整個SDK包用鼠標(biāo)拖拽到工程項目中,如圖所示3應(yīng)用集成(APP3應(yīng)用集成(APP依賴庫添導(dǎo)入證3應(yīng)用集成(APP3應(yīng)用集成(APP雙擊TARGETS的BuildSetting中的OtherLinkerFlags行,輸入-并在該行下添加一子行:AllowArbitrayloads,Type設(shè)置為Boolean,值為YES:導(dǎo)入真機(jī)調(diào)試證書,修改申請真機(jī)調(diào)試證書(可參考htp://blg.csdnne/ycz/arice/detils/22962433,將證書和配置文件雙擊導(dǎo)入工程,并修改BundeI為調(diào)試證書注冊的bundId導(dǎo)入K。基礎(chǔ)業(yè)1.SDK場景描述API接口進(jìn)行初始化,如想要調(diào)用登陸接口之前必須調(diào)用[LoginApiinit]。3應(yīng)用集成(APP代碼示例3應(yīng)用集成(APP代碼示例SYS_CFG_NA_SERVER_IP值為IOT管理平臺的HAIP值;2.場景描述APP在啟動完成,并且初始化SDK設(shè)置好參數(shù)后進(jìn)入代碼示例[LoginApilogin:@"008613333333333"password:@"Aa123123"http://login}failure:^(longerrorCode)[self}if(errorCode==ERROR_CODE_LOGIN_AUTH_FAILED)//authfail,accountorpassword}elseif(errorCode==ERROR_CODE_LOGIN_ACCOUNT_INACTIVE)//inactive}elseif(errorCode==ERROR_CODE_LOGIN_ACCOUNT_LOCKED)//account{self.verifyCodeImageView.image=}failure:^(longerrorCode)[LogApii:@"getverifycode"msg:@"loadverifyimage}[LogApii:@"getverifycode"msg:@"loadverifyimage}elseif(errorCode=={[LoginApigetVerifyCodeForLogin:^(UIImage*_Nonnullimage){self.verifyCodeImageView.image=image;}failure:^(longerrorCode)[LogApii:@"getverifycode"msg:@"loadverifyimage}[LogApii:@"getverifycode"msg:@"loadverifyimage}elseif(errorCode==ERROR_CODE_LOGIN_VERIFY_CODE_EXPIRED)//verifycode}elseif(errorCode==ERROR_CODE_LOGIN_TRUST_DEVICE_UNREGISTER)//loginonnottrust//nextloginneedputparamLOGIN_EXTENDING_PARAM_TRUST_DEVICE_VERIFY_CODEinto[SysApi[SysApisetConfig:SYS_CFG_NA_SERVER_IPvalue:@""];[SysApisetConfig:SYS_CFG_NA_SERVER_PORTvalue:@""];[SysApisetConfig:SYS_CFG_MQTT_SERVER_PORTvalue:@""];3應(yīng)用集成(APP3.綁定網(wǎng)場景描述3應(yīng)用集成(APP3.綁定網(wǎng)場景描述開發(fā)描述代碼示例3.5參考常見問題––––檢查wifi是否和IoT平臺處于同檢查info.plist是否打開https開關(guān)登陸成功,無法發(fā)送HTTP請檢查info.plist是否打開https開關(guān)檢查IOM.cer名詞IoT聯(lián)接管*device)//bindgateway}failure:^(longerror)//bindgateway}//bindgateway}}3應(yīng)用集成(APP3應(yīng)用集成(APP44網(wǎng)關(guān)集44網(wǎng)關(guān)集華為IoTAgent集成開發(fā)指南(網(wǎng)關(guān)華為IoT樹莓派RaspberryPi安裝網(wǎng)關(guān)Agent44.1IoTAgent集成開發(fā)44.1IoTAgent集成開發(fā)指南(網(wǎng)關(guān)4.1.1概能力通過華為提供的IoT聯(lián)接管理平臺(以下統(tǒng)稱為平臺)、網(wǎng)關(guān)開放AgentAPI和測試4-總體開Agent開發(fā)流程如下確認(rèn)是否需要新增設(shè)備描述文件ProfileAgent側(cè)適配開發(fā)。參考Demo或基于Demo修改以滿足所4 使用測試APP說4 使用測試APP說4.1.2相關(guān)華為開發(fā)者社區(qū)官技術(shù)4.1.3開發(fā)準(zhǔn)備準(zhǔn)備軟開發(fā)平開發(fā)環(huán)配套要推薦的操作Version:MarsReleaseMaven插件:m2eMavenIntegration4準(zhǔn)備說B),還需4準(zhǔn)備說B),還需要購買dongle(ZWave:推薦AEOTECZ-STICKS2Model:DSA002203;ZigBee:EM357/EM358芯片。購買后需要給USBdongle刷ZigBee芯片原廠固件)、8G以上MicroSD卡,為網(wǎng)關(guān)Agent方法,請參考《華為IoT樹莓派RaspberryPi安裝網(wǎng)關(guān)Agent指導(dǎo).docx》。準(zhǔn)備待確認(rèn)是否需要新增名描獲取方華為IoT樹莓派RaspberryAgent的安裝過程(Service)類型4說判斷新增的設(shè)備是否需要新增4說判斷新增的設(shè)備是否需要新增Profile,請參考《華為IoT設(shè)備能力描述文件profile開發(fā) 家庭網(wǎng)關(guān)集成開發(fā)指場景主要章節(jié)介紹將IOTAgent集成到第三方網(wǎng)關(guān)的應(yīng)用場景,IOTAgent提供物聯(lián)網(wǎng)協(xié)議不需要支持不需要通過LED燈顯示Agent狀基本OTA升級:通過網(wǎng)絡(luò)(包括WIFI、4G)自動下載升級包、自動升4開發(fā)詳細(xì)4開發(fā)詳細(xì)JVM支持java1.7,支持下面JDK名規(guī)ARM600MHZ或同等性能的其他CPU提供給IOTAgent的Flash空間大于大于4步驟IOTAgent的ZWave/ZigBee串口通訊、IPC音視頻等功能模塊以動態(tài)庫的形式提供,將4步驟IOTAgent的ZWave/ZigBee串口通訊、IPC音視頻等功能模塊以動態(tài)庫的形式提供,將當(dāng)前已支持ARM、WINDOWS32、WINDOWS64的動態(tài)庫步驟步驟參考zh-cn_topic_0035522430.html,導(dǎo)入家庭網(wǎng)關(guān)生態(tài)Demo程息,然后調(diào)用notifyTopic(finalStringtopic,finalMap<String,String>props)上報事接收硬件事件,轉(zhuǎn)換為對應(yīng)的**@since2015年10月17@parammsgContent@returnpublicvoidOnMessage(String{if4{Stringtopic=Map<String,String>props=newHashMap<String,4{Stringtopic=Map<String,String>props=newHashMap<String,String>();?if(msgContent.contains("NOTIFY_UPDATE_START")){props.put("status","upgrading");}{logger.error("Unsupportmessage:{}",}}}步驟IoTAgent以軟件方式安裝到網(wǎng)關(guān)中;第三方網(wǎng)關(guān)固件支持OTA升級和回退,并提供固件升升級服務(wù)器支持通過MAC地址索引網(wǎng)關(guān),方便與IoT平臺上的網(wǎng)關(guān)對IoTAgentbundle升級和回退由IOT平臺負(fù)責(zé)步驟開發(fā)參考AgentDemo(GW).zip中的將IOTAgent集成到樹莓派網(wǎng)關(guān)的Demo44.1.5調(diào)測開發(fā)APP步44.1.5調(diào)測開發(fā)APP步驟注步驟步驟4步驟4步驟4上傳調(diào)測4上傳調(diào)測調(diào)步驟1登錄App4步驟輸4步驟輸入已注冊的賬號信息,并單擊“登錄”4步驟34步驟3進(jìn)入設(shè)備列表標(biāo)簽頁,單擊“添加設(shè)備”444步驟54步驟5成功綁定網(wǎng)關(guān)后,進(jìn)入設(shè)備列表標(biāo)簽頁,單擊“添加設(shè)備”,進(jìn)入設(shè)備添加頁面44444步驟64步驟6444開發(fā)者可以根4開發(fā)者可以根據(jù)APP的頁面提示完成其他4.1.6參Demo步驟1在Eclipse的PackageExplorer窗口右鍵單擊選擇“Import”4步驟4步驟->4步驟3選擇導(dǎo)入路徑為demo工程的解壓目錄,在Project欄選擇對應(yīng)的工程,如4步驟3選擇導(dǎo)入路徑為demo工程的解壓目錄,在Project欄選擇對應(yīng)的工程,如Z-Wave傳感器Agent基礎(chǔ)解壓Agent發(fā)布包到PC機(jī),打開Eclipse開發(fā)工程,按照下面步驟導(dǎo)入Agent基礎(chǔ)包步驟在Eclipse的Explorer窗口右鍵單擊選擇“Import”步驟4步驟對話框中選擇導(dǎo)入包4步驟對話框中選擇導(dǎo)入包的目錄為Agent發(fā)布包解壓目錄下的Preload子目錄,如下步驟4Bundle步4Bundle步驟1在eclipse的PackageExplorer窗口在開發(fā)的Project上單擊右鍵選擇“RunAs–Maven4步驟4步驟生成的jar包路徑在Console窗口的Installing過程中有指示,如下圖所上傳在PC機(jī)安裝Winscp工具步驟下載鏈接:/eng/download.php4步驟步驟如果上傳配置文件,請上傳到IoTAgent4步驟步驟如果上傳配置文件,請上傳到IoTAgent4.2IoTWindows安裝網(wǎng)Agent4.2.1系統(tǒng)本章節(jié)介紹如何配置Windows使其可以安裝網(wǎng)關(guān)AgentJava運(yùn)行環(huán)華為網(wǎng)關(guān)Agent如果在Windows上運(yùn)行需要有Java運(yùn)行環(huán)境,在shell中輸入java 步驟首先在oracle官網(wǎng)下載JavaSDK,根據(jù)pc情況選擇下載對應(yīng)的32bit或64bit4-2JavaSDK步驟說打開cmd窗口,執(zhí)行java出現(xiàn)類似報告則說明Java環(huán)境配置成4.2.2安裝華為網(wǎng)關(guān)javaversion"1.8.0_91"Java(TM)SERuntimeEnvironment(build"1.8.0_91-b14)JavaHotSpot(TM)ClientVM(build25.91-b14,mixedmode)4)編輯D:\agent\目錄4)編輯D:\agent\目錄下的IOTAgentCperties文件,一般配置以下aa:bb:c1:dd:ee:ff,則將MAC地址中冒號去掉后,此條配置項寫為下 platformIP聯(lián)系華為IoT管理員提供,支持郵箱為使用記事本打開IOTAgentCperties文件,文件最新內(nèi)容類似輸入如下命令調(diào)用start.bat腳本即可啟動網(wǎng)關(guān)Agent4.2.3Agent調(diào)驗(yàn)證網(wǎng)關(guān)啟動正網(wǎng)關(guān)啟動后,執(zhí)行"lb"命令,出現(xiàn)以下標(biāo)識時說明啟在cmd窗口中輸入lb并回車,可以查看bundle運(yùn)行g(shù)!cdD:\agent\啟動#ThuJan1218:25:50UTCmqttPort=端口號(端口號保持安裝完Agent后的默認(rèn)值即可)httpPort=端口號(端口號保持安裝完Agent后的默認(rèn)值即可)參數(shù)必選/描4綁定可通過綁定網(wǎng)關(guān)是否成功4綁定可通過綁定網(wǎng)關(guān)是否成功的方法,來判斷Agent軟件運(yùn)行是否正常。步驟如步驟步驟用網(wǎng)關(guān)Agent啟動方法啟動網(wǎng)關(guān)Agent用樹莓派網(wǎng)關(guān)MAC地址(如aabbc1ddeeff)生成二維碼https:///網(wǎng)站生成步驟Agent可用4.2.4問:不能連接到zwaveport答:檢查有無插dongle問:INFOItseemsnetworkispoor,retrysendcommandafter30000STARTLEVEL 0|SystemBundle 1|com.huawei.m2m.gateway.dm(1.1.72) 1|com.huawei.m2m.gateway.service(1.1.72) 1|com.huawei.m2m.gateway.storage(1.1.72) 1|com.huawei.m2m.gateway.transport(1.1.72) 1|Gson(2.3.1) 1|ApacheFelixBundleRepository 1|ApacheFelixConfigurationAdminService(1.2.4) 1|ApacheFelixEventAdmin(1.3.2) 1|ApacheFelixGogoCommand(0.14.0) 1|ApacheFelixGogoRuntime(0.12.1) 1|ApacheFelixGogoShell(0.10.0) 1|ApacheFelixDeclarativeServices(1.8.2) 1|org.eclipse.smarthome.core4IoT4IoT樹莓RaspberryPi安裝網(wǎng)Agent開發(fā)者必概關(guān)于樹莓派的更多信息,可通過樹莓派官網(wǎng)https://了解傳感器可以識別的消息格式,與傳感器進(jìn)行交互,詳情參見《華為IoTAgent集成開發(fā)開發(fā)者開發(fā)流程開發(fā)者可參考如下開發(fā)流程圖集成華為網(wǎng)關(guān)Agent44Agent調(diào)測:測試安裝好的華為網(wǎng)關(guān)Agent,確認(rèn)其是否如進(jìn)行集成設(shè)備開發(fā)。設(shè)備集成的方法,可參考《華為IoTAgent集成開發(fā)指南》文樹莓派安裝示意44.3.2準(zhǔn)備購44.3.2準(zhǔn)備購買樹莓派及配用于安裝網(wǎng)關(guān)Agent。樹莓派有多種型號,推薦使用樹莓派三代B4-5Raspberry3ModelMicroSD卡4用于連接樹莓派4用于連接樹莓派及計算機(jī),使計算機(jī)可以訪問樹莓派以安裝網(wǎng)關(guān)AgentUSB連接線、接USB口充電器計算機(jī),推薦使用Windows計算機(jī)卡。推薦集成Z-Wave或ZigBee設(shè)備時需要購買Dongle4.3.3系統(tǒng)本章節(jié)主要介紹如何從官網(wǎng)下載系統(tǒng)鏡像,并通過MicroSD卡安裝樹莓派系1.4-6Raspbian2.連接Windows計算機(jī)寫入樹莓派系統(tǒng)鏡像,具體步驟4運(yùn)行4-74運(yùn)行4-74選擇MicroSD卡盤符4選擇MicroSD卡盤符點(diǎn)擊Write寫入鏡像到MicroSD卡,完成后會彈框提示參考樹莓派安裝示意圖將已寫入鏡像的o卡插入樹莓派接口⑤,用線連接電源接口④給樹莓派上電,正確連接電源后,在電源接口④不附近會有紅燈常亮。說4.3.4系統(tǒng)本章節(jié)介紹如何配置樹莓派已安裝好的系統(tǒng)已使其可以安裝網(wǎng)關(guān)Agent系統(tǒng)XshellPuTTY4說4說ROOT權(quán)sudopasswd 系統(tǒng)初擴(kuò)展系統(tǒng)使用空登錄樹莓派后,在shell中執(zhí)行root@raspberrypi:/home/pi#sudoraspi- ?.SetupChangeUser ChangepasswordforthedefaultuserEnableBoottoDesktop/ScratchChoosewhethertobootintoadesktopenvironment,Scratch,orthecommand-lineInternationalisation SetuplanguageandregionalsettingstomatchyourEnable EnablethisPitoworkwiththeRaspberryPiAddto AddthisPitotheonlineRaspberryPiMap ConfigureoverclockingforyourAdvanced ConfigureadvancedAboutraspi- Informationaboutthisconfiguration sudopasswd--unlockrootpi@raspberrypi~$sudopasswdrootEnternewUNIXpassword:RetypenewUNIXpasswd:passwordupdatedsuccessfullypi@raspberrypi~$sudopasswd--unlockrootpasswd:passwordexpiryinformationchanged.pi@raspberrypi~$su4選擇”O(jiān)K”后再點(diǎn)擊Enter鍵返回主4選擇”O(jiān)K”后再點(diǎn)擊Enter鍵返回主重新開啟SSH登錄權(quán)如果SSH在關(guān)閉狀態(tài)不能用于登錄,我們可通過如下配置將其重Java運(yùn)行環(huán)華為網(wǎng)關(guān)Agent如果在樹莓派上運(yùn)行需要有Java運(yùn)行環(huán)境,在shell中輸入首先在oracle官網(wǎng)下載JavaSDK,需下載linuxARMHardFloatjavaAdvancedA1Overscan YoumayneedtoconfigureoverscanifblackbarsarepresentondisplayA2Hostname SetthevisiblenameforthisPionanetworkA3MemorySplitChangetheamountofmemorymadeavailabletotheA5SPI Enable/DisableautomaticloadingofSPIkernelmodule(neededfore.g.PiFace)A6Audio ForceaudiooutthroughHDMIor3.5mmjackA7 Updatethistooltothelatest ?.WouldyouliketheSSHserverenabledor ?.SSHserver ?.SetupExpand EnsuresthatalloftheSDcardstorageisavailabletotheChangeUser ChangepasswordforthedefaultuserEnableBoottoDesktop/ScratchChoosewhethertobootintoadesktopenvironment,Scratch,orthecommand-lineInternationalisation SetuplanguageandregionalsettingstomatchyourEnable EnablethisPitoworkwiththeRaspberryPiAddto AddthisPitotheonlineRaspberryPiMap Configureoverclockingforyour9Aboutraspi- Informationaboutthisconfiguration ?.Rootpartitionhasbeen ?.Thefilesystemwillbeenlargeduponthenext 44-12JavaSDK44-12JavaSDK之后通過Xshell的Xftp上傳至/homel/pi/目錄4如果上傳失敗提示”Permissionis4如果上傳失敗提示”Permissionisnot使用”sudochmod777home/pi/pi@raspberrypi~$tar–zxvfjdk-8u91-linux-arm32-vfp- 復(fù)制文件到/usr/local目錄pi@raspberrypi~$sudocp-rjdk1.8.0_91/ pi@raspberrypi~$sudonano exportexportPATH=$JAVA_HOME/bin:$PATHpi@raspberrypi~$sudochmod777/home/pi/pi@raspberrypi~$44.3.5安裝華為網(wǎng)關(guān)44.3.5安裝華為網(wǎng)關(guān)1.Agent啟節(jié)),再執(zhí)行下面的命令將Agent安裝包放到樹莓派上的Agent工作目錄把Agent包IoT_Agent_RaspberryPi_*.zip上傳至unzippackage.zipchmod750-Rcdmkdirsudochmod777/opt/IoT_Agent/cd/opt/IoT_Agentjavaversion"1.8.0_91"Java(TM)SERuntimeEnvironment(build"1.8.0_91-b14)JavaHotSpot(TM)ClientVM(build25.91-b14,mixedmode)pi@raspberrypi:~$source#/etc/profile:filefilefortheBourneshell(sh(1))#andBournecompatibleshells(bash(1),ksh(1),ash(1),...).if["`id-u`"-eq0];thenexportif["$PS1"];if["$BASH"]&&["$BASH"!="/bin/sh"];#Thefilebash.bashrcalreadysetsthedefaultPS1.#PS1='\h:\w\$'if[-f/etc/bash.bashrc];.if["`id-u`"-eq0];thenPS1='#'PS1='$#Thedefaultumaskisnowhandledbypam_umask.#Seepam_umask(8)and/etc/login.defs.if[-d/etc/profile.d];thenforiin/etc/profile.d/*.sh;doif[-r$i];.exportexportexport4配置Agent自啟動任4配置Agent自啟動任 編輯/opt/IoT_Agent/目錄下的IOTAgentCperties文件,一般配置aa:bb:c1:dd:ee:ff,則將MAC地址中冒號去掉后,此條配置項寫為下 platformIP聯(lián)系華為IoT管理員提供,支持郵箱為使用如下命令打開IOTAgentCperties文件pi@raspberrypi/opt/IoT_Agent$sudonano 參數(shù)必選/描#Thisscriptisexecutedattheendofeachmultiuserrunlevel.#Makesurethatthescriptwill"exit0"onsuccessoranyother#valueonerror.##Inordertoenableordisablethisscriptjustchangetheexecution#bits.##Bydefaultthisscriptdoesnothing.#PrinttheIPaddresssu-lpi-c"startx_IP=$(hostname-I)||trueif["$_IP"];thenprintf"MyIPaddressis%s\n""$_IP"/opt/IoT_Agent/startPi.shexit4輸入如下命令調(diào)用startPi.sh腳本即可啟動網(wǎng)關(guān)Agentpi@raspberrypi4輸入如下命令調(diào)用startPi.sh腳本即可啟動網(wǎng)關(guān)Agentpi@raspberrypi/opt/IoT_Agent$ 說“whereisjava“。首次調(diào)用startPi.sh腳本,會出Press1ifit'sZigBee,Press2ifit'sZ- 說4.3.6Agent調(diào)驗(yàn)證網(wǎng)關(guān)啟動正網(wǎng)關(guān)啟動后,執(zhí)行”ps–ef|grepjava綁定可通過綁定網(wǎng)關(guān)是否成功的方法,來判斷Agent軟件運(yùn)行是否正常。步驟如https:///網(wǎng)站生成root@raspberrypi:/opt/IoT_Agent#ps-ef|grep 17504:48pts/2 00:00:28/usr/bin/java-Xms64m-Xmx64m-Djava.library.path=:/opt/IoT_Agent/lib-Dgosh.args=--nointeractive-jar/opt/IoT_Agent/bin/ 32733187004:49 00:00:00grep#ThuJan1218:25:50UTCmqttPort=端口號(端口號保持安裝完Agent后的默認(rèn)值即可)httpPort=端口號(端口號保持安裝完Agent后的默認(rèn)值即可)#aboveiszigbeeconfig##aboveiszigbeeconfig444.3.7問:Xshell顯示找不到匹配的outgoing[:答:系統(tǒng)默認(rèn)sh不識別此符合組合,用bash問:Clockskewdetected.Yourbuildmaybeincomplete.答:findtypef|xargsn5touch問:不能連接到zwave答:檢查有無插問:INFOItseemsnetworkispoor,retrysendcommandafter30000IoTAgent集成開發(fā)指南.doc》中相關(guān)的開發(fā)操作指導(dǎo)章節(jié)中的“配置開發(fā)接入”或問:如何通過外接顯示器、鍵盤的方式訪問樹44華為IoTAgent集成開發(fā)指南(Z-華為IoTAgent集成開發(fā)指南(Z-5.1IoTAgent集成開發(fā)指南5.1IoTAgent集成開發(fā)指南(Z-5.1.1概能力通過華為提供的IoT聯(lián)接管理平臺(以下統(tǒng)稱為平臺)、網(wǎng)關(guān)開放AgentAPI和測試5-總體開Agent開發(fā)流程如下確認(rèn)是否需要新增設(shè)備描述文件ProfileAgent側(cè)適配開發(fā)。參考Demo或基于Demo修改以滿足所 使用測試APP說 使用測試APP說5.1.2相關(guān)華為開發(fā)者社區(qū)官技術(shù)5.1.3開發(fā)準(zhǔn)備準(zhǔn)備軟開發(fā)平開發(fā)環(huán)配套要推薦的操作Version:MarsReleaseMaven插件:m2eMavenIntegration準(zhǔn)備說B),還需要購準(zhǔn)備說B),還需要購買dongle(ZWave:推薦AEOTECZ-STICKS2Model:DSA002203;ZigBee:EM357/EM358芯片。購買后需要給USBdongle刷ZigBee芯片原廠固件)、8G以上MicroSD卡,為網(wǎng)關(guān)Agent方法,請參考《華為IoT樹莓派RaspberryPi安裝網(wǎng)關(guān)Agent指導(dǎo).docx》。準(zhǔn)備待確認(rèn)是否需要新增名描獲取方華為IoT樹莓派RaspberryAgent的安裝過程(Service)類型說判斷新增的設(shè)備是否需要新增Profile,請參考《華為IoT設(shè)備能力描述文件profile開發(fā)說判斷新增的設(shè)備是否需要新增Profile,請參考《華為IoT設(shè)備能力描述文件profile開發(fā)5.1.4Z-Wave傳感器開發(fā)操作操作足AgentLite的運(yùn)行條件,開發(fā)方法相同。導(dǎo)入Demo后,需要修改Demo,具體化自己說導(dǎo)入demo的詳細(xì)操作步驟,請參考導(dǎo)入Demo工程Bundle是指一個包含java類和其他資源的jar包子工程子工程子工程步驟“Refactor>Rename”,在彈出的對話框中修改project的名稱。步驟步驟步驟按上面的例子,這里對應(yīng)的包名為步驟按上面的例子,這里對應(yīng)的包名為步驟4說務(wù)必在完成上面全部修改后再保存和編譯工程,如果出現(xiàn)子工程丟失(步驟4說務(wù)必在完成上面全部修改后再保存和編譯工程,如果出現(xiàn)子工程丟失(PackageExplore中不可bundle步驟在Eclipse的PackageExplorer窗口在開發(fā)的Project上單擊右鍵選擇“RunAsMaven步驟步驟步驟上傳到樹莓派網(wǎng)關(guān),運(yùn)行bundle。下面以在PC機(jī)上傳文件到樹莓派為例說明1、在PC機(jī)安裝Winscp工3、使用Winscp工具連接樹莓派網(wǎng)關(guān),默認(rèn)賬3、使用Winscp工具連接樹莓派網(wǎng)關(guān),默認(rèn)賬號密碼步驟適配概上傳感器場景1免開Agentbundle直接接定義上傳APP說支持的傳感器情況,請咨詢?nèi)A為IoT客服,郵箱:iotadmin@《SDS12652-9Z-WaveCommandClassSpecificationN-Z.pdf》場景2配置定義上傳APP定義Agentbundle,上傳到Agent說具體如何通過bundle配置轉(zhuǎn)換規(guī)則請參考配置開發(fā)接入場景3定制定義上傳APP定義上傳APP4)通過APP調(diào)測,修改Agentbundle配置開發(fā)接下面結(jié)合開發(fā)Demo說明4個要素的定義位置,如下圖傳感器的創(chuàng)建:在CreatDevice.xml中,定義傳感器的類開發(fā)網(wǎng)Agent插件1.定義傳感器的標(biāo)thingTypes開發(fā)網(wǎng)Agent插件1.定義傳感器的標(biāo)thingTypes標(biāo)簽中傳感器標(biāo)識解釋如下表2.定義傳感器類在CreateDevice.xml中定義傳感器類型參數(shù)名參數(shù)解參數(shù)名參數(shù)解傳感器型號插座-->插座-->插座-->說3.傳感器的控說參數(shù)名說3.傳感器的控說參數(shù)名參數(shù)解說IoT平臺支持的服務(wù)(service)的定義表示Agent收到的控制命令的status字段<commandmethod="SWITCH"<statusif="command.body.status==<statusif="command.body.status==說服務(wù)(Service)有顯示定義的Command,如下圖中的OPNE、CLOSE、STOP三個命令;另外properties也可以用Command來操作,其Method可能是GET或者PUT,規(guī)則如下當(dāng)其method值含“W”可寫時,我們默認(rèn)該服務(wù)含有PUT命令,即,通過PUT方法可以設(shè)置這properties的值4.傳感器的數(shù)據(jù)上{"serviceType":"WindowCovering","description":"WindowCoveringOpenClose","commands":[{"paras":null},"paras":null},"paras":null}"properties":{}]}5.開發(fā)樣例(Demo庫定制開基本概如下圖,相對于配置開發(fā),定制開發(fā)增加了java和OSGi服務(wù)配置<stateReport<statusif="value>=0x63<statusif="value==0x00說OSGi規(guī)范描述了一說OSGi規(guī)范描述了一個JAVA語言的模塊化的系統(tǒng),一個完整的和動態(tài)的組件模型的服務(wù)平主要的Java類(Class)及其作用如下開發(fā)網(wǎng)關(guān)的Agent插件開發(fā)流開發(fā)網(wǎng)關(guān)的Agent插件開發(fā)流<?xmlversion="1.0"encoding="UTF-deactivate="deactivate"immediate="true"<implementation<provide<propertyname="thingTypeUID"type="String"value="zwave:SetpointThermostat-0002-0005-public{}參參數(shù)說ThirdSnsorhingHadle和ThermostaSetpoitComanIoT平臺下發(fā)的控制命令。ThermostatSetpontComanClas,按照這個模板來構(gòu)造新的Classprivategagetemperatuo平臺定義的控制命令接口中Bodyfiel名即可,同時生成ge/se方法,getnsorhingHadle的handeIoTuefield對應(yīng)的ZWaveNode對象和控制命令通過參數(shù)傳入,通過if(commandinstanceof數(shù)據(jù)上報接Stringtemperaturecommand.targetTemperature();if(checkParameter(temperature)){//構(gòu)造Z-Wave命令,把參數(shù)傳入或轉(zhuǎn)化后傳byte[]value=TemperatureEncodeString2ByteArray.encodeHex(temperature);ThermostatSetpointSetthermostatSetpointSet=newThermostatSetpointSet();}publicvoidhandleSpecificCommand(ZWaveNodenode,Command{("ThirdSensorThingHandlerif(commandinstanceof{handleThermostatSetpointCommand(node,}}第一個參數(shù)是nodeKey,用于標(biāo)識一個傳感器第一個參數(shù)是nodeKey,用于標(biāo)識一個傳感器eclipseSmartHome的DecimalType上報。結(jié)合StateReport.xml,知,本傳感器通過通道targetTemperature上報數(shù)據(jù),和數(shù)據(jù)類型是string,格式為一位小數(shù)浮點(diǎn)數(shù),如”21.5?C”。格式化后說服務(wù)類上報數(shù)據(jù)命控制命門磁(Door動感BasicBasicReport水感<stateReportnewDecimalType(value));publicvoidhandle(ZWaveNodenode,ZWaveCommand{if(commandinstanceof{ThermostatSetpointReportreport=(ThermostatSetpointReport)command;handleThermostatSetpointReportCommand(node,report);}}業(yè)務(wù)觸設(shè)備類型服務(wù)門磁(Door業(yè)務(wù)觸設(shè)備類型服務(wù)門磁(DoorHumidity/Motion)煙感中繼器One蜂鳴器門鎖恒溫器服務(wù)類上報數(shù)據(jù)命控制命煙感中繼器門鎖車庫卷閘BasicReportBasicSwitchColorReportNotificationReportBasicReportBatteryBasicSetBasicSetSwitchColorDoorLockOperationSetSwitchMultilevelSet電量當(dāng)前Agent支持如下業(yè)務(wù)觸發(fā)點(diǎn),可使傳感器在指當(dāng)前Agent支持如下業(yè)務(wù)觸發(fā)點(diǎn),可使傳感器在指定業(yè)務(wù)觸發(fā)點(diǎn)執(zhí)行需要的Demo中的業(yè)務(wù)觸發(fā)部分,實(shí)現(xiàn)了修改傳感器Interval的配置,如publicvoidexecute(String{ZWaveNodenode=ZwaveControllerFactory.getZwaveController().getNodeByNodeKey(nodeKey);LOGGER.info("Node:{}hasaddsuccess",node.getNodeId());publicvoidnotifyListeners(EventTypeevent,StringthingID){switch(event){case{}caseADDED:break;caseREMOVED:break;}}參參數(shù)說publicinterface{enum{CONFIG,}voidnotifyListeners(EventTypeevent,String}publicinterface其中SensorID其中SensorID是記錄了傳感器標(biāo)識,通過字符串對比判斷是否是開發(fā)樣例(Demo庫5.1.5調(diào)測開發(fā)APP步驟注步驟ThingTypeUIDthingTypeUID=if{WakeUpIntervalSetwakeUpIntervalSet=newcontrollernodeid}}步驟步驟步驟步驟上傳調(diào)測上傳調(diào)測調(diào)步驟1登錄App步驟輸入已步驟輸入已注冊的賬號信息,并單擊“登錄”步驟3步驟3進(jìn)入設(shè)備列表標(biāo)簽頁,單擊“添加設(shè)備”步驟5步驟5成功綁定網(wǎng)關(guān)后,進(jìn)入設(shè)備列表標(biāo)簽頁,單擊“添加設(shè)備”,進(jìn)入設(shè)備添加頁面步驟6步驟6開發(fā)者可以根據(jù)APP開發(fā)者可以根據(jù)APP的頁面提示完成其他5.1.6參Demo步驟1在Eclipse的PackageExplorer窗口右鍵單擊選擇“Import”步驟->步驟->步驟3選擇導(dǎo)入路徑為demo工程的解壓目錄,在Project欄選擇對應(yīng)的工程,如Z-Wave傳感器步驟3選擇導(dǎo)入路徑為demo工程的解壓目錄,在Project欄選擇對應(yīng)的工程,如Z-Wave傳感器Agent基礎(chǔ)解壓Agent發(fā)布包到PC機(jī),打開Eclipse開發(fā)工程,按照下面步驟導(dǎo)入Agent基礎(chǔ)包步驟在Eclipse的Explorer窗口右鍵單擊選擇“Import”步驟步驟對話框中選擇導(dǎo)入包的目步驟對話框中選擇導(dǎo)入包的目錄為Agent發(fā)布包解壓目錄下的Preload子目錄,如下步驟Bundle步驟1Bundle步驟1在eclipse的PackageExplorer窗口在開發(fā)的Project上單擊右鍵選擇“RunAs–Maven步驟生成步驟生成的jar包路徑在Console窗口的Installing過程中有指示,如下圖所上傳在PC機(jī)安裝Winscp工具步驟下載鏈接:/eng/download.php步驟步驟使用Winscp工具連步驟步驟使用Winscp工具連接樹莓派,默認(rèn)賬號密碼:pi/raspberry如果上傳配置文件,請上傳到IoTAgent安裝目錄下。IoT概相關(guān)App默認(rèn)模開發(fā)設(shè)備資開發(fā)設(shè)備資{devicetype}_{manufacturerId}_{mode1}.zip包目錄結(jié)構(gòu)├─manual設(shè)備相關(guān)的說明文字及圖│├deviceType.png當(dāng)新增設(shè)備類型時才需要提供這個圖│├largeIcon.pdfiOS平臺設(shè)備大圖標(biāo),pdf│├largeIcon.pngandroid平臺設(shè)備大圖標(biāo),png格式②│├smallIcon.pdfiOS平臺設(shè)備小圖標(biāo),pdf格式③│├smallIcon.pngandroid平臺設(shè)備小圖標(biāo),png格 ││├─discovery_guide設(shè)備安裝涉及的引導(dǎo)材資源文件根目錄,如└res_{manufacturerId}廠商資源目錄,文件夾名字舉例├{devicetype}_{manufacturerId}_{model}.zip文件命名舉例:ContactSensor_0001_0002-││├─introduction發(fā)││├─introduction發(fā)現(xiàn)引導(dǎo)材料,最多允許4│││├─page1一頁引導(dǎo)材││││├guide_desc_en.txt文文本描述,必須提供,其他語言描述根據(jù)││││├guide_desc_zh.txt中文文本描述④││││├guide_icon.pdfiOS平臺引導(dǎo)圖片,pdf格式④││││└guide_icon.pngandroid平臺引導(dǎo)圖片,png格式④││││││└─page2二頁引導(dǎo)材││ ├││ ├││ ├││ └││││├─search索中引導(dǎo)材料,只能有一│││││ ├││ ├││ ├││ └││││└─check備檢測(檢測是否在網(wǎng)關(guān)覆蓋范圍內(nèi)││ ├─page1第一頁引導(dǎo)材料,最多允許4│ ├│ ├│ ├│ └│ ││ └─page2第二頁引導(dǎo)材│ ├│ ├│ ├│ └││└─remove_guide備刪除引導(dǎo)材 ├─page1第一頁引導(dǎo)材料,最多允許4 ├ ├ ├ └ └─page2第二頁引導(dǎo) ├ ├ ├ └││├devicetype-capability.json備能力的profile⑨│└devicetype-display.json設(shè)備呈現(xiàn)的profile⑩│││largeIcon.pdfiOS平臺服務(wù)大圖標(biāo),pdf格式││largeIcon.pngAndroid平臺服務(wù)大圖標(biāo),png格式││smallIcon.pdfiOS平臺服務(wù)小圖標(biāo),pdf格式││smallIcon.pngAndroid平臺服務(wù)小圖標(biāo),png格式││├─command放命令的定制圖標(biāo),圖標(biāo)的名字與││ {commandname1}_small_icon.pdfiOS平臺命令圖標(biāo),pdf格式⑤││ {commandname1}_small_icon.pngAndroid平臺命令圖標(biāo),png格式⑤│ │ ││└─property放屬性的定制圖標(biāo),圖標(biāo)的名字 ├ ├ ├ propertyName1}_large_icon.pngAndroid平臺屬性大圖標(biāo),png ├說⑨:參考寫作設(shè)備能力Profile與服務(wù)能力⑩:參考設(shè)備呈現(xiàn)Profile與服說⑨:參考寫作設(shè)備能力Profile與服務(wù)能力⑩:參考設(shè)備呈現(xiàn)Profile與服務(wù)呈現(xiàn)規(guī)格編描iOS規(guī)格Android規(guī)格其他說明或①②③④⑤⑥⑦刪除流程的引導(dǎo)圖98x56x28x276x72x48x384x384x48x98x189x90x936x96x72x672x672x72x ├{ ├ └{│└─profile每個服務(wù)兩個profile,一個服務(wù)能力,一個服務(wù)呈servicetype-capability.json服務(wù)能力的profile⑨servicetype- 服務(wù)呈現(xiàn)的profile⑧說5.2.2寫作設(shè)備能力Profile及服務(wù)能力說5.2.2寫作設(shè)備能力Profile及服務(wù)能力說5.2.3寫作設(shè)備呈現(xiàn)Profile及服務(wù)呈現(xiàn)設(shè)備呈說服務(wù)呈Battery\profile\servicetype-[{{{"language":"en",{"language":"zh","desc"]{編描規(guī)其他說明或④⑧如果有命令,則在后面加入命令如果有命令,則在后面加入命令(先加逗號,再加入commands,如加入開關(guān)命[{{{"language":"en",{"language":"zh","desc"]{}]"commands":{"commandLabel":[{"language":"en","desc":language":zh",desc開{"paraName":"status","dataType":"string","required":true,字描}]}注5.2.4制作圖片UCD設(shè)計人注5.2.4制作圖片UCD設(shè)計人員根據(jù)每張圖片資源的規(guī)格(尺寸、格式等)要求制作切說 寫作文字描述文字描命令名,與服務(wù)能力profile文件Battery\profileservicetype-如果有paras,要與服務(wù)能力profile文件"min":"max":"step":"maxLength":20,"unit":"null",{"dataType":"int","required":true,"min":1,"max":"step":"unit":"s",}]}說5.2.6資源說5.2.6資源匯總步驟步驟注注5.2.7設(shè)備資源包設(shè)備資源包樣例名稱:AppResourcePackage歸檔目錄:Demo\AppResourcePackage注注資源包中的圖片、文字與HiHoApp界面呈現(xiàn)的對應(yīng)關(guān)說說服務(wù)和主要服務(wù)的設(shè)置,在設(shè)備能力profile中,請參考《華為IoT設(shè)備能力描述文件說服務(wù)和主要服務(wù)的設(shè)置,在設(shè)備能力profile中,請參考《華為IoT設(shè)備能力描述文件profile寫作⑧服務(wù)呈現(xiàn)⑧服務(wù)呈現(xiàn)[{"properties":[{"enumListTag":[{"key":"OPEN",{"language":"en",{"language":"zh","desc"]{"key":"CLOSED",{"language":"en",{"language":"zh","desc"]}]}]}對應(yīng)設(shè)備詳情中的文字描述(HiHoApp會自動根據(jù)傳感器狀態(tài)的不同,使用對應(yīng)的描說對應(yīng)設(shè)備詳情中的文字描述(HiHoApp會自動根據(jù)傳感器狀態(tài)的不同,使用對應(yīng)的描說華為IoTAgent集成開發(fā)指南華為IoTAgent集成開發(fā)指南6.1IoTAgent集成開發(fā)指南6.1IoTAgent集成開發(fā)指南6.1.1概能力通過華為提供的IoT聯(lián)接管理平臺(以下統(tǒng)稱為平臺)、網(wǎng)關(guān)開放AgentAPI和測試6-總體開Agent開發(fā)流程如下確認(rèn)是否需要新增設(shè)備描述文件ProfileAgent側(cè)適配開發(fā)。參考Demo或基于Demo修改以滿足所 使用測試APP說 使用測試APP說6.1.2相關(guān)華為開發(fā)者社區(qū)官技術(shù)6.1.3開發(fā)準(zhǔn)備準(zhǔn)備軟開發(fā)平開發(fā)環(huán)配套要推薦的操作Version:MarsReleaseMaven插件:m2eMavenIntegration準(zhǔn)備說B),還需要購準(zhǔn)備說B),還需要購買dongle(ZWave:推薦AEOTECZ-STICKS2Model:DSA002203;ZigBee:EM357/EM358芯片。購買后需要給USBdongle刷ZigBee芯片原廠固件)、8G以上MicroSD卡,為網(wǎng)關(guān)Agent方法,請參考《華為IoT樹莓派RaspberryPi安裝網(wǎng)關(guān)Agent指導(dǎo).docx》。準(zhǔn)備待確認(rèn)是否需要新增名描獲取方華為IoT樹莓派RaspberryAgent的安裝過程(Service)類型說判斷新增的設(shè)備是否需要新增Profile,請參考《華為IoT設(shè)備能力說判斷新增的設(shè)備是否需要新增Profile,請參考《華為IoT設(shè)備能力描述文件profile開發(fā)6.1.4ZigBee傳感器開發(fā)操作操作說導(dǎo)入demo的詳細(xì)操作步驟,請參考導(dǎo)入Demo工程Bundle是指一個包含java類和其他資源的jar包步驟“Refactor>Rename”,在彈出的對話框中修改project的名稱。子工程子工程步驟2父工程pom中修改步驟2父工程pom中修改步驟在PackageExplorer導(dǎo)航中鼠標(biāo)左鍵選定工程,然后通過菜單“Refactor步驟在PackageExplorer導(dǎo)航中鼠標(biāo)左鍵選定工程,然后通過菜單“Refactor按上面的例子,這里對應(yīng)的包名為步驟步驟說務(wù)必在完成上面全部修改后再保存和編譯工程,如果出現(xiàn)子工程丟失(PackageExplore中不可步驟說務(wù)必在完成上面全部修改后再保存和編譯工程,如果出現(xiàn)子工程丟失(PackageExplore中不可bundle步驟在Eclipse的PackageExplorer窗口在開發(fā)的Project上單擊右鍵選擇“RunAsMaven步驟11、在PC機(jī)安裝Winscp工3、使用Winscp工具連接樹莓派網(wǎng)關(guān),默認(rèn)賬號密碼步驟4確認(rèn)bundle適配概上傳感器說適配概上傳感器說本指導(dǎo)僅用于符合ZigBeeClusterLibrary標(biāo)準(zhǔn)和ZigBeeHomeAutomation1.2標(biāo)準(zhǔn)的傳感器接入。當(dāng)ZigBeeClusterLibrary文檔與ZigBeeHomeAutomation1.2標(biāo)準(zhǔn)對同一特性均有描述時,以ZigBeeHomeAutomation1.2標(biāo)準(zhǔn)為準(zhǔn)?!緢鼍?】免開發(fā)接開發(fā)Agentbundle直接接入。定義上傳APP說支持的傳感器情況,請咨詢?nèi)A為IoT客服,郵箱:iotadmin@【場景2】定制開發(fā)定義上傳APP定制開發(fā)Agentbundle,上傳到Agent定制開––––下面結(jié)合開發(fā)Demo說明4個要素的定義位置,如下圖–傳感器的–傳感器的創(chuàng)建:在DeviceType.xml中,定義傳感器的類–––開發(fā)網(wǎng)Agent插件1.定義傳感器的標(biāo)thingTypes標(biāo)簽中傳感器標(biāo)識解釋如下表2.定義傳感器類參數(shù)名參數(shù)解說傳感器型號(Model說該ModelId需要與BasicCluster中的modelId(attributeId=0x0005)保持一致。ZHA-<colorLight>zigbee:1168-ZHA-ColorL

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論