https://github.com/koenvervloesem/getting-started-with-esphome
Code examples, errata and additional tips and references to interesting projects for the book "Getting Started with ESPHome: Develop your own custom home automation devices"
https://github.com/koenvervloesem/getting-started-with-esphome
bluetooth bluetooth-low-energy displays electronics esp32 esp8266 esphome home-assistant home-automation infrared mqtt nfc sensors
Last synced: about 2 months ago
JSON representation
Code examples, errata and additional tips and references to interesting projects for the book "Getting Started with ESPHome: Develop your own custom home automation devices"
- Host: GitHub
- URL: https://github.com/koenvervloesem/getting-started-with-esphome
- Owner: koenvervloesem
- License: mit
- Created: 2021-02-26T18:24:44.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2023-10-04T00:54:11.000Z (over 1 year ago)
- Last Synced: 2025-02-25T09:13:21.901Z (2 months ago)
- Topics: bluetooth, bluetooth-low-energy, displays, electronics, esp32, esp8266, esphome, home-assistant, home-automation, infrared, mqtt, nfc, sensors
- Language: C++
- Homepage: https://koen.vervloesem.eu/books/getting-started-with-esphome/
- Size: 138 KB
- Stars: 45
- Watchers: 8
- Forks: 7
- Open Issues: 1
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
############################
Getting Started with ESPHome
############################.. image:: https://github.com/koenvervloesem/Getting-Started-with-ESPHome/workflows/Build/badge.svg
:target: https://github.com/koenvervloesem/Getting-Started-with-ESPHome/actions
:alt: Continuous integration.. image:: https://img.shields.io/github/license/koenvervloesem/Getting-Started-with-ESPHome.svg
:target: https://github.com/koenvervloesem/Getting-Started-with-ESPHome/blob/main/LICENSE
:alt: LicenseThis repository contains the code discussed in the book `Getting Started with ESPHome `_, published by `Elektor International Media `_, as well as `a list of errors and their corrections `_ and some `additional tips and references `_.
**************
About the book
**************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 gateway such as Home Assistant or an 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+----------------------+-------------------------------------+
| **Title** | Getting Started with ESPHome |
+----------------------+-------------------------------------+
| **Author** | Koen Vervloesem |
+----------------------+-------------------------------------+
| **Publication date** | 2021-05-19 |
+----------------------+-------------------------------------+
| **Number of pages** | 156 |
+----------------------+-------------------------------------+
| **Price** | € 29.95 |
+----------------------+-------------------------------------+
| **ISBN-13** | 978-3-89576-441-7 |
+----------------------+-------------------------------------+
| **ISBN-10** | 3-895764-41-8 |
+----------------------+-------------------------------------+
| **Publisher** | Elektor International Media (EIM) |
+----------------------+-------------------------------------+*************
Included code
*************The directory `esphome `_ contains all YAML files for the example code in this book. Each file name begins with the chapter where the example is explained.
While the examples printed in the book are often fragments of code, the corresponding YAML files in this repository are complete ESPHome configurations and can be compiled as such. Make sure to copy the `secrets.yaml.example `_ file to ``secrets.yaml`` and enter your own credentials. Also change the substitutions in the beginning of a YAML file to your own preferred values.
*****************
Download the code
*****************You can download the code all at once with `Git `_:
.. code-block:: shell
git clone https://github.com/koenvervloesem/Getting-Started-with-ESPHome.git
The code is then downloaded into the directory ``Getting-Started-with-ESPHome``.
You can also download a ZIP file of all code by clicking on the green button **Code** at the top right of this page and then on **Download ZIP**.
Just selecting and copying code from the GitHub web page of a specific file you're interested in and pasting it in an editor may work, but is not recommended. Especially with YAML code the whitespace can become mixed up, which results in invalid code.
******
Errata
******See the `ERRATA `_ document for the list of errors in the book and their corrections.
*********
Additions
*********See the `ADDITIONS `_ document for some additional tips and references to interesting projects not mentioned in the book.
*******
License
*******All code is provided by `Koen Vervloesem `_ as open source software with the MIT license. See the `LICENSE `_ for more information.
The included Roboto font is licensed under the `Apache License, Version 2.0 `_.
The `uFire_SHT20 `_ library is licensed under the MIT license.
The C++/runtime codebase of the ESPHome project (file extensions .c, .cpp, .h, .hpp, .tcc, .ino) are published under the GPLv3 license. The Python codebase and all other parts of the ESPHome codebase are published under the MIT license. See the `ESPHome License `_ for more information.