𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

Getting Started with ESPHome [Team-IRA]

✍ Scribed by Koen Vervloesem


Publisher
Elektor International Media BV
Year
2021
Tongue
English
Leaves
156
Category
Library

⬇  Acquire This Volume

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
Download the software and view the errata for the book on GitHub
  • 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


Getting Started With Team-Based Learning
✍ Jim Sibley, Pete Ostafichuk πŸ“‚ Library πŸ“… 2014 πŸ› Stylus Publishing 🌐 English

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 GEO, CouchDB, and N
✍ Mick Thompson πŸ“‚ Library πŸ“… 2011 πŸ› O'Reilly Media 🌐 English

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

Getting Started with GEO, CouchDB, and N
✍ Mick Thompson πŸ“‚ Library πŸ“… 2011 πŸ› O'Reilly Media 🌐 English

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

Getting Started with GEO, CouchDB, and N
✍ Thompson, Mick πŸ“‚ Library πŸ“… 2011 πŸ› O'Reilly Media, Inc. 🌐 English

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

Getting Started with Coding: Get Creativ
✍ Camille McCue, Ph.D πŸ“‚ Library πŸ“… 0 🌐 English

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