【发布时间】:2022-01-14 01:58:47
【问题描述】:
所以,我正在尝试使用 Python 将消息发送到 Azure IoT 中心。我正在关注this 文档,但是当我运行脚本时:
from azure.iot.hub import IoTHubRegistryManager
RECEIVED_MESSAGES = 0
CONNECTION_STRING = "<IoT Hub Connection String>"
DEVICE_ID = "<IoT Edge Device ID>"
def iothub_messaging_sample_run():
# Create IoTHubRegistryManager
registry_manager = IoTHubRegistryManager(CONNECTION_STRING)
i = 0
while True:
i += 1
print(f'Sending message: {i}')
data = f'NodeId : Node{i}, Message : Message{i}'
registry_manager.send_c2d_message(DEVICE_ID, data)
if __name__ == '__main__':
print('Starting the Python IoT Hub C2D Messaging service sample...')
iothub_messaging_sample_run()
它首先打印这个:
Sending message: 1
然后抛出这个错误:
Exception: C2D message send failure
其余错误日志不包含任何其他信息,仅包含对 Azure IoT 中心包文件的引用。
我已经在防火墙上启用了Inbound Port 8883,但我仍然无法将数据发送到 Azure IoT Hub。
配置:
- Python 版本 - 3.7.3
- 包 - azure-iot-hub==2.6.0
- 操作系统 - Windows 10 家庭版
- IoT 中心 - 标准层 S1
- Azure 订阅 - Azure 学生版
- IoT 中心单元数量 - 1
- IoT 中心位置 - 美国东部
- 最低 TLS 版本 - 1.0
- 设备数量 - 1(IoT Edge 设备)
【问题讨论】:
标签: python azure mqtt azure-iot-hub