Building Connected Things with an ESP8266 and Microsoft Azure
ESP8266 Workshop
Table of Contents
Workshop Goals
The goals of this workshop are:
- Educate developers on the Internet of Things (IoT)
- Educate developers on the Azure services related to IoT
By the end of the workshop a participant will be able to:
- Build an IoT device using the ESP8266
- Write a Lua program that runs on the ESP8266
- Use Lua on the ESP8266 to both capture input and present output
- Create and configure an Azure IoT Hub to manage device-to-cloud and cloud-to-device messaging
- Connect a Lua application running on the ESP8266 to an Azure IoT Hub
- Build a data pipeline that captures data coming into IoT Hub and stores it
- Build a visualization of IoT data
- Build a client application that can send a command to the IoT device via Azure
Prep Work
The following are required to prepare for the workshop. Whenever possible this section should be completed prior to the workshop day.
Getting Started
This is a step-by-step guide to preparing your computer for the ThingLabs Thingy IoT Workshop: ESP8266 Edition.
Estimated time to complete: 20-minutes. Go to ‘Getting Started’ ›
Lab Guides
Lab 01: Hello, Lua IoT!
In this lab, you will build a simple single-circuit device that blinks an LED on and off (this is the ‘Hello, World! of the maker/IoT space).
Estimated time to complete: 20-minutes. Go to ‘Hello, Lua IoT!’ ›
Lab 02: Nightlight
In this lab, you will capture analog input using a light-dependent resistor (photocell) and turn on or off an LED based on the amount of light detected.
Estimated time to complete: 20-minutes. Go to ‘Nightlight’ ›
Lab 03: Weather Station
In this lab, you will add a DHT22 to your ESP8266 and capture temperature and humidity to build a minimal weather station.
Estimated time to complete: 20-minutes. Go to ‘Weather Station’ ›
Lab 04: Setting Up Azure IoT Hub
In this lab, you will provision a new Azure IoT Hub. Once you have the IoT Hub created, you will be able to create a new Azure IoT device (a software reference to your physical device) that you will use to send telemetry to Azure.
Estimated time to complete: 20-minutes. Go to ‘Setting Up Azure IoT Hub’ ›
Lab 05: Sending Device-to-Cloud (D2C) Messages
In this lab, you will use the ThingLabs Thingy™ device that you built to capture and send messages to Azure IoT Hub.
Estimated time to complete: 20-minutes. Go to ‘Sending Telemetry to the Cloud’ ›
Lab 06: Storing and Displaying IoT Data
In this lab, you will build a data pipeline that captures the data coming into IoT Hub, processes it with Azure Stream Analytics, then routes it to downstream services. The first service you’ll build will consume the data and present it through an Azure Web App where it is rendered as a real-time graph.
Estimated time to complete: 20-minutes. Go to ‘Storing & Displaying IoT Data’ ›
Lab 07: Lab: Sending Cloud-to-Device (C2D) Messages
In this lab, you will use the Azure Web App to control the ThingLabs Thingy™ remotely. The Web App will send messages to the Thingy via Azure, which the Thingy will receive, procees, and act on.
Estimated time to complete: 20-minutes. Go to ‘Sending Cloud to Device (C2D) Messages’ ›