This project provides a framework for building a network IoT appliance to monitor and control one or thousands of alarm panels using an AD2pHAT from AlarmDecoder.com
The AD2EmbeddedIot Arduino sketch example has the following features that can be selectively enabled or disabled.
- HTTP/HTTPS web server with REST API.
- MQTT/MQTTS client to connect to public or private MQTT/MQTTS broker.
- SSDP UPNP. Provides discovery capabilities with Hubitat Elevation™, SmartThings™ hub and other SSDP capable controllers.
- Socket server. Allows connections from the AlarmDecoder keypad GUI app, Micasaverde VERA, Hasbian and other systems that support TCP/IP connections.
- AlarmDecoder protocol pass through. Connect the ESP32 USB port to a host computer to access the AD2 device directly using a serial terminal.
Using an Olimex ESP32-EVB-EA it takes 6 seconds after booting to connect to the network and start sending messages.
- Use the latest Arduino IDE(1.8.x)
- Add support for ESP32 using the Boards Manager.
- Goto Tools > Board > Boards Manager
- Search for 'ESP32 by Espressif Systems' press install.
- Install esp32fs plugin(1.0) for SPIFFS support.
- Install MQTT library
- Goto Tools > Manage Libraries
- Search for 'PubSubClient' and install v2.6.0 by Nick O'Leary
- Install ESP32SSDP library
- Work in progress.
- https://github.com/f34rdotcom/ESP32SSDP/tree/reply-delay-fix-1
- Install esp32_https_server
- Work in progress with repo manager to add IP Address info for client.
- https://github.com/fhessel/esp32_https_server
- Install TinyTemplateEngine
- The custom SPIFFS reader module needs to be copied from contrib folder to library folder as the current version does not support SPIFFS sources.
- https://github.com/full-stack-ex/tiny-template-engine-arduino
- Set partition scheme in Arduino IDE
- Minimal SPIFFS (Large APPS with OTA)
- Submit issues and contribute improvements on github/nutechsoftware
- Sean Mathews [email protected] - Initial skeleton and R&D