Search icon CANCEL
Subscription
0
Cart icon
Cart
Close icon
You have no products in your basket yet
Save more on your purchases!
Savings automatically calculated. No voucher code required
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
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

Product type Book
Published in Sep 2021
Publisher Packt
ISBN-13 9781838641160
Pages 474 pages
Edition 1st Edition
Languages
Author (1):
Vedat Ozan Oner Vedat Ozan Oner
Profile icon Vedat Ozan Oner
Toc

Table of Contents (18) Chapters close

Preface 1. Section 1: Using ESP32
2. Chapter 1: Getting Started with ESP32 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. Answers 17. 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 £13.99/month. Cancel anytime