智能家居系統(tǒng)

1.1 實(shí)訓(xùn)目的

1、通過(guò)中移物聯(lián)網(wǎng)平臺(tái)注冊(cè)創(chuàng)建 MQTT 設(shè)備;

?2、使用官方 MQTT 工具模擬智能家居系統(tǒng)實(shí)現(xiàn);

?3、利用平臺(tái)的 MQTT 消息服務(wù)能力,實(shí)現(xiàn)智能家居系統(tǒng)設(shè)備的實(shí)時(shí)受控;理解設(shè)備之間數(shù)據(jù)傳遞和 平臺(tái)命令下發(fā)/上傳數(shù)據(jù)的異同。

?1.2 實(shí)訓(xùn)步驟

1.2.1 創(chuàng)建基于 MQTT 協(xié)議的產(chǎn)品


MQTT產(chǎn)品

步驟1 進(jìn)入中移物聯(lián)網(wǎng)首頁(yè)的“開(kāi)發(fā)者中心”; 點(diǎn)擊左上角 標(biāo)記,從“全部產(chǎn)品”下各級(jí)功能中找到“基礎(chǔ)服務(wù)”類(lèi)別,點(diǎn)選“多協(xié)議接入” 功能點(diǎn)進(jìn)入。


多協(xié)議接入

步驟 2: 創(chuàng)建產(chǎn)品 選擇“MQTT(舊版)“的 Tab 頁(yè),可以看到目前沒(méi)有產(chǎn)品,則點(diǎn)擊“添加產(chǎn)品”按鈕,進(jìn)行添加。 在右側(cè)滑出的頁(yè)面中添加必要的產(chǎn)品信息:如本次實(shí)訓(xùn)任務(wù)中,產(chǎn)品名稱(chēng)輸入“智能家居”,行業(yè)選 擇“智能家居”,類(lèi)別選擇“家用電器”->”廚房電器”->“電熱飯盒”等信息。


添加產(chǎn)品

?步驟 3:繼續(xù)完善產(chǎn)品有關(guān)信息, 最后點(diǎn)擊確定,保存各項(xiàng)信息,稍等頁(yè)面提示產(chǎn)品創(chuàng)建成功,可以創(chuàng)建設(shè)備了。

1.2.2 創(chuàng)建基于 MQTT 的主控設(shè)備

1.配置主控設(shè)備的信息 在右側(cè)滑出的添加設(shè)備頁(yè)面中,設(shè)備名稱(chēng)輸入“燈光主控點(diǎn)”,鑒權(quán)信息輸入“publish”(全小寫(xiě)),其他保持默認(rèn)。最后點(diǎn)擊“添加”保存第一個(gè)設(shè)備的信息。


?1.2.3 創(chuàng)建基于 MQTT 的受控設(shè)備

步驟 1: 添加設(shè)備 點(diǎn)擊 按鈕,添加一個(gè)新的設(shè)備,名稱(chēng)輸入“客廳頂燈”、鑒權(quán)信息輸入“l(fā)ight1”, 點(diǎn)擊“添加”完成第二個(gè)設(shè)備的創(chuàng)建。


添加設(shè)備

?步驟 2: 繼續(xù)添加設(shè)備 繼續(xù)點(diǎn)擊 按鈕,添加另一個(gè)新的設(shè)備:設(shè)備名稱(chēng)輸入“臥室落地?zé)簟?、鑒權(quán)信息輸入 “l(fā)ight2”,點(diǎn)擊“添加”完成該設(shè)備的創(chuàng)建。


添加設(shè)備

1.2.4 下載并使用官方提供的 MQTT 工具

步驟 1:通過(guò)文檔中心找到官方工具


在當(dāng)前設(shè)備列表頁(yè)面的右上部分,我們可以隨時(shí)進(jìn)入“文檔中心”查看有關(guān)幫助,那么官方提供的 MQTT 測(cè)試工具也可以從這里進(jìn)入獲取到。 在左側(cè)菜單中,展開(kāi)“設(shè)備開(kāi)發(fā)指南”項(xiàng),選擇“測(cè)試工具”功能。


調(diào)試工具

?步驟 2:下載 MQTT 工具 選擇 MQTT 工具“點(diǎn)擊下載”。下載后解壓其中的 文件到本地磁盤(pán)目錄, 雙擊運(yùn)行該文件,能正常運(yùn)行。完成即可進(jìn)入下一步。

1.2.5 使用官方 MQTT 工具模擬設(shè)備接入

步驟 1: 記錄 OneNET 平臺(tái)中已經(jīng)注冊(cè)的產(chǎn)品及創(chuàng)建好的設(shè)備 ID 提示:該步目的用于填入到工具中,使得發(fā)起的 MQTT 連接里可以攜帶正確的信息,使其請(qǐng)求能被 OneNET 平臺(tái)正確認(rèn)證,作為一個(gè)設(shè)備順利接入。

?步驟 2:我們?cè)谶@里回顧下如何查看產(chǎn)品的 ID ? 查看產(chǎn)品信息:

步驟 3:查看設(shè)備的 ID: ? 查看設(shè)備信息:

?步驟 4:接入主控設(shè)備“燈光主控點(diǎn)”

(1)打開(kāi) 如下圖所示界面,注意紅色箭頭所指的三個(gè)關(guān)鍵輸入:

?? DeviceID,即之前步驟查看的 “燈光主控點(diǎn)”的設(shè)備 ID;

?? ProductID,即之前步驟查看的 MQTT 產(chǎn)品的 ID;

? AuthInfo,即之前步驟中“燈光主控點(diǎn)”在創(chuàng)建時(shí)填入的鑒權(quán)信息 提示:對(duì)于““燈光主控點(diǎn)”,當(dāng)時(shí)輸入的鑒權(quán)信息是:publish。如果大家按照之前步驟也是 這樣填入的話(huà)。


設(shè)備信息

?(2)填入所需信息,檢查無(wú)誤后,點(diǎn)擊“Connect”按鈕,連接到 OneNET 平臺(tái)。 提示:OneNET 平臺(tái)的 MQTT 服務(wù)接入地址及端口,工具已經(jīng)默認(rèn)填入,不需更改。


?(3)進(jìn)入 OneNET 平臺(tái)設(shè)備管理頁(yè)面中。查看平臺(tái)側(cè)對(duì)于設(shè)備狀態(tài)的刷新情況??梢钥吹?,“燈光 主控點(diǎn)”設(shè)備已上線(xiàn)。?


設(shè)備上線(xiàn)

?步驟 5:接入受控設(shè)備“客廳頂燈”

(2)檢查無(wú)誤后,點(diǎn)擊“Connect”按鈕,連接到 OneNET 平臺(tái)。查看平臺(tái)側(cè)對(duì)于設(shè)備狀態(tài)的刷新 情況??梢钥吹?“客廳頂燈”設(shè)備已上線(xiàn)。?

?步驟 6:接入受控設(shè)備“臥室落地?zé)簟?/p>

( 1 ) 好了,舉一反三,我們 仍然保留之前打開(kāi)的 MQTT 工具窗口 不變,再次新打開(kāi) 窗口,按照”臥室落地?zé)簟钡脑O(shè)備 ID、所屬產(chǎn)品 ID、鑒權(quán)信息進(jìn)行配置,并點(diǎn) 擊 Connect 按鈕連接,在 OneNET 平臺(tái)中檢查設(shè)備在線(xiàn)狀態(tài)變化情況

(2)將所有窗口的 Connect 按鈕都點(diǎn)擊,可以在 OneNET 平臺(tái)上看到所有設(shè)備的狀態(tài)都變?yōu)樵诰€(xiàn)。

?(3)依次點(diǎn)擊所有 MQTT 工具窗口中的 “Disconnect”按鈕,斷開(kāi)工具的 MQTT 連接,刷新設(shè) 備列表頁(yè)面,查看顯示的設(shè)備狀態(tài)信息:可以看到其狀態(tài)都變?yōu)殡x線(xiàn)。

步驟 7: 設(shè)置官方 MQTT 工具的連接保持為長(zhǎng)連接。 工具的默認(rèn)連接保持時(shí)長(zhǎng)為 120 秒,這樣當(dāng)其空閑 2 分鐘后,工具會(huì)自動(dòng)斷開(kāi),從 OneNET 平臺(tái)上 看就是設(shè)備一會(huì)兒就掉線(xiàn)了。為確保后續(xù)實(shí)訓(xùn)效果,我們勾中該工具的“Auto KeepAlive”選項(xiàng),再次點(diǎn) 擊“Connect”,以設(shè)備身份接入 OneNET 平臺(tái)。

1.2.6 為所有受控設(shè)備設(shè)置訂閱

步驟 1: 對(duì)“客廳頂燈”設(shè)備設(shè)置一個(gè)“訂閱”

(1)在 “客廳頂燈”設(shè)備所代表的 MQTT 工具窗口中部“訂閱”tab 頁(yè)里,填寫(xiě)一個(gè)訂閱主題, 本次實(shí)訓(xùn)任務(wù)填寫(xiě)內(nèi)容為“power“;

(2)點(diǎn)擊“訂閱“按鈕,告知 OneNET 平臺(tái)該設(shè)備對(duì)“power”主題的相關(guān)數(shù)據(jù)感興趣,有這方面 的數(shù)據(jù)均要告知本設(shè)備。 提示:如何確認(rèn)打開(kāi)的 MQTT 窗口是代表的“客廳頂燈”設(shè)備?可以根據(jù)之前填寫(xiě)的設(shè)備 ID 和鑒權(quán) 信息來(lái)識(shí)別。

?步驟 2: 對(duì)“臥室落地?zé)簟痹O(shè)備設(shè)置一個(gè)相同的“訂閱”

(1)在 “臥室落地?zé)簟痹O(shè)備所代表的 MQTT 工具窗口中部“訂閱”tab 頁(yè)里,填寫(xiě)同樣的一個(gè)訂閱 主題,本次實(shí)訓(xùn)任務(wù)填寫(xiě)內(nèi)容為“power“;

(2)點(diǎn)擊“訂閱“按鈕,告知 OneNET 平臺(tái)該設(shè)備也對(duì)“power”主題的相關(guān)數(shù)據(jù)感興趣,有這方 面的數(shù)據(jù)均要告知本設(shè)備。?

?1.2.7 主控設(shè)備發(fā)布消息,受控設(shè)備均獲得消息 步驟 1: 在“燈光主控點(diǎn)”設(shè)備中發(fā)布一個(gè)數(shù)據(jù)消息,主題為“power”

?(1)在 “燈光主控點(diǎn)”設(shè)備所在 MQTT 工具窗口中部“發(fā)布”tab 頁(yè)里,發(fā)布一個(gè)主題,本次實(shí)訓(xùn) 任務(wù)填寫(xiě)內(nèi)容為“power“,在內(nèi)容部分里可以填“Hello everyone, 關(guān)燈!”

(2)點(diǎn)擊“Submit“按鈕,發(fā)布一條“power”相關(guān)主題的數(shù)據(jù)到 OneNET 平臺(tái)。

?步驟 2: 分別在不同的受控設(shè)備上查看收到的平臺(tái)推送消息

(1)在 “客廳頂燈”設(shè)備所在 MQTT 工具窗口中部“收到的 Topic”tab 頁(yè)里,查看來(lái)自 OneNET 平臺(tái)推送的信息,可以看到有一條推送,且內(nèi)容正是“Hello everyone, 關(guān)燈!”。


推送消息

步驟 3: 繼續(xù)在“燈光主控點(diǎn)”設(shè)備上發(fā)布主題為 power 的不同內(nèi)容的消息。查看在不同的受控 設(shè)備上收到的平臺(tái)推送消息,注意觀察其推送時(shí)間。

1.3 拓展實(shí)訓(xùn)部分

1.3.1 OneNET 平臺(tái)直接下發(fā)命令給接入的設(shè)備

步驟 1: OneNET 平臺(tái)直接下發(fā)命令給接入的設(shè)備

?(1)在 OneNET 平臺(tái)上設(shè)備列表頁(yè)面,對(duì)“客廳頂燈”設(shè)備記錄所在的條目,點(diǎn)擊右側(cè)“更多操作”, 在浮動(dòng)窗口里點(diǎn)“下發(fā)命令”功能。

?(2)在打開(kāi)的頁(yè)面中可以看到,當(dāng)前下發(fā)命令數(shù)量為 0 個(gè),點(diǎn)擊右側(cè)的“下發(fā)命令”按鈕。

?(3)在右側(cè)滑出的窗口中選擇字符串格式,輸入數(shù)據(jù)“跟我一起做 ABC”,點(diǎn)擊下方的“發(fā)送”按 鈕。

(4)在命令列表頁(yè)面可以看到下發(fā)命令數(shù)為 1,且狀態(tài)為已發(fā)往設(shè)備。


命令狀態(tài)

?2:查看對(duì)應(yīng)設(shè)備接受命令情況 在“客廳頂燈”設(shè)備所在 MQTT 工具窗口中部“[OneNET]平臺(tái)指令接收”tab 頁(yè)里,查看來(lái)自 OneNET 平臺(tái)下發(fā)的指令,可以看到有一條指令,且內(nèi)容正是“跟我一起做 ABC”。


指令

1.3.2 接入的設(shè)備上報(bào)數(shù)據(jù)到 OneNET 平臺(tái)

步驟 1: 接入的設(shè)備上報(bào)數(shù)據(jù)到 OneNET 平臺(tái)

(1)在 “客廳頂燈”設(shè)備所在 MQTT 工具中部“[OneNET]上傳數(shù)據(jù)點(diǎn)”tab 頁(yè)里,選擇“數(shù)據(jù)類(lèi) 型”下拉列表框:數(shù)據(jù)類(lèi)型 7:分號(hào)間隔的 Float 數(shù)據(jù)(帶時(shí)間戳)

(2)在下方切換的窗口里輸入數(shù)據(jù)流 ID:1,數(shù)據(jù):26.6;30.4;33.5;38.6;36.5;30.2;20.1;18.8。注意 各個(gè)數(shù)據(jù)之間用英文分號(hào)“;”隔開(kāi),點(diǎn)擊“上傳數(shù)據(jù)”。 提示:這里的各個(gè)浮點(diǎn)數(shù)據(jù)是模擬燈光強(qiáng)度等物理量,這里的數(shù)據(jù)并不要求必須真實(shí),跟實(shí)訓(xùn)任務(wù)的 場(chǎng)景一致,也可以是一天之內(nèi)的客廳溫度數(shù)據(jù)等等,以分號(hào)間隔即可。

上傳數(shù)據(jù)

步驟 2:在 OneNET 平臺(tái)上查看設(shè)備上報(bào)數(shù)據(jù) 在 OneNET 平臺(tái)上設(shè)備列表頁(yè)面,對(duì)“客廳頂燈”設(shè)備記錄所在條目,點(diǎn)擊右側(cè)“數(shù)據(jù)流”,查看 收到的數(shù)據(jù)流,可以看到數(shù)據(jù) ID 為 1 的數(shù)據(jù)集。


數(shù)據(jù)集

??點(diǎn)擊該數(shù)據(jù)集,可以看到之前上傳的數(shù)據(jù)展開(kāi)成為一個(gè)折線(xiàn)圖。


折線(xiàn)圖

4.實(shí)訓(xùn)小結(jié) 實(shí)訓(xùn)小結(jié):

?1、中移物聯(lián)網(wǎng)平臺(tái)創(chuàng)建 MQTT 產(chǎn)品的入口、注冊(cè) MQTT 設(shè)備的注意點(diǎn);

?2、官方 MQTT 協(xié)議工具的使用技巧,如何正確將智能家居系統(tǒng)場(chǎng)景映射到 MQTT 設(shè)備客戶(hù)端中;

?3、利用平臺(tái)的 MQTT 消息服務(wù)能力,實(shí)現(xiàn)設(shè)備之間的數(shù)據(jù)實(shí)時(shí)傳遞,以及平臺(tái)與設(shè)備之間的命令下 發(fā)和數(shù)據(jù)上傳。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、實(shí)訓(xùn)背景 當(dāng)代社會(huì)智能家居大有可為,必將大行其道,是大勢(shì)所趨。 二、實(shí)訓(xùn)目的 1.學(xué)會(huì)分辨中移物聯(lián)網(wǎng)開(kāi)發(fā)板套件...
    辛霄閱讀 870評(píng)論 0 7
  • 1.1 實(shí)訓(xùn)目的 1、通過(guò)中移物聯(lián)網(wǎng)平臺(tái)注冊(cè)創(chuàng)建 MQTT 設(shè)備; 2、使用官方 MQTT 工具模擬智能家居系統(tǒng)實(shí)...
    千夜在夢(mèng)游閱讀 1,047評(píng)論 0 0
  • 我是黑夜里大雨紛飛的人啊 1 “又到一年六月,有人笑有人哭,有人歡樂(lè)有人憂(yōu)愁,有人驚喜有人失落,有的覺(jué)得收獲滿(mǎn)滿(mǎn)有...
    陌忘宇閱讀 8,822評(píng)論 28 54
  • 信任包括信任自己和信任他人 很多時(shí)候,很多事情,失敗、遺憾、錯(cuò)過(guò),源于不自信,不信任他人 覺(jué)得自己做不成,別人做不...
    吳氵晃閱讀 6,361評(píng)論 4 8
  • 步驟:發(fā)微博01-導(dǎo)航欄內(nèi)容 -> 發(fā)微博02-自定義TextView -> 發(fā)微博03-完善TextView和...
    dibadalu閱讀 3,393評(píng)論 1 3

友情鏈接更多精彩內(nèi)容