palivoda / esper

Initialization for ESP8266, ESP32 - user can setup WiFi and MQTT connection

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

What is ESPER?

ESPER library takes care about your ESP microcontroller setup and configuration. You focus on reading sensors, triggering relays and of course logic and UI setup in your Node-RED instance.

Here is full list of features done so far:

  • Arduino for ESP8266 based (all your sketches are portable)
  • EEPROM configuration storage
  • Setup Wi-Fi connection on deployment (SSID, password)
  • Setup MQTT connection on deployment (host, port, user, password, retain)
  • Configure MQTT topics for data esper/feed, as well for esper/init and esper/will
  • Update firmware from URL (triggered by MQTT esper/ota message)
  • Read device configuration and status via MQTT message (esper/echo message)
  • Build in Timer trigger sensor readings when the board is online and ready (tictac)
  • Debug macros with printf like formatting

All this you get by starting your project with Esper Application!

Core Esper development:

  • Git clone in to directory.
  • Open directory as project in Paltformio
  • In [platformio.ini] file set up your board and comment out ESPER_BULD_LIB parameter to include main.cpp content in to the build.
  • You should be able to build Esper core and upload it in to the ESP chip.

Extending Esper with new commands:

To be announced when functionality will be implemented.

Supported Boards

By this time EPSER was deployed and working on

Roadmap

  • Kick start application template
  • MQTT Esper command
    • Define command implementation interface (abstract class with predefined call context)
    • Define command MQTT message format (format of string)
    • Create kick-start command implementation template
  • Implement basic MQTT commands to manipulate with hardware pins (read, write, PWM)
    • Command to read pin with timer
    • Command to write pin, PWM on pin
    • Command to set Pin interrupt notification
  • Implement input and output value mappings
    • Basic points approximation mapper
    • Math function mapping
  • MQTT Esper process
    • Define command interface
  • Implement more internal process type of commands
    • Process to start trigger level logic
    • Process to start PID regulator
  • EEPROM encryption

License

MIT

About

Initialization for ESP8266, ESP32 - user can setup WiFi and MQTT connection


Languages

Language:C++ 100.0%