1. 程式人生 > >【物聯網雲端對接-4】通過MQTT協議與百度雲進行雲端通信

【物聯網雲端對接-4】通過MQTT協議與百度雲進行雲端通信

src 發布 訂閱 操作 websocket 編寫 通用 頁面 開發

百度雲的天工物聯網服務目前包括:物接入、物解析、物管理、時序數據庫和規則引擎等5大部分,本篇文章僅介紹物接入。

天工物聯網的物接入,從開發者的角度來說相對有些復雜,需要多步操作才能實現一個雲設備的創建,下面我們將詳細介紹一下相關的步驟:

第一步:創建實例(類似工程中的項目概念)

技術分享

支持三種方式訪問。TCP,SSL(TCP加密通道),WSS(WebSocket 加密通道)。

第二步:創建設備

技術分享

第三步:創建身份

技術分享

天工物聯網對設備的訪問增加了身份這一個功能,這樣對一個項目來說,安全性有了一定層度的提升,比如有些模塊,只有上傳的功能,那麽可以綁定一個低權限的身份。或者是聯合進行項目開發的時候,有些設備需要第三方合作開發,那麽為第三方配置一個身份即可,約束其要傳或收的topic即可。

第四步:創建策略

技術分享

每個身份其實可以綁定若幹個策略,每個策略對應若幹個topic主題。和微軟及阿裏不同,百度的topic沒有默認主題,這裏我們創建一個相對通用的“yfiothub/yfdevice01/#”。也就是說這個節點下的所有topic都可以訂閱也可以發布。

第五步:獲取訪問密鑰

技術分享

這個密鑰其實是和身份綁定的,而不是和設備綁定的,不同的身份對應不同的密鑰,不同的身份包含的策略也不一樣。所以相同的用戶名,不同的密鑰對應的身份不同。

完成以上5步操作,那麽我們就可以讓設備來對接物聯網雲平臺了。

和微軟及阿裏的物聯網平臺不同,百度的雲連接非常簡單。客戶ID可以任意,用戶名就是和設備對應的用戶名,密碼就是身份對應的密碼,沒有所謂的toKen等概念。

技術分享

發布和訂閱的topic,我們仿照阿裏的分別定義為:

yfiothub/yfdevice01/update

yfiothub/yfdevice01/get

除了代碼編寫外,同樣我們也做組態的方案,具體實施步驟如下:

第一步:添加設備

技術分享

設備變量自動生成

技術分享

第二步:增加百度雲MQTT客戶端策略

技術分享

填寫完服務器配置信息,然後勾選需要上傳的IO變量

技術分享

第三步:部署運行

技術分享

相對於微軟和阿裏,天工物聯網的“設備列表”下有一個“連接測試”的功能,可以直接進行通信監控。單擊“連接測試”,進入如下頁面,需要配置相關信息。

技術分享

用戶名就是設備對應的用戶名,身份密鑰就是身份對應的密鑰。目前該測試頁面僅支持WSS方式連接。

連接成功後,我們就可以進行訂閱和發布操作了(如下圖所示)。

技術分享

【物聯網雲端對接-4】通過MQTT協議與百度雲進行雲端通信