Book Image

Hands-on ESP32 with Arduino IDE

By : Asim Zulfiqar
5 (1)
Book Image

Hands-on ESP32 with Arduino IDE

5 (1)
By: Asim Zulfiqar

Overview of this book

ESP32 is a versatile microcontroller and a great starting point for anyone venturing into the IoT realm, but its configuration and interfacing of sensors can be challenging for new users. Arduino Integrated Development Environment (IDE) simplifies programming, uploading code, and utilization of ESP32 capabilities, enabling users to incorporate it into their IoT projects with ease. This book will help you learn the essentials of sensing, networking, data processing, and applications with ESP32, laying a strong foundation for further IoT development. Starting with ESP32 and Arduino Ide 2.0 basics, you'll first explore practical implementation examples of interfacing sensors with ESP32. These examples will also teach you how to interface the ESP32 camera and display modules with ESP32. As you progress, you’ll get to grips with IoT network and data protocols, as well as the many options they unlock within IoT applications. The book will also help you leverage your newly acquired knowledge with exciting projects ranging from smart connected devices to data loggers and automation. By the end of this book, you'll confidently navigate ESP32 projects with newfound knowledge and skills, know what IoT protocol to select for your applications, and successfully build and deploy your own IoT projects.
Table of Contents (15 chapters)
Part 1 – Introduction: Getting Familiar with ESP32
Part 2 – IoT Protocols and ESP32
Part 3 – Practical Implementation

Controlling the main entrance gate using the MQTT protocol

In this section, we will learn how we can control the appliances in IoT projects using the MQTT protocol. We will use the HiveMQ public MQTT broker, whose credentials are available at

For the living room ESP32 microcontroller, we will upload the following code so that we can send the data to InfluxDB as well as receive the MQTT message to control the door lock. The connection diagram for the living room is provided in Figure 8.4. The code is available on GitHub at

#include <Adafruit_Sensor.h>
#include <DHT_U.h>
#include <WiFiMulti.h>
#include <InfluxDbClient.h> //
#include <InfluxDbCloud.h>
#include <PubSubClient.h>
#include <ESP32Servo.h>
// WiFi configuration...