Menu

Tree [r294] /
 History

HTTPS access


File Date Author Commit
 components 2019-04-20 dannybackx [r214] Remove components/espmqtt, this is now part of ...
 libraries 2019-04-28 dannybackx [r219] Avoid warnings
 main 2020-02-18 dannybackx [r294] Turn structure into a pointer first, before ACM...
 pcb 2018-08-19 dannybackx [r49] Add v1 of the PCB
 LICENSE 2018-08-19 dannybackx [r47] Add license file, remove pubsubclient
 Makefile 2020-02-02 dannybackx [r289] Acme should be in libraries/acmeclient from now.
 Readme.md 2020-02-16 dannybackx [r293] Small bugfixes

Read Me

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.
Currently setup is to hardcode, partially as a security measure, configuration (small JSON texts).
An evolution could be to add GUI to configure modules via the touch screen.
No (network) remote configuration functionality is built-in, to prevent making the system hackable.

It needs to be built with ESP-IDF, the build environment recommended by Espressif.

Components required (you need to put these in components/) :

  • arduino (https://github.com/espressif/arduino-esp32.git)
  • espmqtt : this is no longer a separate requirement, it became part of esp-idf (from v3.2).

Arduino libraries (these are already copied in libraries/) :

  • TFT_eSPI (Bodmer's stuff with small changes)
  • Timezone
  • arduinojson
  • rcswitch
  • rfid
  • my own acmeclient (https://esp32-acme-client.sourceforge.io)

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

  • CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=4304 (was 2304)
    to prevent eventTask from running out of stack space
  • CONFIG_FREERTOS_USE_TRACE_FACILITY=y if you want to be able to list the ESP32 tasks,
    or their memory/stack usage
    (menuconfig->Component config->FreeRTOS->Enable FreeRTOS trace facility)
MongoDB Logo MongoDB