ESP Azure IoT SDK
Table of Contents
Espressif offers a wide range of fully-certified Wi-Fi & BT modules powered by our own advanced SoCs. For more details, see Espressif Modules.
Azure cloud is one of the most wonderful clouds that collects data from lots of devices or pushes data to IoT devices. For more details, see Azure IoT Hub.
This demo demonstrates how to firstly connect your device (ESP devices or IoT devices with ESP devices inside) to Azure, using MQTT protocol, then send data to Azure as well as receive message from Azure.
- An ubuntu environment should be set up to build your demo;
- Any ESP device can be used to run your demo.
2. Azure IoT Hub
- Get iothub connection string (primary key) from the Azure IoT Hub, which will be used later. An example can be seen below:
- For step-by-step instructions, please click here.
3. Azure CLI
- Install Azure CLI
After that, you should be able to use azure CLI to manage your iot-device.
4. Device Connection String
- login to Azure CLI
- create your device, and get a device connection string. An example can be seen:
For detailed instruction, please click Here.
- AZURE-SDK can be implemented to connect your ESP devices to Azure, using MQTT protocol.
- Espressif SDK
Configuring and Building
1. Cloning Git submodules
This repo uses Git Submodules for its dependancies. To successfully clone these other repositories, after cloning this repo, use the following command in the root:
git submodule update --init --recursive
Please check results on both the iothub and device side:
az iot hub monitor-events -n [IoTHub Name] --login 'HostName=myhub.azuredevices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=12345'
ESP device: monitor events with command
ESP device would send data to the Azure cloud, and then you would be able to receive data at the iothub side.
Some common problems can be fixed by disabling the firewall.
You can try with the followings, if your build fails:
- git submodule init
- git submodule update
- export your compiler path
- export your IDF path
- get start from Here
Make sure the device connection string you are using, which you get from Azure IoT Hub, is correct.