ESPUI/README.md

82 lines
3.6 KiB
Markdown
Raw Normal View History

2017-10-19 20:21:02 +00:00
# ESPUI
2017-10-19 20:25:37 +00:00
![ESPUI Controlpad](https://github.com/s00500/ESPUI/blob/master/docs/controlpad.png)
![ESPUI Switch](https://github.com/s00500/ESPUI/blob/master/docs/switch.png)
2017-10-19 20:21:02 +00:00
ESPUI is a simple library to make a web user interface for your projects using the **ESP32**
It uses web sockets and lets you create, control, and update elements on your GUI through multiple devices like phones and tablets.
ESPUI uses simple Arduino-style syntax for creating a solid, functioning user interface without too much boilerplate code.
So if you either don't know how or just don't want to waste time: this is your simple solution user interface without the need of internet connectivity or any additional servers.
I completely rewrote the EasyUI Library created by ayushsharma82 [Here](https://github.com/ayushsharma82/)
Now it uses ESPAsyncWebserver and is mainly to be used with the ESP32 Processor.
ESP8266 support will be interesting maybe in the future.
## Getting started (Filesystem upload)
ESPUI **NEEDS** its files burnt on the SPIFFS filesystem on the ESP. **Without this ESPUI will NOT work at all**
To do this download and install me-no-devs wonderful [ESP32 sketch data uploader](https://github.com/me-no-dev/arduino-esp32fs-plugin)
Then open the example sketch and select "ESP32 Upload Sketch Data" from the Tools menu.
Now you are set to go and use any code you want to with this library
2017-05-18 23:08:17 +00:00
## How to Install
###### Directly Through Arduino IDE
2017-10-19 20:21:02 +00:00
THIS IS NOT DONE YET
~~Go to Sketch > Include Library > Library Manager > Search for "EasyUI" > Install~~
2017-05-18 23:08:17 +00:00
2017-10-19 20:21:02 +00:00
###### Manual Install
2017-05-18 23:08:17 +00:00
2017-10-19 20:21:02 +00:00
For Windows: Download the [Repository](https://github.com/s00500/ESPUI/archive/master.zip) and extract the .zip in Documents>Arduino>Libraries>{Place "ESPUI" folder Here}
2017-05-18 23:08:17 +00:00
2017-10-19 20:21:02 +00:00
For Linux: Download the [Repository](https://github.com/s00500/ESPUI/archive/master.zip) and extract the .zip in Sketchbook/Libraries/{Place "ESPUI" folder Here}
2017-05-18 23:08:17 +00:00
2017-10-19 20:21:02 +00:00
For macOs: Download the [Repository](https://github.com/s00500/ESPUI/archive/master.zip) and extract the .zip in ~/Documents/Arduino/libraries/{Place "ESPUI" folder Here}
2017-05-18 23:08:17 +00:00
2017-10-19 20:21:02 +00:00
###### Manually through IDE
2017-05-18 23:08:17 +00:00
2017-10-19 20:21:02 +00:00
Download the [Repository](https://github.com/s00500/ESPUI/archive/master.zip), Go to Sketch>Include Library>Add .zip Library> Select the Downloaded .zip File.
2017-05-18 23:08:17 +00:00
2017-10-19 20:21:02 +00:00
## Dependencies
This library is dependent on the following libraries to function properly.
- [ESP32 Core Library](https://github.com/espressif/arduino-esp32)
- [ESPAsyncWebserver](https://github.com/me-no-dev/ESPAsyncWebServer)
- [ArduinoJson](https://github.com/bblanchon/ArduinoJson)
2017-05-18 23:08:17 +00:00
2017-10-19 20:21:02 +00:00
## User interface Elements
2017-10-19 20:25:37 +00:00
- Label (updateable)
2017-10-19 20:21:02 +00:00
- Button
2017-10-19 20:25:37 +00:00
- Switch (updateable)
2017-10-19 20:21:02 +00:00
- Control pad
- Control pad with center button
2017-05-18 23:08:17 +00:00
2017-10-19 20:21:02 +00:00
Checkout the example for the usage
2017-05-18 23:31:51 +00:00
2017-10-19 20:21:02 +00:00
## Roadmap :
2017-05-18 23:08:17 +00:00
2017-10-19 20:25:37 +00:00
- refactor id system
2017-10-19 20:21:02 +00:00
- make button colour customisable
2017-10-19 20:25:37 +00:00
- do a proper redesign
2017-10-19 20:21:02 +00:00
- cleanup unnecessary CSS
- gzip files to make them load faster
- setup spiffs using values in program memory ? (if you have feedback to this idea let me know)
2017-10-19 20:25:37 +00:00
- ESP8266 support
2017-05-18 23:31:51 +00:00
2017-05-18 23:08:17 +00:00
## Documentation
2017-10-19 20:25:37 +00:00
The heart of ESPUI is [ESPAsyncWebserver](https://github.com/me-no-dev/ESPAsyncWebServer).
2017-10-19 20:21:02 +00:00
ESPUI's frontend is based on [Skeleton CSS](http://getskeleton.com/) and jQuery-like lightweight [zepto.js](https://zeptojs.com/) for Handling Click Events Etc. The communication between the *ESP32* and the client browser works using web sockets.
ESPUI does not need network access and can be used in standalone access point mode.
All assets are loaded from the internal SPIFFS filesystem of the ESP32.
2017-05-18 23:08:17 +00:00
# Contribute
2017-10-19 20:21:02 +00:00
Liked this Library? You can Support me by sending me a :coffee: [Coffee](https://paypal.me/lukasbachschwell/3).