Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/walvi112/nodemcu_webserverrelay
Web server on the NodeMCU ESP8266 for controlling GPIO pins
https://github.com/walvi112/nodemcu_webserverrelay
arduino esp8266 nodemcu-esp8266
Last synced: 1 day ago
JSON representation
Web server on the NodeMCU ESP8266 for controlling GPIO pins
- Host: GitHub
- URL: https://github.com/walvi112/nodemcu_webserverrelay
- Owner: walvi112
- License: mit
- Created: 2024-10-11T09:53:50.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-10-29T17:35:48.000Z (3 months ago)
- Last Synced: 2024-10-29T18:48:59.181Z (3 months ago)
- Topics: arduino, esp8266, nodemcu-esp8266
- Language: C++
- Homepage:
- Size: 242 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# NodeMCU WebServer Relay
Web server on NodeMCU ESP8266 dev board for controlling IO pins.## Features
* Relay control (IO pin control) via webserver interface with the wifi module working in mode client.
* Support setting of up to schedules for on/off IO pin by day/hour/minute via webserver interface.
* Schedule can run without internet connection (RTC drift time to be tested).
* Automatically synchronize with NTP server for accurate RTC.
* Previous states and schedules are stored in eeprom.## Setting up
* Allow to control an IO pin via webserver (I connected the D1 pin to control relay).
* Button with pull-up resistor on D2 pin.
* After starting up, the board must connect to internet at least once to synchronize RTC and enable schedule setting (modify the NTP server and timezone in the webserver.h)## Commands
* log on : toggle log on.
* log off : toggle log off.
* wifi set [my_ssid+my_pwd] : set wifi ssid and password.
* relay on : switch on the relay pin.
* relay off : switch off the relay pin.
* relay status : get the actual relay status.
* schedule add : add schedule.
* schedule delete [id] : delete schedule.
* schedule get : display all registered schedule.
* device reset : reset device.## Demo
![relay](demo/relay.png)
![schedule1](demo/schedule1.png)
![schedule2](demo/schedule2.png)