{"id":21496146,"url":"https://github.com/ayushsharma82/easyui","last_synced_at":"2025-07-19T18:04:32.570Z","repository":{"id":109827491,"uuid":"91745493","full_name":"ayushsharma82/EasyUI","owner":"ayushsharma82","description":"ESP8266 User Interface Library.","archived":false,"fork":false,"pushed_at":"2019-03-19T00:28:02.000Z","size":75,"stargazers_count":67,"open_issues_count":2,"forks_count":21,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-07-16T13:25:22.650Z","etag":null,"topics":["arduino","easyui","esp8266","gui","html","interface","iot","json","server","ui","user","webpage","websockets"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ayushsharma82.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-05-18T23:15:31.000Z","updated_at":"2025-05-13T11:48:29.000Z","dependencies_parsed_at":"2023-05-26T22:00:09.177Z","dependency_job_id":null,"html_url":"https://github.com/ayushsharma82/EasyUI","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/ayushsharma82/EasyUI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayushsharma82%2FEasyUI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayushsharma82%2FEasyUI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayushsharma82%2FEasyUI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayushsharma82%2FEasyUI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ayushsharma82","download_url":"https://codeload.github.com/ayushsharma82/EasyUI/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayushsharma82%2FEasyUI/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265982300,"owners_count":23859563,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","easyui","esp8266","gui","html","interface","iot","json","server","ui","user","webpage","websockets"],"created_at":"2024-11-23T16:15:04.893Z","updated_at":"2025-07-19T18:04:32.508Z","avatar_url":"https://github.com/ayushsharma82.png","language":"C++","funding_links":["https://www.paypal.me/ayushsharma82/3"],"categories":[],"sub_categories":[],"readme":"# EasyUI\n\n## [DEPRECIATED] This library is depriciated and is no longer maintained. Please See \u003ca href=\"https://github.com/ayushsharma82/ESP-DASH\"\u003eESP-DASH\u003c/a\u003e as an alternative with enhanced performance and more capabilities.\n\n\u003cbr\u003e\n\nDid you Ever Got into the Trouble of Making a good Looking UI for ESP8266 without having the skills to Build Perfect Webpages?\nEasyUI 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.\n\nEasyUI uses functions native to arduino for creating the perfect Good Looking User Interface without the Need of Knowing Complex Javascripts etc.\n\n## How to Install\n###### Directly Through Arduino IDE\nGo to Sketch \u003e Include Library \u003e Library Manager \u003e Search for \"EasyUI\" \u003e Install\n\n###### Mannual Install\n\nFor Windows: Download the [Repository](https://github.com/ayushsharma82/EasyUI/archive/master.zip) and extract the .zip in Documents\u003eArduino\u003eLibraries\u003e{Place \"EasyUI\" folder Here}\n\nFor Linux: Download the [Repository](https://github.com/ayushsharma82/EasyUI/archive/master.zip) and extract the .zip in Sketchbook\u003eLibraries\u003e{Place \"EasyUI\" folder Here}\n\n###### Mannually through IDE\n\nDownload the [Repository](https://github.com/ayushsharma82/EasyUI/archive/master.zip), Go to Sketch\u003eInclude Library\u003eAdd .zip Library\u003e Select the Downloaded .zip File.\n\n## Dependancies\nThis Library is Dependent on the Following Libraries to Function Properly.\n  - [ESP8266 Core Library](https://github.com/esp8266/Arduino)\n  - [arduinoWebSockets Library](https://github.com/Links2004/arduinoWebSockets)\n  - [ArduinoJson](https://github.com/bblanchon/ArduinoJson)\n\nMake Sure all Dependencies are Installed at their Latest Version to make this Work.\n\n## Elements\n\nEasyUI Currently has the Following User Interface Elements:\n\n  - Toggle Button\n  - Label\n\n## Upcoming Elements and Features\n\nUpcoming Elements:\n- ~~Toggle Button~~\n- ~~Label~~\n- Smart Variable\n- Progress Bar\n- Click Button\n- Dropbox Selection\n- Forums\n- Tables\n\nUpcoming Features:\n- ~~Detect Internet and Switch to Online File CDN~~\n- WiFi Credentials Setup Page\n- Embed MQTT\n\n## Documentation\n\nEasyUI is Based on [Skeleton CSS](http://getskeleton.com/) and Jquery for Handling Click Events Etc. The Communication Between ESP8266 and Webpage is with Websockets.\nEasyUI is not Internet Dependent and will Continue working without any Internet Connection, All Assets are Loaded form ESP8266 Program Memory.\n\n#### Following Functions can be Used in Sketch:\n\n**To Detect Internet and Switch to CDN** \nThe 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!)\n```\nEasyUI.detectCDN(true);\n```\n\u003cbr\u003e\n\n**To Set an Title for your Webpage:**\nThis Line of Code will Add your Custom Title to the Webpage Displayed by ESP8266. By Default is \"EasyUI\".\n```\nEasyUI.title(\"\");\n```\n\u003cbr\u003e\n\n**To Make Label on Webpage:**\nThis will add an Label on your Web Interface.\n```\nEasyUI.label(\"Title\", \"Value\");\n```\n\u003cbr\u003e\n\n**To Make Toggle Button on Webpage:**\nThis will add an toggle Button on your Webpage. For Extra Functionality* See Below\n```\nEasyUI.toggleButton(pin,\"Title\");\n```\n\u003cbr\u003e\n\n**Start the Library:**\nOnce you have Specified Any of the above Elements, Use this Below them to Start Inializing the Library. \u003cbr\u003e\n```\nEasyUI.begin();\n```\n\u003cbr\u003e\n\n**Loop Function:**\nDon't Forget to Add this in your void loop()\n```\nEasyUI.loop();\n```\n\u003cbr\u003e\n\n## Extra Functionality\nThere are Some Elements in Library which have Added extra Functionality for Ease of Use.\n\n**For Toggle Buttons:**\nFor Toggle Buttons There are 2 Extra Functionalities which can be defined by user.\n\n- 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}' )\n\n- 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**.\n```\nEasyUI.toggleButton(pin, \"Title\", {Start State}, {Swap State});\n```\n# Contribute\nLiked this Library? You can Support me by sending me a :coffee: [Coffee](https://www.paypal.me/ayushsharma82/3).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fayushsharma82%2Feasyui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fayushsharma82%2Feasyui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fayushsharma82%2Feasyui/lists"}