How to Connect an ESP32 to the IoT Cloud

by askSensors in Circuits > Arduino

44586 Views, 16 Favorites, 0 Comments

How to Connect an ESP32 to the IoT Cloud

Connect ESP32 To AskSensors Over HTTPS.png

This instructable comes in a series of articles about connecting hardware like Arduino and ESP8266 to the cloud. I'm going to explain you how to make your ESP32 chip connected to the cloud with AskSensors IoT service.


Why ESP32?

After the big success of the ESP8266, the ESP32 is a new chip from Espressif that combines WiFi and Bluetooth wireless capabilities with two CPU cores and a decent hardware peripheral set.

What you will learn?

During this tutorial you will learn:

  • How to program your ESP32 with the Arduino IDE.
  • How to send data from your ESP32 to AskSensors using the HTTP GET requests.
  • How to visualize real time data stream in the cloud.

Requirements

pico_photo2.jpeg

What You need:

  • An ESP32 module. I'm using an ESP32 Pico Kit as shown in the figure above.
  • A computer running Arduino IDE software.
  • A USB cable to connect the ESP32 module to the computer.
  • A free AskSensors account.

Why AskSensors?

AskSensors is an IoT platform designed to be the easiest application in the market, allowing users to connect, visualize and analyze their sensors data over the cloud.

Let's suppose we want to monitor the temperature of a room and store these values somewhere in the cloud so that they can be elaborated later. This is a typical scenario where it is necessary to know how to send data from the ESP32 to AskSensors. But there are many other scenarios where this tutorial could be useful for you.

So keep reading ;-)

Sensor Setup

  1. Sign up: Get a free account in few seconds at : https://asksensors.com.
  2. Get your Api Key In: AskSensors exposes a set of API to simplify the data exchange process between your device and the IoT cloud. This getting started guide shows you how to create a new sensor, and set it up to be able to send data to. Copy down your Api Key In, we will use it in the next steps.

Install ESP32 in Arduino IDE

To install the ESP32 board in your Arduino IDE, follow the instructions below:

  1. You need to install the latest version of Arduino IDE software (1.8.7 or higher).
  2. First of all, open the preferences window from the Arduino IDE : File> Preferences
  3. Go to the "Additional Board Manager URLs" field, Enter the following URL:

https://dl.espressif.com/dl/package_esp32_index.json

If you already have the ESP8266 boards URL, separate the URLs with a comma as show below:

https://dl.espressif.com/dl/package_esp32_index.json,   http://arduino.esp8266.com/stable/package_esp8266com_index.json <br>

Now, open boards manager (Tools > Board > Boards Manager), search for ESP32 and click the install button for the "ESP32 by Espressif Systems". It takes some few seconds.

Coding

esp32_serial_2.JPG

Download this demo from AskSensors Github page and decompress it. The code includes the libraries for both connecting to a WiFi network and to perform the HTTP requests.

You will need to modify the following:

const char* ssid     = "..............."; //Wifi SSID
const char* password = "..............."; //Wifi Password
const char* apiKeyIn = "................"; // API Key

Programming

pico_photo2.jpeg
esp32_serial_3.JPG
  1. Connect the ESP32 module to your computer through a USB cable.
  2. Upload the code with the Arduino IDE.

  3. Open a serial terminal. You should get an output similar to the figure above. Note that we are getting two codes :
  • 200 : corresponds to an OK HTTP code.
  • 1 : Number of module successfully updated (one module in our case).

Visualize Your Data

esp32_graph_3.png

Head to your sensor dashboard. Add a graph to your Module (Module 1).

You should receive random data stream between 10 and 100 every 20 seconds.

The figure above shows the example of a Bar graph display.

Thanks!

Thanks for reading.

Discover our tutorials: https://www.instructables.com/member/askSensors/