azure物联网设备sdk
azure iot device sdk for python为设备和模块提供了与azure iot集线器通信的功能。
请注意,此sdk当前处于预览状态,可能会发生更改。
功能
sdk提供以下客户端:设置设备客户端在azure物联网中心上创建设备标识
物联网中心设备客户端向azure物联网中心发送遥测消息
从azure物联网中心接收云到设备(c2d)消息
接收并响应来自azure iot中心的直接方法调用
物联网集线器模块客户端支持azure物联网边缘中心和azure物联网中心
向集线器或其他模块发送遥测信息
从集线器或其他模块接收输入消息
从集线器或其他模块接收并响应直接方法调用
这些客户机可以使用异步api,以及用于兼容性方案的阻塞同步api。我们建议您使用python 3.7+和异步api。Python VersionAsynchronous APISynchronous APIPython 3.5.3+YESYES
Python 3.4NOYES
Python 2.7NOYES
安装pip install azure-iot-device
设置物联网中心并创建设备标识az iot hub create --resource-group --name 请注意,此操作需要几分钟时间。
az extension add --name azure-cli-iot-ext
az iot hub device-identity create --hub-name --device-id
az iot hub device-identity show-connection-string --device-id --hub-name
格式应为:HostName=.azure-devices.net;DeviceId=;SharedAccessKey=
发送简单的遥测信息az iot hub monitor-events --hub-name --output table
在设备上,将设备连接字符串设置为名为IOTHUB_DEVICE_CONNECTION_STRING的环境变量。
窗口set IOTHUB_DEVICE_CONNECTION_STRING=请注意,连接字符串周围有no引号。
LinuxexportIOTHUB_DEVICE_CONNECTION_STRING=""
将发送单个消息到IoT集线器的以下代码复制到设备上的新Python文件中,并从终端或IDE运行它(需要Python 3.7+):importasyncioimportosfromazure.iot.device.aioimportIoTHubDeviceClientasyncdefmain():# Fetch the connection string from an enviornment variableconn_str=os.getenv("IOTHUB_DEVICE_CONNECTION_STRING")# Create instance of the device client using the connection stringdevice_client=IoTHubDeviceClient.create_from_connection_string(conn_str)# Send a single messageprint("Sending message...")awaitdevice_client.send_message("This is a message that is being sent")print("Message successfully sent!")# finally, disconnectawaitdevice_client.disconnect()if__name__=="__main__":asyncio.run(main())
检查azure cli输出以验证iot集线器是否接收到消息。您应该看到以下输出:Starting event monitor, use ctrl-c to stop...
event:
origin:
payload: This is a message that is being sent
你的设备现在可以连接到azure物联网中心!
附加样品
查看samples repository示例代码,显示如何在各种场景中使用sdk,包括:一次发送多个遥测信息。
接收云到设备的消息。
与azure iot边缘中心一起使用边缘模块。
向设备配置服务注册设备
python 2.7和3.4的遗留场景
获取帮助并查找API文档
我们的sdk使用docstrings,这意味着您可以使用help命令直接通过python找到api文档:>>>fromazure.iot.deviceimportIoTHubDeviceClient>>>help(IoTHubDeviceClient)
欢迎加入QQ群-->: 979659372
推荐PyPI第三方库