Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mc-cat-tty/doorbellcamfirmware
Part of DoorbellCam project: firmware for esp32-based notifier
https://github.com/mc-cat-tty/doorbellcamfirmware
custom-pcb domotic esp-idf esp32 esp32-idf freertos hardware home-automation iot led-ring notifier platformio
Last synced: 8 days ago
JSON representation
Part of DoorbellCam project: firmware for esp32-based notifier
- Host: GitHub
- URL: https://github.com/mc-cat-tty/doorbellcamfirmware
- Owner: mc-cat-tty
- Created: 2022-05-12T07:36:41.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-02-07T23:02:54.000Z (almost 2 years ago)
- Last Synced: 2024-10-28T00:21:30.795Z (about 2 months ago)
- Topics: custom-pcb, domotic, esp-idf, esp32, esp32-idf, freertos, hardware, home-automation, iot, led-ring, notifier, platformio
- Language: C++
- Homepage:
- Size: 118 KB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
Firmware for custom-made **notifier** based on **esp32** module. Notifications are received from a **wireless 433MHz** demodulator and shown through a series of **light effects**, which represent the state of the doorbell's FSM. A demux is connected to the esp32 in order to control a **led ring**; atm implemented animations are just forward and reverse **spinner**.
You can find other parts of the project at:
- [https://github.com/mc-cat-tty/DoorbellCamDaemon](https://github.com/mc-cat-tty/DoorbellCamDaemon)
- [https://github.com/mc-cat-tty/DoorbellCamPhy](https://github.com/mc-cat-tty/DoorbellCamPhy)## 4Users
1. Download _receiver\_fw.bin_ and _transmitter\_fw.bin_ from [https://github.com/mc-cat-tty/DoorbellCamFirmware/releases/latest](https://github.com/mc-cat-tty/DoorbellCamFirmware/releases/latest)2. Flash them on your ESP32s
```bash
esptool.py -p /dev/ttyUSB0 -b 115200 write_flash -fm dio -z 0x00 [transmitter|receiver]_fw.bin
```Warning: the upload port may be different on your setup.
## 4Devs
### Dependencies
- PIO - Platform IO (suggested)
- ESP Tool
- IDF Monitor
- xtensa-esp32-elf packageYou may need to add `export PATH="$HOME/.platformio/penv/bin/:$PATH"` to your `~/.bashrc` or `~/.zshrc` shell configuration file.
### How to build
Transmitter:
```bash
pio run --environment transmitter
```Receiver:
```bash
pio run --environment receiver
```### How to flash
Move into *DoorbellCamFirmware/.pio/build/[transmitter|receiver]*```bash
esptool.py -p /dev/ttyUSB0 -b 115200 write_flash -fm dio -z 0x1000 bootloader.bin 0x8000 partitions.bin 0x10000 firmware.bin
```### How to debug
Move into *DoorbellCamFirmware/.pio/build/[transmitter|receiver]*Dump all symbols:
```bash
readelf -s firmware.elf
```Translate address to file:line (the manual way):
```bash
addr2line -e firmware.elf 0x400d19b3:0x3ffb7ed0
```Where `0x400d19b3:0x3ffb7ed0` is one of the address you can find in a esp32 core dump's backtrace.
Traslate a whole backtracke (the smart way):
```bash
idf_monitor.py --port /dev/ttyUSB0 firmware.elf
```