本文主要分享一個案例:
10分鐘- 使用Python 示例代碼和SDK向IoT Hub 發送遙測消息
本文主要有如下內容:
- 瞭解C2D/D2C消息;
- 瞭解IoT Hub中Device的概念
- 瞭解並下載Device SDK
- 使用Device SDK 向雲發送遙測消息(模擬溫溼度)
- 查看發送的數據
B站視頻講解:
Azure IoT Hub 十分鐘入門系列(2)-10分鐘實現設備到雲的消息發送
圖文步驟:
本文參考了微軟官方文檔:https://docs.azure.cn/zh-cn/iot-hub/quickstart-send-telemetry-python
1.在IoT Hub創建設備
凡是要連接到Iot Hub的設備,必須在此處進行添加,當然添加的方式有多種,通過API,SDK,DPS服務等等,本文在portal上手動添加
設備名稱必須唯一,本文中使用對稱密鑰的身份驗證方式。
創建完成後,能夠在列表中看到創建好的IoT Device,點擊可以查看詳情。
在詳情頁,可以看到該設備的主連接字符串,該字符串要在後續步驟中,拷貝到代碼裏,代碼通過該字符串連接到IoT Hub。
2.開發環境準備
Ptyhon 環境安裝:https://www.python.org/downloads/
注意,勾選添加到環境變量選框
Azure CLI:https://docs.microsoft.com/zh-cn/cli/azure/install-azure-cli?view=azure-cli-latest
安裝完Azure CLI後,需要添加Azure IoT 的擴展,在命令行中輸入:
az extension add --name azure-cli-iot-ext
如果使用的是世紀互聯的Azure,則需要運行如下代碼,切換到世紀互聯的Azure:
az cloud set --name AzureChinaCloud
安裝完成後,需要在Azure CLI登錄到Azure中,
az login
切換到中國Azure,然後登錄的界面如下圖,瀏覽器中出現partner.microsoft.cn字樣,表示使用的是中國區Azure。
如下圖,登錄成功,會顯示訂閱信息
3.使用實例代碼發送D2C消息
示例代碼:https://github.com/Azure-Samples/azure-iot-samples-python/archive/master.zip
本案例使用 \azure-iot-samples-python-master\iot-hub\Quickstarts\simulated-device\SimulatedDevice.py
運行代碼前,記得安裝Python 的SDK:
pip install azure-iot-device
將代碼中的CONNECTION_STRING 替換成我們創建的device01的鏈接字符串,運行代碼即可。
如下圖提示,消息發送成功
4.使用Azure CLI查看設備發送到雲端的消息
使用如下命令接收 D2C消息
az iot hub monitor-events --hub-name {YourIoTHubName} --device-id MyPythonDevice
如下圖所示: