This repository contains the code for making an ESP32-based doorbell that initiates a SIP call. While the code currently only initiates a SIP call and thus makes your phone(s)ring, it might be extended in the future to also provide intercom functionalities.
Take a look at the Heise article and the Reichelt article to get started. Additionally, the mikrocontroller.net thread might be useful. These articles serve as foundation for this project. But of course there are some differences:
- This project uses an ESP32 instead of an ESP8266.
- This project does not reset the ESP32 every time someone rings the bell. Instead a GPIO pin is used for waking up the ESP32 from deep sleep. This ensures that the ESP32 will not be reset continuously if someone keeps ringing the doorbell.
- This project does not make use of the TR-064 protocol but instead of the SIP protocol.
- The code is optimized for ease of use (it requires only minimal and non-sensitive config) and performance (it buffers the WiFi settings so that connecting to the WiFi is fast).
Here are some tips that might be handy:
- In your router you only need to setup a new IP phone and obtain the credentials.
- Create the esp-doorbell-config.h file based on the esp-doorbell-config.h.example file and add your credentials in there.
- Depending on the lenght of the wire to your door bell button, you might want to use a different resistance/LED to ensure that the optocoupler works properly (especially if you use only a low supply voltage).
- Make sure to add the ESP32 board manager and install the TR-064-SOAP-Library in the Arduino IDE.
Please see CHANGELOG for more information what has changed recently.
Please see CONTRIBUTING for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
You are free to use this sketch, but if it makes it to your production environment we highly appreciate you sending us a postcard from your hometown. The address is: Lukas Müller, Dirklangendwarsstraat 5, 2611HZ Delft, The Netherlands.
The MIT License (MIT). Please see LICENSE for more information.