| File | Date | Author | Commit |
|---|---|---|---|
| components | 2019-04-20 | dannybackx | [r214] Remove components/espmqtt, this is now part of ... |
| libraries | 2020-10-19 | dannybackx | [r338] Remove Arduino String from Oled as well. |
| main | 2021-04-04 | dannybackx | [r374] Set up a https server based on ACME credentials |
| mobile | 2020-04-10 | dannybackx | [r300] Add directory |
| pcb | 2018-08-19 | dannybackx | [r49] Add v1 of the PCB |
| LICENSE | 2018-08-19 | dannybackx | [r47] Add license file, remove pubsubclient |
| Makefile | 2021-04-02 | dannybackx | [r369] Small changes. |
| Readme.md | 2020-10-24 | dannybackx | [r346] Doc update |
| config.json.sample | 2020-10-24 | dannybackx | [r348] Add sample json configuration file (to be uploa... |
House alarm system based on ESP32
Copyright (c) 2017, 2018, 2019, 2020 by Danny Backx
This alarm system is designed to work with a bunch of similar controllers.
You can choose which hardware and capabilities go in each individual controller, and configure them accordingly.
The software needs a small amount of configuration to talk to the hardware.
With no configuration, the software will format a LittleFS partition, start an FTP server,
and you can use that to upload a file into /fs/config.json .
A sample content :
{ "name" : "prototype",
"haveOled" : true, "oledLedPin" : 5, "oledCSPin" : 17, "oledDCPin" : 16,
"run_ftp" : true, "ftp_user" : "me", "ftp_pass" : "myself",
"radioPin" : 22,
"sensors" : [
{ "name" : "Hall motion", "id" : 0x00CD4FAA, "zone" : "secure" },
{ "name" : "Kitchen smoke", "id" : 0x004F55E8, "zone" : "always" },
{ "name" : "Upstairs smoke", "id" : 0x007DF9E8, "zone" : "always" }
]
}
It's obviously possible to turn off FTP to make the system less hackable, the flip side is that
recovery is harder.
This software can be built with ESP-IDF, the build environment recommended by Espressif.
Components required (you need to put these in components/) :
Arduino libraries (these are already copied in libraries/) :
In the "make menuconfig -> Arduino", only the Arduino libraries Wire and SPI are currently needed.
Hardware platform :
I have a PCB design that can be used to build a controller module with minimal wiring.
See my project on easyeda.com, or the copy in pcb .
The v1 has one known bug : the radio data line should go to esp32 pin 27 instead of pin 22.
Note : you may need to set some parameters in "make menuconfig" to make this work