本文的主要內(nèi)容有:
一 先完成準(zhǔn)備任務(wù)
二 然后構(gòu)建并歸檔軟件包
三 實(shí)現(xiàn)消息通知服務(wù)(SMN)
四 云服務(wù)器部署初步上線
五 設(shè)備接入及模擬器連接
一 ????
前面登錄,賬號(hào)密碼哪些略過,直接下載要用到資源先,回到桌面雙擊“Xfce終端”打開Terminal同欠,輸入以下命令下載保存“HubSimulator.jar”到自己的云桌面上面
cd?Desktop/wget?https://sandbox-experiment-resource-north-4.obs.cn-north-4.myhuaweicloud.com/internet-wisdom-lamp/HubSimulator.jar
然后輸以下命令保存“SmartStreetLight.zip”壓縮包
wget?https://sandbox-experiment-resource-north-4.obs.cn-north-4.myhuaweicloud.com/internet-wisdom-lamp/SmartStreetLight.zip
1.1新建項(xiàng)目
然后選擇“服務(wù)列表”->“開發(fā)與運(yùn)維”->“項(xiàng)目管理”梢褐,進(jìn)入軟件開發(fā)云雄妥,如下圖這樣
敲黑板啊:不過先知道什軟件開發(fā)平臺(tái)是啥碳蛋?
它是集華為近30年研發(fā)實(shí)踐、前沿研發(fā)理念省咨、先進(jìn)研發(fā)工具為一體的一站式云端DevOps平臺(tái)肃弟,面向開發(fā)者提供的云服務(wù),即開即用零蓉,隨時(shí)隨地在云端進(jìn)行項(xiàng)目管理笤受、代碼托管、流水線敌蜂、代碼檢查箩兽、編譯構(gòu)建、部署章喉、測(cè)試比肄、發(fā)布等,從而給開發(fā)者快速而又輕松地開啟云端開發(fā)之旅囊陡。
點(diǎn)擊“立即使用”按鈕芳绩,跳轉(zhuǎn)到DevCloud操作界面,它是企業(yè)級(jí)軟件協(xié)作一體化DevOps平臺(tái)撞反,如下圖這樣
DevCloud操作界面如下圖:
點(diǎn)擊上圖紅圈標(biāo)注“新建項(xiàng)目”按鈕妥色,開始創(chuàng)建項(xiàng)目,如下圖所示:
點(diǎn)擊標(biāo)注的“Scrum”區(qū)域遏片,創(chuàng)建“Scrum”類型項(xiàng)目嘹害,參數(shù)如下:
項(xiàng)目設(shè)置模板:Scrum
項(xiàng)目名稱:QuickStart
參數(shù)填寫完畢,點(diǎn)擊確定按鈕即可完成項(xiàng)目創(chuàng)建吮便。
1.2創(chuàng)建代碼倉庫
1.2.1新建倉庫
選擇導(dǎo)航欄“代碼 > 代碼托管”笔呀,進(jìn)入管理頁面,展開右上角“普通新建”下拉菜單髓需,點(diǎn)擊“按模板新建”
1.2.2選擇模板
在搜索框中輸入“IoT_Streetlight_New_Demo”许师,如下圖所示選擇“華北-北京四”,選中該模板,單擊“下一步”微渠。
1.2.3然后填倉庫基本信息
基本信息參數(shù)如下:
①代碼倉庫名稱:自定義恼除,如:IoT_Streetlight_New_Demo ②選擇gitignore:Java 其他選項(xiàng)保持默認(rèn)
單擊“確定”鲁森,完成倉庫創(chuàng)建痊末。
創(chuàng)建成功后绪钥,可單擊倉庫名稱進(jìn)入倉庫,查看倉庫文件
二 ? 然后構(gòu)建并歸檔軟件包
2.1新建編譯構(gòu)建任務(wù)
點(diǎn)擊導(dǎo)航欄“構(gòu)建&發(fā)布 > 編譯構(gòu)建”云芦,進(jìn)入管理頁面俯逾,點(diǎn)擊“新建任務(wù)”,參數(shù)如下
①源碼源:CodeHub舅逸;
②源碼倉庫:默認(rèn)選擇1.2步創(chuàng)建的代碼倉庫纱昧;
③分支:master;
點(diǎn)擊“下一步”進(jìn)入“選擇構(gòu)建模板”
2.2選擇構(gòu)建模板
本項(xiàng)目是一個(gè)Java Maven項(xiàng)目堡赔,所以搜索選擇“Maven”模板识脆, 單擊“確定”,進(jìn)入“構(gòu)建步驟”頁面
2.3然后構(gòu)建步驟
使用系統(tǒng)模板中提供的兩個(gè)默認(rèn)步驟善已、以及每個(gè)步驟中的默認(rèn)配置灼捂,即可完成本例的構(gòu)建。點(diǎn)擊“新建并執(zhí)行”即可完成步驟的配置并啟動(dòng)構(gòu)建任務(wù)换团,如下圖所示
敲黑板:構(gòu)建需要2-3分鐘悉稠,請(qǐng)耐心等待...............
當(dāng)出現(xiàn)上面圖片表示的頁面時(shí),表示構(gòu)建任務(wù)執(zhí)行成功艘包。若執(zhí)行失敗的猛,就查看日志信息排查問題,或通過編譯構(gòu)建-常見問題查找解決方法想虎。
2.4驗(yàn)證構(gòu)建任務(wù)執(zhí)行結(jié)果
點(diǎn)擊導(dǎo)航欄“發(fā)布”卦尊,進(jìn)入“軟件發(fā)布庫”頁面,點(diǎn)擊進(jìn)入“IoT_Streetlight...”下的“202…”日期命名的文件夾舌厨,即可看到生成的軟件包“huawei-0.0.1-SNAPSHOT.jar”
2.5創(chuàng)建主題并訂閱 SMN
在華為云控制臺(tái)岂却,展開左側(cè)目錄,選擇【服務(wù)列表】->【管理與監(jiān)管】?->?【消息通知服務(wù)SMN】裙椭,或在服務(wù)列表搜索框中搜索“SMN”躏哩。
什么是消息通知服務(wù)?
注意:若提示無權(quán)限揉燃,請(qǐng)確認(rèn)左上角區(qū)域是否在“華北-北京四”即可
在左側(cè)導(dǎo)航欄扫尺,選擇“主題管理 > 主題”,單擊“創(chuàng)建主題”炊汤,輸入“主題名稱”(自定義正驻,例如:StreetLight)后單擊“確定”完成主題創(chuàng)建
三 ?? 實(shí)現(xiàn)消息通知服務(wù)(SMN)
主題創(chuàng)建成功后弊攘,系統(tǒng)會(huì)自動(dòng)生成主題URN,主題URN是主題的唯一資源標(biāo)識(shí)拨拓,不可修改肴颊,后續(xù)步驟將會(huì)用到該URN
點(diǎn)擊主題“StreetLight”右側(cè)操作“添加訂閱”氓栈,可采用短信或者郵件任意一種協(xié)議完成訂閱渣磷。
“短信協(xié)議”參數(shù)如下:
①協(xié)議:短信
②訂閱終端:用戶手機(jī)號(hào)碼(需填寫您的手機(jī)號(hào)完成此步)
單擊“確定”后,請(qǐng)查看手機(jī)接收短信授瘦,點(diǎn)擊短信中的鏈接進(jìn)行訂閱確認(rèn)
四 ?? 云服務(wù)器部署初步上線
4.1網(wǎng)絡(luò)配置
點(diǎn)擊“前往控制臺(tái)創(chuàng)建”醋界,就能跳轉(zhuǎn)到虛擬私有云控制臺(tái)頁面
在虛擬私有云控制臺(tái),點(diǎn)擊“創(chuàng)建虛擬私有云”提完,區(qū)域選擇“華北-北京四”形纺,名稱自定義(如:vpc-iot),默認(rèn)子網(wǎng)名稱自定義(如:subnet-iot),其他參數(shù)均可默認(rèn)徒欣,點(diǎn)擊“立即創(chuàng)建”完成后逐样,即可返回網(wǎng)絡(luò)配置頁面;
返回網(wǎng)絡(luò)配置頁面打肝,刷新后脂新,選擇剛創(chuàng)建的虛擬私有云VPC(如:vpc-iot)和子網(wǎng)(如:subnet-iot),自動(dòng)分配IP地址粗梭,如下圖所示
②擴(kuò)展網(wǎng)卡:默認(rèn)配置
③安全組:默認(rèn)配置
④彈性公網(wǎng)IP:現(xiàn)在購買
⑤線路:默認(rèn)配置
⑥公網(wǎng)帶寬:按帶寬計(jì)費(fèi)
⑦帶寬大姓恪:1Mbit/s
4.2 高級(jí)配置
完成網(wǎng)絡(luò)配置后單擊“下一步:高級(jí)配置”,參數(shù)如下:
①云服務(wù)器名稱:自定義断医,如:ecs-iot
②登錄憑證:密碼
③密碼/確認(rèn)密碼:自定義滞乙,如:SM1$b9Zs1#
⑥其他參數(shù):默認(rèn)配置
完成高級(jí)配置后點(diǎn)擊“下一步:確認(rèn)配置”,閱讀并勾選同意協(xié)議鉴嗤,單擊“立即購買”后斩启,點(diǎn)擊返回云服務(wù)器列表。當(dāng)狀態(tài)為“運(yùn)行中”表示已創(chuàng)建完成醉锅;
4.3 主機(jī)授信配置
創(chuàng)建的彈性云服務(wù)器ECS的“彈性公網(wǎng)IP”信息將在后續(xù)步驟4.1添加授信主機(jī)的配置中用到浇垦;
4.4 添加安全組入方向規(guī)則
點(diǎn)擊新創(chuàng)建的彈性云服務(wù)器ECS的名稱進(jìn)入詳情頁,選擇“安全組”頁簽荣挨,點(diǎn)擊Sys-WebServer安全組右側(cè)的【配置規(guī)則】進(jìn)入規(guī)則配置頁面男韧。
在新打開的安全組控制界面,選擇“入方向規(guī)則”默垄,單擊“添加規(guī)則”此虑,如下圖所示:
① 優(yōu)先級(jí):1
② 策略:允許
③ 協(xié)議端口:8080;
④ IP地址設(shè)為0.0.0.0/0口锭。
點(diǎn)擊“確定”朦前。
4.5 配置系統(tǒng)防火墻規(guī)則
返回實(shí)驗(yàn)桌面雙擊“Xfce終端”打開Terminal介杆,輸入以下命令,并按照操作說明執(zhí)行韭寸,登錄云服務(wù)器:
操作說明:
①使用彈性云服務(wù)器ECS的彈性公網(wǎng)IP替換命令中的[EIP]
說明:云服務(wù)器的彈性公網(wǎng)IP地址可以通過點(diǎn)擊“控制臺(tái)”->“服務(wù)列表”->“計(jì)算”->“彈性云服務(wù)器ECS”進(jìn)入服務(wù)器列表春哨,進(jìn)行查看并復(fù)制
ssh?root@EIP
②接受秘鑰輸入“yes”,回車恩伺;
③輸入密碼:SM1$b9Zs1#(輸入密碼時(shí)赴背,命令行窗口不會(huì)顯示密碼,輸完之后直接鍵入回車)晶渠。成功登錄云服務(wù)器之后如下圖所示
④執(zhí)行sudo ufw enable開啟ufw服務(wù)凰荚,輸入“y”確認(rèn)。
sudo?ufw?enable
sudo?ufw?allow?22/tcp
⑥執(zhí)行sudo ufw allow 8080/tcp啟用8080端口褒脯。
sudo?ufw?allow?8080/tcp
4.6 部署智慧路燈應(yīng)用
添加授信主機(jī)
單擊導(dǎo)航欄“更多 > 設(shè)置 > 通用設(shè)置”便瑟,選擇左側(cè)欄“主機(jī)組管理”,然后點(diǎn)擊“新建主機(jī)組”番川,參數(shù)如下:
①主機(jī)組名:自定義到涂,如:iot
②操作系統(tǒng):Linux
點(diǎn)擊“保存”完成主機(jī)組的創(chuàng)建,并進(jìn)入該主機(jī)組颁督。
新建部署任務(wù)
點(diǎn)擊導(dǎo)航欄“構(gòu)建&發(fā)布 > 部署”進(jìn)入践啄,然后點(diǎn)擊“新建任務(wù)”,輸入任務(wù)名稱(可使用默認(rèn)值)适篙,單擊“下一步”進(jìn)入“選擇部署模板”往核。
選擇模板“SpringBoot應(yīng)用部署”,單擊“下一步”嚷节,進(jìn)入“部署步驟”頁面
4.3配置部署步驟并執(zhí)行
SpringBoot應(yīng)用部署模板默認(rèn)包含以下步驟:安裝JDK聂儒、停止SpringBoot服務(wù)、選擇部署來源硫痰、啟動(dòng)SpringBoot服務(wù)衩婚、URL健康測(cè)試
4.3.1刪除“停止SpringBoot服務(wù)”和“URL健康測(cè)試”;
4.3.2選中“安裝JDK”效斑,主機(jī)組:選擇添加授信主機(jī)是創(chuàng)建的主機(jī)組(如:iot)非春,彈框提示點(diǎn)擊“確定”,jdk版本:openjdk-1.8.0缓屠;
敲黑板捌骊肌:部署失敗怎么辦?
答案:請(qǐng)根據(jù)實(shí)驗(yàn)步驟逐步檢查: 1敌完、主機(jī)是否添加成功并完成了連通性驗(yàn)證 2储耐、所有步驟的參數(shù)是否配置正確,手動(dòng)輸入的參數(shù)是否多了個(gè)空格滨溉,少了個(gè)符號(hào)等等什湘。 3长赞、不用的步驟和參數(shù)是否都已刪除。
選中“選擇部署來源”闽撤,參數(shù)如下:
①選擇源類型:軟件包得哆;
②選擇軟件包:點(diǎn)擊右側(cè)“…”,選擇構(gòu)建包哟旗,路徑如下圖所示贩据;
③下載到主機(jī)的部署目錄:按需填寫,如/usr/local
選中“啟動(dòng)SpringBoot服務(wù)”热幔,參數(shù)如下:
①服務(wù)操作類型:保持默認(rèn)值
②服務(wù)對(duì)應(yīng)的絕對(duì)路徑:由“下載到主機(jī)的部署目錄”和軟件包包名組成乐设,如/usr/local/huawei-0.0.1-SNAPSHOT.jar
③組件監(jiān)控:去掉勾選
切換到“參數(shù)設(shè)置”頁簽讼庇,逐一刪除全部參數(shù)
點(diǎn)擊“保存并執(zhí)行”绎巨,完成部署任務(wù)的配置,并執(zhí)行部署任務(wù)蠕啄;
頁面顯示“部署成功”场勤,表示任務(wù)執(zhí)行完畢。若任務(wù)執(zhí)行失敗歼跟,可通過頁面中的原因提示及鏈接來排查解決和媳;
五 ?? 設(shè)備接入及模擬器連接
5.1創(chuàng)建產(chǎn)品
在華為云控制臺(tái),展開左側(cè)導(dǎo)航哈街,選擇“服務(wù)列表”-> “物聯(lián)網(wǎng)”->“設(shè)備接入IoTDA”留瞳,如下圖所示
敲黑板啊:設(shè)備接入服務(wù)是什么骚秦?
它是華為云的物聯(lián)網(wǎng)平臺(tái)她倘,提供海量設(shè)備連接上云、設(shè)備和云端雙向消息通信作箍、批量設(shè)備管理硬梁、遠(yuǎn)程控制和監(jiān)控、OTA升級(jí)胞得、設(shè)備聯(lián)動(dòng)規(guī)則等能力荧止,并可將設(shè)備數(shù)據(jù)靈活流轉(zhuǎn)到華為云其他服務(wù)。物聯(lián)網(wǎng)平臺(tái)中阶剑,某一類具有相同能力或特征的設(shè)備的合集被稱為一款產(chǎn)品跃巡。您可為產(chǎn)品定義產(chǎn)品模型,產(chǎn)品模型用于描述設(shè)備具備的能力和特性牧愁。定義產(chǎn)品模型素邪,即在物聯(lián)網(wǎng)平臺(tái)構(gòu)建一款設(shè)備的抽象模型,使平臺(tái)理解該款設(shè)備支持的服務(wù)递宅、屬性娘香、命令等信息苍狰;
在左側(cè)欄中選擇“產(chǎn)品”,點(diǎn)擊“創(chuàng)建產(chǎn)品”烘绽,參數(shù)如下
①所屬資源空間:Default_APP_Sandbox_user_iot
②產(chǎn)品名稱:自定義淋昭,如:StreetLight
③協(xié)議類型:MQTT
④數(shù)據(jù)格式:JSON
⑤廠商名稱:自定義,如:Huawei_IoT
⑥設(shè)備類型:自定義安接,如:StreetLight
填寫完成翔忽,點(diǎn)擊“立即創(chuàng)建”,產(chǎn)品創(chuàng)建成功盏檐,請(qǐng)記錄“產(chǎn)品ID”信息歇式,并查看“詳情”
5.2 上傳模型文件
點(diǎn)擊創(chuàng)建的產(chǎn)品進(jìn)入詳情,然后點(diǎn)擊“上傳模型文件”胡野,選擇SmartStreetLight.zip文件材失,點(diǎn)擊“確認(rèn)”完成上傳
5.3 訪問智慧路燈Web界面
新建瀏覽器標(biāo)簽頁,輸入http://EIP:8080/index.html(使用步驟3.2中彈性云服務(wù)器的彈性公網(wǎng)IP替換地址中的“EIP”)硫豆,訪問智慧路燈Web頁面龙巨。
6.2參數(shù)設(shè)置
在彈出的“參數(shù)設(shè)置”窗口,參數(shù)填寫如下:
①數(shù)據(jù)來源:參數(shù)設(shè)置頁面下拉框選擇“訂閱推送”熊响;
②本機(jī)IP:“控制臺(tái)”->“服務(wù)列表”->“計(jì)算”->“彈性云服務(wù)器ECS”進(jìn)入服務(wù)器列表旨别,進(jìn)行查看并復(fù)制彈性公網(wǎng)IP;
敲黑板昂骨选:為什么要配置這些參數(shù)秸弛?
智慧路燈應(yīng)用通過API方式和華為云對(duì)接,注冊(cè)設(shè)備洪碳、獲取設(shè)備數(shù)據(jù)和下發(fā)命令房待,這些參數(shù)在調(diào)用API時(shí)才用鹃栽;
③主題URN:“控制臺(tái)”->“服務(wù)列表”->“管理與監(jiān)管”->“消息通知服務(wù)SMN”進(jìn)入主題列表,進(jìn)行查看并復(fù)制主題URN
④APPID:“控制臺(tái)”->“服務(wù)列表”-> “物聯(lián)網(wǎng)”->“設(shè)備接入IoTDA”,在左側(cè)導(dǎo)航欄選擇“資源空間”锦茁,復(fù)制獲取產(chǎn)品所需的“APPID”
⑤賬號(hào)名:系統(tǒng)為您分配的華為云實(shí)驗(yàn)賬號(hào)名
⑥IAM用戶名:系統(tǒng)為您分配的華為云實(shí)驗(yàn)用戶名
⑦IAM用戶密碼:系統(tǒng)為您分配的華為云實(shí)驗(yàn)密碼
⑧項(xiàng)目ID:控制臺(tái)在右上角用戶名下拉框中選擇“我的憑證->API憑證”頁面復(fù)制獲取所屬區(qū)域?yàn)椤叭A北-北京四”的項(xiàng)目ID撞叽。
⑨產(chǎn)品ID:“控制臺(tái)”->“服務(wù)列表”-> “物聯(lián)網(wǎng)”->“設(shè)備接入IoTDA”俏蛮,在左側(cè)導(dǎo)航欄選擇“產(chǎn)品”撼泛,復(fù)制獲取產(chǎn)品所需的“產(chǎn)品ID”。
填寫完成后點(diǎn)擊“確定”吵冒,彈窗提示如下纯命,表示參數(shù)設(shè)置成功
5.4 注冊(cè)設(shè)備
輸入設(shè)備標(biāo)識(shí)(自定義,如123456789f)痹栖,點(diǎn)擊“注冊(cè)設(shè)備”
敲黑板耙诠:彈窗提示如下,表示注冊(cè)設(shè)備成功揪阿。請(qǐng)記錄“設(shè)備Id”和“密鑰”信息疗我,用于后續(xù)驗(yàn)證咆畏,請(qǐng)記錄設(shè)備id以及密鑰,便于后期使用吴裤!
設(shè)備注冊(cè)成功后是“未激活”狀態(tài)旧找,請(qǐng)選擇“服務(wù)列表”-> “物聯(lián)網(wǎng)”->“設(shè)備接入服務(wù)”,在左側(cè)欄選擇“設(shè)備 > 所有設(shè)備”麦牺,點(diǎn)擊設(shè)備標(biāo)識(shí)碼進(jìn)入钮蛛,查看設(shè)備Id,或修改密鑰剖膳。
結(jié)果驗(yàn)證(設(shè)備屬性上報(bào)/訂閱/設(shè)備命令下發(fā))魏颓;
5.5 模擬器與平臺(tái)建立連接
7.1.1打開MQTT設(shè)備模擬器
在實(shí)驗(yàn)桌面雙擊“Xfce終端”打開Terminal,執(zhí)行以下命令打開設(shè)備接入模擬器(HubSimulator.jar)吱晒,然后切換到MQTT設(shè)備模擬器頁簽
敲黑板暗楸ァ:HubSimulator.jar是什么工具?
HubSimulator.jar是設(shè)備接入服務(wù)提供的多功能模擬器枕荞,本實(shí)驗(yàn)中我們用它來模擬MQTT設(shè)備接入柜候;連接失敗怎辦呢搞动,請(qǐng)檢查服務(wù)IP(域名)躏精,設(shè)備ID和設(shè)備秘鑰的填寫是否都正確,有無多余的空格基本就可以解決了哈鹦肿;
cd?Desktop//usr/local/share/jre1.8.0_181/bin/java?-jar?HubSimulator.jar
5.6 建立連接
在MQTT設(shè)備模擬器頁簽下矗烛,填寫參數(shù)如下:
①服務(wù)IP:進(jìn)入“服務(wù)列表”-> “物聯(lián)網(wǎng)”->“設(shè)備接入IoTDA”,在左側(cè)欄選擇“總覽”箩溃,點(diǎn)擊“平臺(tái)接入地址”
復(fù)制使用MQTT/MQTTS接入信息的域名瞭吃。
②設(shè)備ID:配置智慧路燈應(yīng)用,注冊(cè)設(shè)備成功后返回的設(shè)備Id
③設(shè)備密鑰:配置智慧路燈應(yīng)用涣旨,注冊(cè)設(shè)備成功后返回的密鑰
配置好以上參數(shù)后歪架,點(diǎn)擊“建立連接”按鈕。
建立連接成功后霹陡,右側(cè)日志顯示MQTT服務(wù)連接成功和蚪,如下圖所示:
若無法建立連接,請(qǐng)打開“命令提示符”窗口烹棉,輸入“ping 服務(wù)IP”查看您的主機(jī)是否能和華為云物聯(lián)網(wǎng)平臺(tái)正常通信攒霹,若無法正常通信,請(qǐng)更換主機(jī)的網(wǎng)絡(luò)環(huán)境
5.7 查看設(shè)備狀態(tài)
回到物聯(lián)網(wǎng)所有設(shè)備列表( “服務(wù)列表”-> “物聯(lián)網(wǎng)”->“設(shè)備”→“所有設(shè)備”)浆洗,設(shè)備狀態(tài)變更為“在線”催束,如下圖所示
5.8 模擬器設(shè)備屬性上報(bào)
7.2.1模擬器發(fā)送消息,上報(bào)設(shè)備屬性
①在模擬器窗口中的Topic欄中輸入以下代碼:$oc/devices/{device_id}/sys/properties/report伏社,其中的{device_id}需要替換成實(shí)際設(shè)備ID
敲黑板翱俅獭:應(yīng)用界面不顯示上報(bào)的數(shù)據(jù)怎么辦塔淤?
首先檢查上報(bào)數(shù)據(jù)的Topic填寫是否正確,然后檢查上報(bào)數(shù)據(jù)是否符合JSON格式速妖。如果以上兩點(diǎn)都檢查沒問題凯沪,再檢查之前參數(shù)設(shè)置的是否都正確
$oc/devices/{device_id}/sys/properties/report
②消息內(nèi)容:
其中,光感強(qiáng)度可自定義买优,燈狀態(tài)建議為OFF妨马。
在模擬器窗口中的消息編輯欄中輸入以下代碼:
{"services":[{"service_id":"Sensor","properties":{"luminance":"200","light_state":"OFF"}}]}
發(fā)送消息成功后,右側(cè)日志顯示信息推送成功(圖片僅為示意杀赢,請(qǐng)以你上報(bào)實(shí)際數(shù)據(jù)為準(zhǔn)哈)
返回智慧路燈Web界面烘跺,此時(shí)顯示“環(huán)境亮度”為200LUX,“燈狀態(tài)”為關(guān)脂崔。
敲黑板啦:模擬器與Web頁面之間會(huì)有短暫延遲滤淳,不用刷新頁面,幾秒鐘后可發(fā)現(xiàn)頁面會(huì)隨之變化砌左!
5.10 模擬器訂閱Topic
切換到“訂閱Topic”頁簽脖咐,并在Topic欄中輸入以下代碼:
$oc/devices/{device_id}/sys/commands/#,其中的{device_id}需要替換成實(shí)際設(shè)備ID汇歹。
輸入完畢后屁擅,點(diǎn)擊“訂閱”按鈕可完成訂閱。
$oc/devices/{device_id}/sys/commands/#
訂閱成功后产弹,右側(cè)日志顯示訂閱Topic成功
5.11 平臺(tái)下發(fā)設(shè)備命令/模擬器響應(yīng)
7.4.1終端聯(lián)控模式配置
返回智慧路燈Web界面派歌,“路燈控制”選擇“終端聯(lián)控模式”,開關(guān)選擇“開”痰哨,單擊“設(shè)置”胶果,然后點(diǎn)擊”確認(rèn)”。
①若當(dāng)前燈狀態(tài)為“關(guān)”斤斧,開關(guān)選擇為“開”早抠,服務(wù)后臺(tái)會(huì)實(shí)時(shí)下發(fā)一條開燈命令,彈窗提示會(huì)有5-10秒左右延遲撬讽,請(qǐng)耐心等待蕊连。
②若當(dāng)前燈狀態(tài)為“關(guān)”,開關(guān)選擇為“關(guān)”锐秦,不會(huì)觸發(fā)命令下發(fā)咪奖,直接彈窗提示設(shè)置成功;
即“燈狀態(tài)”與“開關(guān)選擇”一致時(shí)酱床,不會(huì)觸發(fā)命令下發(fā)羊赵;“燈狀態(tài)”與“開關(guān)選擇”不一致時(shí),會(huì)觸發(fā)實(shí)時(shí)命令下發(fā);
收不到命令怎么辦昧捷?
5.12 命令接收
因?yàn)楫?dāng)前“燈狀態(tài)”為關(guān)闲昭,“開關(guān)選擇”為開,查看模擬器日志區(qū)域靡挥,會(huì)收到一條開燈命令序矩。(payload的值經(jīng)過base64加密,解密后即可得到命令內(nèi)容)
5.13 模擬器發(fā)送消息跋破,上報(bào)變更后的設(shè)備屬性
①Topic:$oc/devices/{device_id}/sys/properties/report簸淀,其中的{device_id}需要替換成實(shí)際設(shè)備ID。
$oc/devices/{device_id}/sys/properties/report
②消息內(nèi)容:
其中毒返,光感強(qiáng)度可自定義租幕,燈狀態(tài)建議為ON。
{"services":[{"service_id":"Sensor","properties":{"luminance":"110","light_state":"ON"}}]}
5.14 查看應(yīng)用界面變化
如下圖所示拧簸,應(yīng)該顯示“環(huán)境亮度”為110LUX劲绪,“燈狀態(tài)”為開。
5.15 短信/郵件通知
在模擬器上單擊“斷開連接”后盆赤,重復(fù)7.4.1贾富,“路燈控制”選擇“終端聯(lián)控模式”,開關(guān)選擇“關(guān)”牺六,單擊“設(shè)置”颤枪。
因?yàn)闊魻顟B(tài)為“開”,開關(guān)選擇為“關(guān)”兔乞,服務(wù)后臺(tái)會(huì)實(shí)時(shí)下發(fā)一條關(guān)燈命令汇鞭;而設(shè)備處于離線狀態(tài),導(dǎo)致命令下發(fā)失敗
此時(shí)庸追,系統(tǒng)會(huì)發(fā)送短信/郵件通知告知訂閱用戶命令下發(fā)失敗台囱;通知內(nèi)容為命令下發(fā)失敗的錯(cuò)誤信息
通知示例:【華為云】錯(cuò)誤信息:{"error_code":"IOTDA.014016","error_msg":"Operation not allowed. The device is not online."}
設(shè)備變更為“離線”狀態(tài)淡溯,請(qǐng)登錄華為云控制臺(tái),選擇“物聯(lián)網(wǎng) > 設(shè)備接入服務(wù)”簿训,在左側(cè)導(dǎo)航欄咱娶,選擇“設(shè)備 > 所有設(shè)備”,根據(jù)設(shè)備標(biāo)識(shí)碼查看設(shè)備狀態(tài)
5.16(可選)自動(dòng)調(diào)光模式
自動(dòng)調(diào)光模式參數(shù)配置
在模擬器上單擊“建立連接”强品,將設(shè)備重新上線膘侮。返回智慧路燈Web界面,“路燈控制”選擇“自動(dòng)調(diào)光模式”的榛,設(shè)置亮度閾值為100
5.17 模擬器接收反應(yīng)
因?yàn)楫?dāng)前“環(huán)境亮度”為110LUX琼了,“燈狀態(tài)”為開,查看模擬器日志區(qū)域,應(yīng)該會(huì)收到關(guān)燈命令雕薪。
①若當(dāng)前“環(huán)境亮度”大于“亮度閾值”昧诱,且“燈狀態(tài)”為“開”,服務(wù)后臺(tái)會(huì)實(shí)時(shí)下發(fā)一條關(guān)燈命令所袁,彈窗提示會(huì)有5-10秒左右延遲盏档,請(qǐng)耐心等待。
②若當(dāng)前“環(huán)境亮度”小于“亮度閾值”燥爷,且“燈狀態(tài)”為“開”蜈亩,不會(huì)觸發(fā)命令下發(fā),直接彈窗提示設(shè)置成功
即“環(huán)境亮度”小于“亮度閾值”前翎,且“燈狀態(tài)”為“開”或“環(huán)境亮度”大于“亮度閾值”勺拣,且“燈狀態(tài)”為“關(guān)”時(shí),不會(huì)觸發(fā)命令下發(fā)鱼填;反之药有,則會(huì)觸發(fā)實(shí)時(shí)命令下發(fā)
模擬器發(fā)送消息,上報(bào)變更后的設(shè)備屬性苹丸。
①Topic:$oc/devices/{device_id}/sys/properties/report愤惰,其中的{device_id}需要替換成實(shí)際設(shè)備ID
$oc/devices/{device_id}/sys/properties/report
②消息內(nèi)容:
其中,光感強(qiáng)度<100赘理,燈狀態(tài)為OFF
{"services":[{"service_id":"Sensor","properties":{"luminance":"80","light_state":"OFF"}}]}
5.18 查看Web界面
返回智慧路燈Web界面宦言,單擊“設(shè)置”,查看模擬器日志區(qū)域商模,會(huì)收到一條開燈命令
5.19(可選)分段定時(shí)模式
分段定時(shí)模式參數(shù)配置
返回智慧路燈Web界面奠旺,“路燈控制”選擇“分段定時(shí)模式”,設(shè)置關(guān)燈時(shí)間段為06:30-18:30施流。
敲黑板啦:“關(guān)燈時(shí)間段”和“亮度曲線”橫軸時(shí)間均為彈性云服務(wù)器系統(tǒng)時(shí)間响疚,即為GMT+0:00時(shí)區(qū)
結(jié)果判定,因?yàn)楫?dāng)前“燈狀態(tài)”為關(guān)瞪醋,需根據(jù)彈性云服務(wù)器系統(tǒng)時(shí)間(參考“亮度曲線”橫軸時(shí)間)判斷結(jié)果忿晕;
①若系統(tǒng)時(shí)間位于“關(guān)燈時(shí)間段”之外,且“燈狀態(tài)”為“關(guān)”银受,服務(wù)后臺(tái)會(huì)實(shí)時(shí)下發(fā)一條開燈命令践盼,彈窗提示會(huì)有5-10秒左右延遲,請(qǐng)耐心等待
②若系統(tǒng)時(shí)間位于“關(guān)燈時(shí)間段”之內(nèi)宾巍,且“燈狀態(tài)”為“關(guān)”咕幻,不會(huì)觸發(fā)命令下發(fā),直接彈窗提示設(shè)置成功啦開心
5.20 (可選)如何正確刪除應(yīng)用服務(wù)
首先刪彈性云服務(wù)器 ECS
在華為云控制臺(tái)顶霞,選擇“服務(wù)列表”-> “計(jì)算”-> “彈性云服務(wù)器 ECS”進(jìn)入肄程,勾選待刪除ECS服務(wù)器,如ecs-iot,選擇“更多 > 刪除”绷耍,在彈窗中請(qǐng)勾選刪除彈性公網(wǎng)IP和數(shù)據(jù)盤后吐限,點(diǎn)擊“是”完成刪除
然后刪設(shè)備接入服務(wù) IoTDA
在華為云控制臺(tái),選擇“服務(wù)列表”->“物聯(lián)網(wǎng)”->“設(shè)備”→“所有設(shè)備”進(jìn)入所有設(shè)備列表褂始,根據(jù)設(shè)備標(biāo)識(shí)碼刪除設(shè)備诸典,如123456789f。然后在左側(cè)欄選擇“產(chǎn)品”崎苗,刪除產(chǎn)品狐粱,如StreetLight
最后刪桌面下載的資源包
桌面雙擊“Xfce終端”打開Terminal,輸入以下命令下載刪除“HubSimulator.jar”文件胆数。
cd?Desktop/rm?HubSimulator.jar
接下來刪除“SmartStreetLight.zip”壓縮包肌蜻。命令如下:
rm?SmartStreetLight.zip