Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Developing IoT Projects with ESP32

You're reading from   Developing IoT Projects with ESP32 Automate your home or business with inexpensive Wi-Fi devices

Arrow left icon
Product type Paperback
Published in Sep 2021
Publisher Packt
ISBN-13 9781838641160
Length 474 pages
Edition 1st Edition
Tools
Arrow right icon
Author (1):
Arrow left icon
Vedat Ozan Oner Vedat Ozan Oner
Author Profile Icon Vedat Ozan Oner
Vedat Ozan Oner
Arrow right icon
View More author details
Toc

Table of Contents (17) Chapters Close

Preface 1. Section 1: Using ESP32
2. Chapter 1: Getting Started with ESP32 FREE CHAPTER 3. Chapter 2: Talking to the Earth – Sensors and Actuators 4. Chapter 3: Impressive Outputs with Displays 5. Chapter 4: A Deep Dive into the Advanced Features 6. Chapter 5: Practice – Multisensor for Your Room 7. Section 2: Local Network Communication
8. Chapter 6: A Good Old Friend – Wi-Fi 9. Chapter 7: Security First! 10. Chapter 8: I Can Speak BLE 11. Chapter 9: Practice – Making Your Home Smart 12. Section 3: Cloud Communication
13. Chapter 10: No Cloud, No IoT – Cloud Platforms and Services 14. Chapter 11: Connectivity Is Never Enough – Third-Party Integrations 15. Chapter 12: Practice – A Voice-Controlled Smart Fan 16. Other Books You May Enjoy

Implementation

Let's discuss the hardware first. The following Fritzing diagram shows the connections between ESP32 and other hardware components:

Figure 5.2 – Fritzing diagram of the project

The interesting point here is the Inter-Integrated Circuit (I2C) connections. I2C is a bus, so we can connect multiple devices on the same bus, as long as they have different bus addresses. Therefore, we connect BME280 and TSL2561 to the same pins of ESP32, GPIO21 and GPIO22. The OLED screen is also an I2C device, but its driver uses the second I2C channel of ESP32, so it is a good idea to connect the OLED screen to other GPIO pins to avoid any configuration conflicts.

Before delving into the code, we need to update the configuration files. Let's start with platformio.ini, as follows:

[env:az-delivery-devkit-v4]
platform = espressif32
board = az-delivery-devkit-v4
framework = espidf
monitor_speed = 115200
lib_extra_dirs =
   ...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at R$50/month. Cancel anytime