Git Product home page Git Product logo

easyui's Introduction

EasyUI

[DEPRECIATED] This library is depriciated and is no longer maintained. Please See ESP-DASH as an alternative with enhanced performance and more capabilities.


Did you Ever Got into the Trouble of Making a good Looking UI for ESP8266 without having the skills to Build Perfect Webpages? EasyUI is an User Interface Library for ESP8266 to Solve this Problem. This Library Uses Light-weight Websockets Protocol for Communicating with Webpage to Control, Make and Update Elements.

EasyUI uses functions native to arduino for creating the perfect Good Looking User Interface without the Need of Knowing Complex Javascripts etc.

How to Install

Directly Through Arduino IDE

Go to Sketch > Include Library > Library Manager > Search for "EasyUI" > Install

Mannual Install

For Windows: Download the Repository and extract the .zip in Documents>Arduino>Libraries>{Place "EasyUI" folder Here}

For Linux: Download the Repository and extract the .zip in Sketchbook>Libraries>{Place "EasyUI" folder Here}

Mannually through IDE

Download the Repository, Go to Sketch>Include Library>Add .zip Library> Select the Downloaded .zip File.

Dependancies

This Library is Dependent on the Following Libraries to Function Properly.

Make Sure all Dependencies are Installed at their Latest Version to make this Work.

Elements

EasyUI Currently has the Following User Interface Elements:

  • Toggle Button
  • Label

Upcoming Elements and Features

Upcoming Elements:

  • Toggle Button
  • Label
  • Smart Variable
  • Progress Bar
  • Click Button
  • Dropbox Selection
  • Forums
  • Tables

Upcoming Features:

  • Detect Internet and Switch to Online File CDN
  • WiFi Credentials Setup Page
  • Embed MQTT

Documentation

EasyUI is Based on Skeleton CSS and Jquery for Handling Click Events Etc. The Communication Between ESP8266 and Webpage is with Websockets. EasyUI is not Internet Dependent and will Continue working without any Internet Connection, All Assets are Loaded form ESP8266 Program Memory.

Following Functions can be Used in Sketch:

To Detect Internet and Switch to CDN The most Heaviest Part of the code is Jquery so, to make Webpages Load faster , user can use this function to switch between jquery served from esp memory or through online CDN when Internet is Available. (This Function is to be used in Station Mode Only!)

EasyUI.detectCDN(true);

To Set an Title for your Webpage: This Line of Code will Add your Custom Title to the Webpage Displayed by ESP8266. By Default is "EasyUI".

EasyUI.title("");

To Make Label on Webpage: This will add an Label on your Web Interface.

EasyUI.label("Title", "Value");

To Make Toggle Button on Webpage: This will add an toggle Button on your Webpage. For Extra Functionality* See Below

EasyUI.toggleButton(pin,"Title");

Start the Library: Once you have Specified Any of the above Elements, Use this Below them to Start Inializing the Library.

EasyUI.begin();

Loop Function: Don't Forget to Add this in your void loop()

EasyUI.loop();

Extra Functionality

There are Some Elements in Library which have Added extra Functionality for Ease of Use.

For Toggle Buttons: For Toggle Buttons There are 2 Extra Functionalities which can be defined by user.

  • First is {Start State} , This is for Selecting if you want that GPIO to Start in LOW or HIGH. By Default it's LOW. (Define LOW or HIGH instead of '{Start State}' )

  • Second {Swap State}, is useful for Swapping the States at which UI Buttons will work. making '{Swap State}' replace with true will make GPIO LOW when Clicked "Turn On" and HIGH when clicked "Turn Off". By Default this is false.

EasyUI.toggleButton(pin, "Title", {Start State}, {Swap State});

Contribute

Liked this Library? You can Support me by sending me a โ˜• Coffee.

easyui's People

Contributors

ayushsharma82 avatar per1234 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

easyui's Issues

Exception (3) when opening the webpage from the soft_AP_UI_test

(Also I just saw that the repo is marked as deprecated)

I compiled the soft_AP_UI_test example. When I load the webpage in Firefox for Android, the ESP8266 crashes.

Using:

  • Arduino 1.8.9
  • arduinoWebSockets/releases/tag/2.1.1
  • Firefox 68.0.2
  • Adafruit Feather HUZZAH (esp8266)

Additional Info:
I have issues compiling other ESP user interface libraries after a fresh install of Arduino.
Although I am confused since this library compiles and only throws errors during runtime.
ESPUI/issues/61

Console Output:

IP address: 192.168.4.1

Exception (3):
epc1=0x40216008 epc2=0x00000000 epc3=0x00000000 excvaddr=0x40263f4b depc=0x00000000

>>>stack>>>

ctx: cont
sp: 3ffffc50 end: 3fffffc0 offset: 01a0
3ffffdf0:  40263f4b 0000025e 3ffef1bc 40209c84  
3ffffe00:  00000000 3fff0294 3ffef1bc 402042b5  
3ffffe10:  00000000 00000000 ff20af3c 3fffefa0  
3ffffe20:  3fff0294 ffffffff 00000000 4020b51b  
3ffffe30:  00003547 ffffffff 3fff0064 40201d56  
3ffffe40:  3ffef464 00000277 00000277 4020d4b8  
3ffffe50:  3ffffea8 3ffe8eeb 3fffff08 4020d8e0  
3ffffe60:  3ffffea8 3ffe8eeb 3fff0294 40209c60  
3ffffe70:  3ffe8eeb 3ffe8eeb 3fff0294 40209c84  
3ffffe80:  3ffffea8 3ffe8eeb 3fff0294 00000001  
3ffffe90:  3ffffee0 3fff07fc 00000000 4020a4dc  
3ffffea0:  00000000 ff312e34 3ffffee0 402052ec  
3ffffeb0:  00000001 00000001 3fff07d4 40212d8b  
3ffffec0:  00000000 40204534 3fff07d4 401000a9  
3ffffed0:  3fff07d4 3fff02d8 3fffff00 40205322  
3ffffee0:  00000000 00000000 ffff0294 40209fd0  
3ffffef0:  3fff07d4 3fff02d8 3fff0294 402053ad  
3fffff00:  0000002f 00000000 00000000 00000000  
3fffff10:  ff2f5054 00000000 40100200 00003542  
3fffff20:  3fff02bc 3fff0348 00000001 402129dc  
3fffff30:  00000001 00000000 00000000 00000019  
3fffff40:  00000000 3fff0064 3fff0294 3ffef3c8  
3fffff50:  00000001 3fff02bc 3fff0294 40205604  
3fffff60:  402136b8 00000000 00001388 3ffef3c8  
3fffff70:  00000000 3fff0064 3fff0384 40209089  
3fffff80:  3fffdad0 00000000 3ffef1bc 402029ee  
3fffff90:  00000000 00000000 3ffef398 402010d4  
3fffffa0:  3fffdad0 00000000 3ffef398 4020afec  
3fffffb0:  feefeffe feefeffe 3ffe8558 401005c9  
<<<stack<<<

 ets Jan  8 2013,rst cause:2, boot mode:(3,7)

load 0x4010f000, len 1384, room 16 
tail 8
chksum 0x2d
csum 0x2d
v8b899c12
~ld

IP address: 192.168.4.1

Exception (3):
epc1=0x40216008 epc2=0x00000000 epc3=0x00000000 excvaddr=0x40263f4b depc=0x00000000

Duplicate elements when opening additional connections.

Using UI_test, when I open a second browser connection the Label/LED pair are duplicated on the same line on the first instance. When opening a third connection the second page has two, the first page has three. The duplicate buttons also control the LED but the state is not changed. (not that it should be there)

Any plans on adding to the library?

esp8266 crash after browser visit

i just install EasyUI and upload example to esp8266, it's working and show IP Address in console.
but it's crash after browser visiting.
`Exception (3):
epc1=0x4000bef4 epc2=0x00000000 epc3=0x00000000 excvaddr=0x4025568e depc=0x00000000

ctx: cont
sp: 3fff0750 end: 3fff0a60 offset: 01a0

stack>>>
3fff08f0: 3ffef94c 000000e8 3fff0930 4020d371
3fff0900: 00000001 3fff1c34 3fff0930 4020d3c2
3fff0910: 4025568e 000004de 3ffef7c8 4020d294
3fff0920: 00000001 3fff1c34 3ffef7c8 402092c5
3fff0930: 3fff39ac 000003af 000003ad 4020d2f0
3fff0940: 3fff36ac 00000001 00000000 00000000
3fff0950: 00000000 0000048c 0000048c 4010020c
3fff0960: 00000001 00000001 3fff346c 4020eceb
3fff0970: 00000000 3fffdad0 3fff346c 40209f5a
3fff0980: 3fff346c 3fff1c74 3fff346c 40209f96
3fff0990: 00000000 00000000 00000000 4020d4a0
3fff09a0: 3fff346c 3fff1c74 3fff1c34 4020a029
3fff09b0: 3fff36ac 0000000f 00000001 3fff2514
3fff09c0: 3fff1c74 000000a8 4020db74 00000001
3fff09d0: 00000001 40209558 0000000f 402010a3
3fff09e0: 00000000 3fff2514 3fff2894 3ffefa2c
3fff09f0: 00000001 3fff1c58 3fff1c34 4020a263
3fff0a00: 3ffe8480 00000000 000003e8 3ffefa2c
3fff0a10: 3fffdad0 00000000 3fff2514 4020c934
3fff0a20: 3fffdad0 00000000 3ffef7c8 40207bc1
3fff0a30: 00000000 00000000 3ffefa25 40206a80
3fff0a40: 3fffdad0 00000000 3ffefa25 4020dbc0
3fff0a50: feefeffe feefeffe 3ffefa40 40100718
<<<stack<<<

ets Jan 8 2013,rst cause:2, boot mode:(1,6)
`

Exception 3: LoadStoreError: Processor internal physical address or data error during load or store

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.