All Projects → espressif → Esp Azure

espressif / Esp Azure

SDK to connect ESP8266 and ESP32 to Microsoft Azure IoT services

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Esp Azure

Vuewordcloud
Generates a cloud out of the words.
Stars: ✭ 284 (+107.3%)
Mutual labels:  cloud, component
Esp Aliyun
Aliyun Iotkit-embedded, support esp32 & esp8266.
Stars: ✭ 262 (+91.24%)
Mutual labels:  cloud, component
Toggle Switch React Native
Toggle Switch React Native Component works on both iOS and Android
Stars: ✭ 131 (-4.38%)
Mutual labels:  component
React Native Modalize
A highly customizable modal/bottom sheet that loves scrolling content.
Stars: ✭ 2,119 (+1446.72%)
Mutual labels:  component
Tagger
Zero Dependency, Vanilla JavaScript Tag Editor
Stars: ✭ 135 (-1.46%)
Mutual labels:  component
Autoresponsive Vue
Auto responsive grid layout library for Vue.
Stars: ✭ 132 (-3.65%)
Mutual labels:  component
Homematicip Rest Api
A python wrapper for the homematicIP REST API (Access Point Based)
Stars: ✭ 135 (-1.46%)
Mutual labels:  cloud
Stackset Controller
Opinionated StackSet resource for managing application life cycle and traffic switching in Kubernetes
Stars: ✭ 130 (-5.11%)
Mutual labels:  cloud
Cloudtopolis
Zero Infrastructure Password Cracking
Stars: ✭ 137 (+0%)
Mutual labels:  cloud
Aura.filter
Validate and sanitize arrays and objects.
Stars: ✭ 134 (-2.19%)
Mutual labels:  component
React Osx Dock
React component that is magnifiable like the Mac OS X dock.
Stars: ✭ 136 (-0.73%)
Mutual labels:  component
Redux Tooltip
A tooltip React component for Redux.
Stars: ✭ 134 (-2.19%)
Mutual labels:  component
Kubicorn
kubicorn is a free and open source project that solves the Kubernetes infrastructure problem and gives users a rich golang library to work with infrastructure.
Stars: ✭ 1,671 (+1119.71%)
Mutual labels:  cloud
Aws Lambda Scala
Writing AWS Lambdas in Scala
Stars: ✭ 135 (-1.46%)
Mutual labels:  cloud
Opencensus Erlang
A stats collection and distributed tracing framework
Stars: ✭ 131 (-4.38%)
Mutual labels:  cloud
Reactpatterns
Patterns for React Developers
Stars: ✭ 1,682 (+1127.74%)
Mutual labels:  component
React Dplayer
react-dplayer
Stars: ✭ 130 (-5.11%)
Mutual labels:  component
Cloudinary ios
Cloudinary iOS SDK
Stars: ✭ 133 (-2.92%)
Mutual labels:  cloud
Aws Cli
Universal Command Line Interface for Amazon Web Services
Stars: ✭ 11,804 (+8516.06%)
Mutual labels:  cloud
Dce
Disposable Cloud Environment
Stars: ✭ 137 (+0%)
Mutual labels:  cloud

ESP Azure IoT SDK

Table of Contents

Introduction

The ESP Azure IoT SDK is based on Azure IoT C SDK and enables users to connect their ESP32 based devices to the Azure IoT hub. It provides some examples which can help understand most common use cases.

Getting Started

Hardware

You will basically just need a development host and an ESP32 development board to get started.

Development Host Setup

This project is to be used with Espressif's IoT Development Framework, ESP IDF. Follow these steps to get started:

  • Setup ESP IDF development environment by following the steps here.
  • In a separate folder, clone the esp-azure project as follows (please note the --recursive option, which is required to clone the various git submodules required by esp-azure)
$ git clone --recursive https://github.com/espressif/esp-azure.git

Note that if you ever change the branch or the git head of either esp-idf or esp-azure, ensure that all the submodules of the git repo are in sync by executing git submodule update --init --recursive

Setting up Azure IoT Hub

  • Create an Azure IoT Hub by following the documentation here.

Note: When selecting the "Pricing and scale tier", there is also an option to select , F1: Free tier, which should be sufficient for basic evaluation.

  • Copy the IoT Hub Connection string - primary key from the Azure IoT Hub. This will be required later. The screenshot below will help you locate it.
  • Connection string - primary key sample:
HostName=<azure-iot-hub-name>.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=<base64-encoded-access-key>

Setting up Azure CLI

  • Install Azure CLI
  • From your terminal, execute the az command to verify that the installation was successful. Output will be like this:
$ az

Welcome to Azure CLI!
---------------------
Use `az -h` to see available commands or go to https://aka.ms/cli.
...
  • Install the Azure IoT CLI extension using

$ az extension add --name azure-cli-iot-ext

After that, you should be able to use azure CLI to manage your iot-device. A list of useful Azure CLIs can be found here

Creating an Azure IoT Device

  • Login to Azure CLI using $ az login
  • Create a new device using $ az iot hub device-identity create -n [IoTHub Name] -d [Device ID]
  • Get connection string for your device using $ az iot hub device-identity show-connection-string -n [IoTHub Name] -d [Device ID]
  • Device connection string sample:
HostName=<azure-iot-hub-name>.azure-devices.net;DeviceId=<azure-iot-device-id>;SharedAccessKey=<base64-encoded-shared-access-key>
  • This will be required in the examples

Monitoring Results

To see various events and the data being exchanged between the device and IoT hub from your command line, run the following command:

$ az iot hub monitor-events -n [IoTHub Name] --login '[Connection string - primary key]'

Note the single quotes for the connection string. Without them, the command wont work as desired.

To monitor activity on your ESP device, run:

$ make monitor

Troubleshooting

  1. Some common problems can be fixed by disabling the firewall.

  2. You can try with the followings, if your build fails:

    • $ git submodule update --init --recursive
    • Check the compiler version and verify that it is the correct one for your ESP IDF version.
    • Check if the IDF_PATH is set correctly
    • Clean the project with make clean and if required, using rm -rf build sdkconfig sdkconfig.old
  3. Ensure that the device connection string received from Azure IoT Hub are correct.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].