Developing IoT Projects with ESP32: Automate your home or business with inexpensive Wi-Fi devices
- Length: 470 pages
- Edition: 1
- Language: English
- Publisher: Packt Publishing
- Publication Date: 2021-09-13
- ISBN-10: 1838641165
- ISBN-13: 9781838641160
- Sales Rank: #956265 (See Top 100 Books)
Master the technique of using ESP32 as an edge device in any IoT application where wireless communication can make life easier
Key Features
- Gain practical experience in working with ESP32
- Learn to interface various electronic devices such as sensors, integrated circuits (ICs), and displays
- Apply your knowledge to build real-world automation projects
Book Description
Developing IoT Projects with ESP32 provides end-to-end coverage of secure data communication techniques from sensors to cloud platforms that will help you to develop production-grade IoT solutions by using the ESP32 SoC. You’ll learn how to employ ESP32 in your IoT projects by interfacing with different sensors and actuators using different types of serial protocols.
This book will show you how some projects require immediate output for end-users, and cover different display technologies as well as examples of driving different types of displays. The book features a dedicated chapter on cybersecurity packed with hands-on examples. As you progress, you’ll get to grips with BLE technologies and BLE mesh networking and work on a complete smart home project where all nodes communicate over a BLE mesh. Later chapters will show you how IoT requires cloud connectivity most of the time and remote access to smart devices. You’ll also see how cloud platforms and third-party integrations enable endless possibilities for your end-users, such as insights with big data analytics and predictive maintenance to minimize costs.
By the end of this book, you’ll have developed the skills you need to start using ESP32 in your next wireless IoT project and meet the project’s requirements by building effective, efficient, and secure solutions.
What you will learn
- Explore advanced use cases like UART communication, sound and camera features, low-energy scenarios, and scheduling with an RTOS
- Add different types of displays in your projects where immediate output to users is required
- Connect to Wi-Fi and Bluetooth for local network communication
- Connect cloud platforms through different IoT messaging protocols
- Integrate ESP32 with third-party services such as voice assistants and IFTTT
- Discover best practices for implementing IoT security features in a production-grade solution
Who this book is for
If you are an embedded software developer, an IoT software architect or developer, a technologist, or anyone who wants to learn how to use ESP32 and its applications, this book is for you. A basic understanding of embedded systems, programming, networking, and cloud computing concepts is necessary to get started with the book.
Table of Contents
- Getting started with ESP32
- Talking to the world: sensors and actuators
- Impressive outputs with displays
- Deep dive into the advanced features
- Practice – Multisensor for your room
- Good old friend: WiFi
- Security first!
- I can speak BLE
- Practice – Making your home smart
- No cloud no IoT: Cloud platforms and services
- Connectivity is never enough: 3rd party integrations
- Practice – Voice-controlled smart fan
Developing IoT Projects with ESP32 Contributors About the author About the reviewers Preface Who this book is for What this book covers To get the most out of this book Download the example code files Code in Action Download the color images Conventions used Get in touch Share Your Thoughts Section 1: Using ESP32 Chapter 1: Getting Started with ESP32 Technical requirements IoT as an emerging technology What is IoT? Where do we apply IoT? AI/ML on the edge Energy harvesting Nanorobotics Understanding the basic structure of IoT solutions IoT security Introduction to ESP32 platform and modules Why ESP32? ESP32 features Development platforms and frameworks RTOS options Summary Chapter 2: Talking to the Earth – Sensors and Actuators Technical requirements Toolchain installation, programming, and debugging ESP32 PlatformIO installation The first program Debugging the application Warming up – Basic I/O with buttons, pots, and LEDs Example: Turning an LED on/off by using a button Example – LED dimmer Working with sensors Reading ambient temperature and humidity with DHT11 Using DS18B20 as temperature sensor Sensing light with TSL2561 Employing BME280 in your project Working with actuators Using an electromechanical relay to control switching Running a stepper motor Summary Questions Chapter 3: Impressive Outputs with Displays Technical requirements Liquid Crystal Displays (LCDs) Organic Light-Emitting Diode Displays (OLEDs) Thin Film Transistor Displays (TFTs) Using FreeRTOS Counting touch sensor Using several sensors as producers Summary Questions Chapter 4: A Deep Dive into the Advanced Features Technical requirements Communicating over UART Adding a speaker with I²S Uploading a sound file to the flash memory Playing the sound file Developing a camera application Preparing the development environment for ESP32-CAM Flashing and monitoring ESP32-CAM Developing the project Developing low-power applications Waking up from light sleep Using the ULP coprocessor in deep sleep Summary Questions Chapter 5: Practice – Multisensor for Your Room Technical requirements Feature list of the multisensor Solution architecture Implementation Sensor subsystem User interaction subsystem Power management subsystem Main application Summary Section 2: Local Network Communication Chapter 6: A Good Old Friend – Wi-Fi Technical requirements Using Wi-Fi STA mode AP mode Developing with lwIP Sensor service over mDNS Digital clock with SNTP Summary Questions Further reading Chapter 7: Security First! Technical requirements Secure boot and over-the-air (OTA) updates Secure boot v1 Secure boot v2 Updating OTA Securing communication with TLS/DTLS Integrating with secure elements Summary Questions Further reading Chapter 8: I Can Speak BLE Technical requirements Understanding BLE basics The Generic Access Profile The Attribute Profile The Generic Attribute Profile The Security Manager Protocol Developing a BLE beacon Developing a GATT server Setting up a BLE Mesh network Summary Questions Further reading Chapter 9: Practice – Making Your Home Smart Technical requirements Feature list Solution architecture Light sensor Switch Gateway Implementation Light sensor Switch Gateway Testing Summary Section 3: Cloud Communication Chapter 10: No Cloud, No IoT – Cloud Platforms and Services Technical requirements IoT protocols with ESP32 MQTT CoAP WebSocket Understanding cloud IoT platforms AWS IoT Azure IoT Google IoT Core Alibaba Cloud IoT Platform (Aliyun IoT) Developing on AWS IoT Summary Questions Chapter 11: Connectivity Is Never Enough – Third-Party Integrations Technical requirements How it works Amazon Alexa concepts Integrating with Amazon Alexa Creating the smart home skill Creating the Lambda function Linking an Amazon account to the skill Enabling the skill Creating a thing Developing the Lambda function Testing the skill Developing the firmware Troubleshooting Defining rules with IFTTT Preparing the rule Developing the firmware Summary Questions Further reading Chapter 12: Practice – A Voice-Controlled Smart Fan Technical requirements Feature list of the smart fan Solution architecture The device firmware The cloud architecture Implementation Creating the skill Creating the Lambda function Account linking Creating the thing Developing the Lambda function Developing the firmware What is next? Summary Why subscribe? Other Books You May Enjoy Packt is searching for authors like you Share Your Thoughts
Donate to keep this site alive
How to download source code?
1. Go to: https://github.com/PacktPublishing
2. In the Find a repository… box, search the book title: Developing IoT Projects with ESP32: Automate your home or business with inexpensive Wi-Fi devices
, sometime you may not get the results, please search the main title.
3. Click the book title in the search results.
3. Click Code to download.
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.