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 | ||