This shows you the differences between two versions of the page.
— |
arc:features [2018-07-16 12:05] (current) jk created |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | *>>> UNDER CONSTRUCTION <<<* | ||
+ | |||
+ | Goal: | ||
+ | * Like ESPEasy a web configurable IoT device | ||
+ | * Usage of IoT devices by hobbyists without progrmming expirence | ||
+ | * Adding plugins with low/mid level Python knowlage | ||
+ | * Append plugins by community (GitHub) | ||
+ | * Open source | ||
+ | |||
+ | Platform: | ||
+ | * RaspberryPi, \*Pi (initially planned) | ||
+ | * PC (for development and debugging) | ||
+ | * ESP32 | ||
+ | * PyBoard ? | ||
+ | * ~~ESP8266~~ too less memory :-( | ||
+ | * Other platforms running MicroPython with 100 kByte free RAM (`gc.mem_free()`) | ||
+ | |||
+ | Programming Lanuage: | ||
+ | * Hybrid-Python to fit all platforms: | ||
+ | * CPython 3.4.x (or higher) for Raspberry Pi and PC | ||
+ | * MicroPython 1.9.4 (or higher) for ESP32 and PyBoard | ||
+ | |||
+ | User GUI: | ||
+ | * Web server front end on the platform based on the project [MicroWebSrc](https://github.com/jczic/MicroWebSrv) which is already in Hybrid-Python | ||
+ | |||
+ | User CLI: | ||
+ | * All funcionalitys are accessable by a command line interface via HTTP GET request, web page (HTML form), Telnet, ... | ||
+ | |||
+ | Plugin system: | ||
+ | * Easiely extend by anyone | ||
+ | * Unloadable plugins (import fails) are dismissed and don't affect other plugins | ||
+ | * If nessecary intall with reduced plugin count | ||
+ | |||
+ | * Gadget-plugins: | ||
+ | * Interface to hardware sensors and actuators | ||
+ | * Deliver variables/measurements (e.g. temperature, switch on/off, ...) to active gateway-plugins, rules, web interface, ... | ||
+ | * Each gadget has its own partial web page form for configuration | ||
+ | * A gadget plugin can be instanciated multiple times (e.g. many temperature sensors of same type) | ||
+ | |||
+ | * Gateway-plugins: | ||
+ | * Interface to external servers and brokers | ||
+ | * Consume variables/measurements (e.g. temperature, switch on/off, ...) and deliver them to the configured server (e.g. MQTT, HTTP, Socket, InfluxDB, ...) | ||
+ | * Can also support hardware access to transmission modules (e.g. LoRaWan, Philips Hue, ...) | ||
+ | * Each gateway has its own partial web page form for configuration | ||
+ | * A gateway can be instanciated multiple times | ||
+ | |||
+ | * Command-plugins: | ||
+ | * Extend cli with additional commands | ||
+ | |||
+ | * rule-plugins: | ||
+ | * Add rules to react on new measurements and call cli commands or set the values of other variable | ||
+ | * Each rule has its own partial web page form for configuration | ||
+ | |||
+ | * web-plugins: | ||
+ | * Extend web front end with additional pages | ||
+ | |||
+ | Front-end-Languages: | ||
+ | * Initial: English | ||
+ | * Later: localisation | ||