azure-iot-device 2.0.0rc11
pip install azure-iot-device==2.0.0rc11
Released:
Microsoft Azure IoT Device Library
Navigation
Verified details
These details have been verified by PyPIMaintainers
๐ Avatar for aziotclb from gravatar.comaziotclb ๐ Avatar for azure-sdk from gravatar.com
azure-sdk ๐ Avatar for microsoft from gravatar.com
microsoft
Unverified details
These details have not been verified by PyPIProject links
Meta
- License: MIT License (MIT License)
- Author: Microsoft Corporation
- Requires: Python >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3*, <4
Classifiers
- Development Status
- Intended Audience
- License
- Programming Language
- Topic
Project description
Azure IoT Device SDK
The Azure IoT Device SDK for Python provides functionality for communicating with the Azure IoT Hub for both Devices and Modules.
Note that this SDK is currently in preview, and is subject to change.
Features
The SDK provides the following clients:
-
Provisioning Device Client
- Creates a device identity on the Azure IoT Hub
-
IoT Hub Device Client
- Send telemetry messages to Azure IoT Hub
- Receive Cloud-to-Device (C2D) messages from the Azure IoT Hub
- Receive and respond to direct method invocations from the Azure IoT Hub
-
IoT Hub Module Client
- Supports Azure IoT Edge Hub and Azure IoT Hub
- Send telemetry messages to a Hub or to another Module
- Receive Input messages from a Hub or other Modules
- Receive and respond to direct method invocations from a Hub or other Modules
These clients are available with an asynchronous API, as well as a blocking synchronous API for compatibility scenarios. We recommend you use Python 3.7+ and the asynchronous API.
| Python Version | Asynchronous API | Synchronous API |
|---|---|---|
| Python 3.5.3+ | YES | YES |
| Python 3.4 | NO | YES |
| Python 2.7 | NO | YES |
Installation
pip install azure-iot-device
Set up an IoT Hub and create a Device Identity
-
Install the Azure CLI (or use the Azure Cloud Shell) and use it to create an Azure IoT Hub.
aziothubcreate--resource-group<yourresourcegroup>--name<yourIoTHubname>
- Note that this operation make take a few minutes.
-
Add the IoT Extension to the Azure CLI, and then register a device identity
azextensionadd--nameazure-cli-iot-ext aziothubdevice-identitycreate--hub-name<yourIoTHubname>--device-id<yourdeviceid>
-
Retrieve your Device Connection String using the Azure CLI
aziothubdevice-identityshow-connection-string--device-id<yourdeviceid>--hub-name<yourIoTHubname>
It should be in the format:
HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
Send a simple telemetry message
-
Begin monitoring for telemetry on your IoT Hub using the Azure CLI
aziothubmonitor-events--hub-name<yourIoTHubname>--outputtable
-
On your device, set the Device Connection String as an enviornment variable called
IOTHUB_DEVICE_CONNECTION_STRING.Windows
set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here>
- Note that there are NO quotation marks around the connection string.
Linux
exportIOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>"
-
Copy the following code that sends a single message to the IoT Hub into a new python file on your device, and run it from the terminal or IDE (requires Python 3.7+):
import asyncio import os from azure.iot.device.aio import IoTHubDeviceClient async def main(): # Fetch the connection string from an enviornment variable conn_str = os.getenv("IOTHUB_DEVICE_CONNECTION_STRING") # Create instance of the device client using the connection string device_client = IoTHubDeviceClient.create_from_connection_string(conn_str) # Send a single message print("Sending message...") await device_client.send_message("This is a message that is being sent") print("Message successfully sent!") # finally, disconnect await device_client.disconnect() if __name__ == "__main__": asyncio.run(main())
-
Check the Azure CLI output to verify that the message was received by the IoT Hub. You should see the following output:
Startingeventmonitor,usectrl-ctostop... event: origin:<yourDevicename> payload:Thisisamessagethatisbeingsent
-
Your device is now able to connect to Azure IoT Hub!
Additional Samples
Check out the samples repository for example code showing how the SDK can be used in a variety of scenarios, including:
- Sending multiple telemetry messages at once.
- Receiving Cloud-to-Device messages.
- Using Edge Modules with the Azure IoT Edge Hub.
- Send and receive updates to device twin
- Receive invocations to direct methods
- Register a device with the Device Provisioning Service
- Legacy scenarios for Python 2.7 and 3.4
Getting help and finding API docs
Our SDK makes use of docstrings which means you cand find API documentation directly through Python with use of the help command:
>>> from azure.iot.device import IoTHubDeviceClient >>> help(IoTHubDeviceClient)
Project details
Verified details
These details have been verified by PyPIMaintainers
๐ Avatar for aziotclb from gravatar.comaziotclb ๐ Avatar for azure-sdk from gravatar.com
azure-sdk ๐ Avatar for microsoft from gravatar.com
microsoft
Unverified details
These details have not been verified by PyPIProject links
Meta
- License: MIT License (MIT License)
- Author: Microsoft Corporation
- Requires: Python >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3*, <4
Classifiers
- Development Status
- Intended Audience
- License
- Programming Language
- Topic
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file azure-iot-device-2.0.0rc11.tar.gz.
File metadata
- Download URL: azure-iot-device-2.0.0rc11.tar.gz
- Upload date:
- Size: 146.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c1d89d165185ca2147bd8e11c5b0e3f60c7e5109902d0b0376f98fea4da0090
|
|
| MD5 |
98cbe1591e13ea738d198662f6c21286
|
|
| BLAKE2b-256 |
89ab027d63f1c9c001e6cc3d475d07abcc6b4091cb775168fb443b108d596e68
|
File details
Details for the file azure_iot_device-2.0.0rc11-py2.py3-none-any.whl.
File metadata
- Download URL: azure_iot_device-2.0.0rc11-py2.py3-none-any.whl
- Upload date:
- Size: 212.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
80da875fcd4418e9e1bd485fa7620fddb06185931fc9a7bbff367654d144fc5e
|
|
| MD5 |
fabb65a7dba6a93165a97e179843678e
|
|
| BLAKE2b-256 |
b9859cc9228be313d33c4fd86f5104aa94ac5d4f6f02391cc011a17f4e40aace
|
