百度雲的天工物聯網服務目前包括:物接入、物解析、物管理、時序數據庫和規則引擎等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方式連接。
連接成功后,我們就可以進行訂閱和發布操作了(如下圖所示)。