1. 雲端準備工作
注冊并登入百度物接入平台,完成實名認證後方可使用。
目前百度天工物平台需要需要建立計費套餐才可使用,計費方式如下:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5iZlVWOzMWN1EmM1UmMhdDZmVWN4MTY3YTM4QWY5UGOi9CX4IzLcZDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL2M3Lc9CX6MHc0RHaiojIsJye.png)
免費量在學習階段足夠使用了,接下來講述如何開通。
開通後界面如下:
2. 雲端操作 — 建立雲端裝置
物接入服務需要先建立一個項目,每個項目會為您對應一個接入點(endpoint)。一個項目表示一個完整的物接入服務,通過項目可以将不同項目的裝置進行隔離和管理。
目前每個賬戶能建立 100 個項目,含 1 個裝置型項目和 99 個資料型項目。
點選建立項目:
填寫資訊之後送出:
建立項目後,在項目清單頁可以看到物接入預設提供的三類位址,選擇不同的位址,意味着可以通過不同的方式連接配接到百度智能雲物接入:
tcp://yourendpoint.mqtt.iot.gz.baiduce.com:1883,端口1883,不支援傳輸資料加密,可以通過MQTT.fx用戶端連接配接。
ssl://yourendpoint.mqtt.iot.gz.baiduce.com:1884,端口1884,支援SSL/TLS加密傳輸,MQTT.fx用戶端連接配接,參考配置MQTT用戶端。
wss://yourendpoint.mqtt.iot.gz.baidubce.com:8884,端口8884,支援 Websockets 方式連接配接,同樣包含 SSL 加密,參考Websockets Client。
本實驗我們先使用第一個不加密方式連接配接測試,然後使用加密方式連接配接測試。
成功建立物接入項目(裝置型項目)後,點選項目名稱,進入配置物接入裝置型項目頁面,建立影子并擷取連接配接資訊。
點選項目名稱進入後,選擇「物模型」,進入物模型清單頁面,點選「建立物模型」。填寫名稱、屬性等資訊後,點選建立即可。
物模型用來表示一類(或同一型号的一批)裝置。可為裝置定義一套屬性模闆,在建立物影子時可以引用該模闆,實作業務的快速部署。
在左側選擇「物影子」,進入物影子清單頁面,點選「建立物影子」。輸入名稱,并選擇需要的物模型(這裡我們選擇了剛才建立的 SmartStreetLight ),點選建立即可完成,此時會彈出連接配接資訊:
物影子與真實裝置一一對應,是裝置在雲端展現。通過一組 json,反映裝置最後一次上報的狀态資訊。
物影子建立完成時,會彈出連接配接資訊,建議下載下傳儲存備用:
MQTT 消息的收發是基于主題的。
裝置型項目的主題是由系統定義的,可點選相應影子的卡片,通過以下頁面檢視,可根據實際需求選擇主題。每個消息均需為 json 格式。
至此,即可通過擷取到的連接配接資訊,建立裝置與影子之間的連接配接,進行資料的上報與反控下發。
詳細的資訊可以參考官方文檔:物影子操作——使用開源MQTT用戶端。
3. 使用mqtt.fx作為用戶端測試不加密傳輸(mqtt)
配置 MQTT 的應用用戶端,可以快速驗證是否可以實作與物接入服務交流發送或者接收消息。
參考我的另一篇部落格,下載下傳并安裝MQTT.fx用戶端(1.7.1版本)。
mqtt.fx | 一款超級好用的Mqtt用戶端軟體(下載下傳、安裝、使用詳解)
注意: MQTT.fx 1.7.0版本對帶有 $ 的 主題(Topic)處理存在 bug,請避免使用此版本進行測試。
打開MQTT.fx,單擊“設定”圖示:
單擊彈出的對話框的左下角的“添加”圖示,新增一個配置檔案,按照下面的設定填寫相應字段:
Profile Name:Test Baidu Tiangong
Broker Address:8sdmjix.mqtt.iot.bj.baidubce.com
Broker Port:1883
Client ID:随機生成(點選generate按鈕)
選擇“User Credentials”頁籤,并且按以下字段填寫:
User Name: 8sdmjix/SmartStreetLight001
Password: xbcpwb5t9rqt9su5
單擊“OK”按鈕儲存設定。
選擇“Test Baidu Tiangong”,然後單擊“Connect”按鈕,連接配接成功之後如圖:
成功連接配接後,即可開始訂閱消息。
打開 Subscribe 标簽,填寫主題 topic,例如:
其中SmartStreetLight001自行替換為你測試時使用的物影子名稱
這兩個是分别被用作 update 被接受和拒絕時傳回資訊,選擇預設的QoS 0,點選“Subscribe”進行訂閱操作,訂閱成功之後如圖:
打開Publish标簽,填寫主題topic,例如:
其中SmartStreetLight001自行替換為你測試時使用的物影子名稱。
消息品質選擇預設的QoS 0,輸入框中填寫以下有效資訊:
其中Lightness和led_status及其值,均可自行替換為建立物模型時所指定的屬性值,點選“Publish”進行釋出操作。
釋出之後,因為我們訂閱了主題$baidu/iot/shadow/SmartStreetLight001/update,是以可以在訂閱一欄中看到伺服器釋出回來的資訊:
釋出之後,在天工物接入平台也可以看到剛剛使用mqtt.fx用戶端釋出的消息:
4. 使用mqtt.fx作為用戶端測試加密傳輸(mqtts)
Broker Port:1884
選擇“SSL/TLS”頁籤,勾上“Enable SSL/TLS”,并選擇“CA signed server certificate”: