This book is written for anyone who has been inspired by the idea of Team-Based Learning (TBL) through his or her reading, a workshop, or a colleagueβs enthusiasm, and then asks the inevitable question: how do I start? Written by five authors who use TBL in their teaching and who are internationa
Getting Started with ESPHome [Team-IRA]
β Scribed by Koen Vervloesem
- Publisher
- Elektor International Media BV
- Year
- 2021
- Tongue
- English
- Leaves
- 156
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Synopsis
This book demonstrates how to create your own home automation devices with ESPHome on an ESP32 microcontroller board. Youβll learn how to combine all kinds of electronic components and automate complex behaviours. Your devices can work completely autonomously, and connect over Wi-Fi to your home automation gateways such as Home Assistant or MQTT broker.
Espressif's ESP8266 and ESP32 microcontrollers have brought DIY home automation to the masses. However, not everyone is fluent in programming these microcontrollers with Espressif's C/C++ SDK, the Arduino core, or MicroPython. This is where ESPHome comes into its own: with this project, you donβt program your microcontroller but configure it.
This book demonstrates how to create your own home automation devices with ESPHome on an ESP32 microcontroller board. Youβll learn how to combine all kinds of electronic components and automate complex behaviours. Your devices can work completely autonomously, and connect over Wi-Fi to your home automation gateways such as Home Assistant or MQTT broker.
By the end of this book, you will be able to create your own custom home automation devices the way you want. Thanks to ESPHome and the ESP32, this is within everyoneβs grasp.
- Set up an ESPHome development environment and create maintainable configurations
- Use buttons and LEDs
- Sound a buzzer and play melodies
- Read measurements from various types of sensors
- Communicate over a short distance with NFC, infrared light, and Bluetooth Low Energy
- Show information on various types of displays
- https://github.com/koenvervloesem/Getting-Started-with-ESPHome
β¦ Table of Contents
β Preface
Chapter 1 β Introduction
1.1 β Configuring instead of programming
1.2 β The advantages of ESPHome
1.3 β Requirements
1.3.1 β ESP8266 or ESP32 device
1.3.2 β Electronic components
1.3.3 β Home automation system
1.3.4 β "Development" environment
1.4 How to use this book
1.5 Summary and further exploration
Chapter 2 β Preparing your ESPHome environment
2.1 β Installing ESPHome
2.2 β Creating your first ESPHome configuration
2.3 β Building and flashing your firmware
2.4 β Adding your ESPHome device to your home automation gateway
2.4.1 β Adding your ESPHome device to Home Assistant
2.4.2 β Using your ESPHome device with MQTT
2.5 β Over-the-air updates
2.6 β Logging
2.7 β The ESPHome dashboard
2.7.1 β Installing the dashboard as a Home Assistant add-on
2.7.2 β Running the standalone dashboard
2.7.3 β Running the dashboard in a Docker container
2.7.4 β Using the ESPHome dashboard
2.8 β Making your ESPHome configurations more maintainable
2.8.1 β Substitutions
2.8.2 β Secrets
2.8.3 β Includes
2.8.4 β Packages
2.9 β Summary and further exploration
Chapter 3 β Simple digital input and output
3.1 β Digital input
3.1.1 β Built-in buttons
3.1.2 β External buttons with pull-up or pull-down resistors
3.1.3 β Debouncing buttons
3.1.4 β Motion sensors
3.2 β Digital output
3.2.1 β Turning on an LED
3.2.2 β Switching other components with a GPIO pin
3.2.3 β Setting the brightness of an LED with PWM
3.3 β Summary and further exploration
Chapter 4 β Automations
4.1 β A motion alarm
4.2 β Playing melodies on a buzzer
4.3 β Defining a list of actions in a script
4.4 β Execute actions and scripts conditionally
4.5 β Time-based automations
4.6 β Reacting to sunrise and sunset
4.7 β Adding arbitrary C++ code with lambdas
4.8 β Summary and further exploration
Chapter 5 β Sensors
5.1 β Analog sensors
5.1.1 β Ambient light sensor TEMT6000
5.1.2 β Resistive soil moisture sensor
5.1.3 β NTC thermistor
5.2 β 1-Wire sensors
5.3 β IΒ²C sensors
5.4 β An ultrasonic distance sensor
5.5 β Summary and further exploration
Chapter 6 β Remote communication
6.1 β Scanning NFC tags
6.2 β Infrared communication
6.2.1 β Infrared receiver
6.2.2 β Infrared transmitter
6.3 β Getting information from Bluetooth Low Energy devices
6.3.1 β Tracking the presence of BLE devices
6.3.2 β Investigating BLE advertisements
6.3.3 β Reading BLE service data
6.3.4 β Reading BLE manufacturer data
6.3.5 β Using supported BLE sensors
6.3.6 β Setting up ESP32 devices as proximity beacons
6.4 β Summary and further exploration
Chapter 7 β Displays
7.1 β NeoPixels
7.2 β Showing the time on a 4-digit display
7.3 β Showing an NFC card's status on a matrix display
7.4 β Showing sensor measurements on an OLED display
7.5 β Creating an MQTT dashboard with the TTGO display
7.6 β Showing more with pages
7.7 β Summary and further exploration
Chapter 8 β Conclusion
β Appendix
9.1 β Pin-out of the TTGO T-Display ESP32
9.2 β Common issues with the choice of pins
9.2.1 β GPIO 34β39 are input-only
9.2.2 β Avoid GPIO 0, 2, 12, and 15 during flashing
9.3 β Upgrading ESPHome
9.3.1 β Pip
9.3.2 β Home Assistant add-on
9.3.3 β Docker
9.4 β Using beta and development versions
9.4.1 β Pip
9.4.2 β Home Assistant add-on
9.4.3 β Docker
9.5 β Adding custom integrations
9.5.1 β Finding a library
9.5.2 β Integrating the library
9.5.3 β Using the custom sensor
9.6 β Bill of materials
β Index
π SIMILAR VOLUMES
Today's mobile devices have GPS and standard APIs to give you access to coordinatesβbut what can you do with that data? With this concise book, application developers learn how to work with location data quickly and easily, using Node.js, CouchDB, and other open source tools and libraries. Node.js m
Today's mobile devices have GPS and standard APIs to give you access to coordinatesβbut what can you do with that data? With this concise book, application developers learn how to work with location data quickly and easily, using Node.js, CouchDB, and other open source tools and libraries. Node.js m
Today's mobile devices have GPS and standard APIs to give you access to coordinates--but what can you do with that data? With this concise book, application developers learn how to work with location data quickly and easily, using Node.js, CouchDB, and other open source tools and libraries. Node.js
A cool coding bookβjust for kids! When your kid is ready to add coding to their creativity toolbox but youβre not ready to ship them off to coding camp, Getting Started with Coding is here to help them get started with the basics of coding. It walks young readers through fun projects that were test