| File | Date | Author | Commit |
|---|---|---|---|
| components | 2021-11-01 | dannybackx | [r413] Replace ArduinoJson v5 in libraries/ by Arduino... |
| libraries | 2021-11-01 | dannybackx | [r413] Replace ArduinoJson v5 in libraries/ by Arduino... |
| main | 2021-12-22 | dannybackx | [r458] Successful call from JsonTesterApplication on A... |
| mobile | 2020-04-10 | dannybackx | [r300] Add directory |
| pcb | 2018-08-19 | dannybackx | [r49] Add v1 of the PCB |
| CMakeLists.txt | 2021-10-03 | dannybackx | [r399] Replace legacy build configuration |
| LICENSE | 2018-08-19 | dannybackx | [r47] Add license file, remove pubsubclient |
| Readme.md | 2021-11-08 | dannybackx | [r420] Implement basic stuff for AHT20 sensor. |
| config.json.sample | 2020-10-24 | dannybackx | [r348] Add sample json configuration file (to be uploa... |
| partitions-mine.csv | 2021-10-03 | dannybackx | [r400] Add partitions file, required for large code pa... |
House alarm system based on ESP32
Copyright (c) 2017, 2018, 2019, 2020, 2021 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 should be built with ESP-IDF, the build environment recommended by Espressif.
Note : currently works on esp-idf-v4.3.1 .
Components required (you need to put these in components/) :
Arduino libraries (these are already copied in libraries/) :
Libraries for temperature sensors should be copied into libraries/ :
In the "make menuconfig -> Arduino", only the Arduino libraries ESP32, Wire and SPI are needed. Hence advice
to select "Include only specific Arduino libraries".
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