ESP Web Console is simple, standalone, customizable web, realtime control/monitor with WebSocket.
In this demo we use ESP-01S, but the firmware of core can be use on ESP8266 series.
This firmware is mainly for someone who want to upgrade your device(Arduino) with ESP8266, Control and Monitor everything on the Web !
Make your own IoT project with Web App, and share your ideas to everyone on the gitter!
- Create your own styled web.
- Baud setting on the web.
- Max connection of 3~4 devices on the same time.
- Use WebSocket to control instead of AT-command.
- Provide AP/AP+STA WiFi Mode, free to switch standalone/internet usage.
- Actively send data to taget server.
- RealTime transfer data with serial port(TX/RX) between ESP8266 and other device like Arduino.
These problem will be optimized in the future!
- Recommend File size of each static files(js,css,html...) after gzip are <7KB.
- Too much js files request on the same time are not recommend.
- Input command too fast will lost sometimes.
- In AP+STA Mode, if the target server not response, the connection will be unstabled.
- Not allowed local network to access ESP8266.
We provide some combinations to use, Basic and Custom firmware is for ESP-01S.
For other modules you can use the core and upload web files.
Firmware | Module | Memory address | Description |
---|---|---|---|
ESPWC_Main_Simple_1MB_FS192KB.bin | ESP-01S | 0x00000 | Simple Web UI + ESPWC_Main |
ESPWC_Main_Custom_1MB_FS192KB.bin | ESP-01S | 0x00000 | Custom Web UI +ESPWC_Main |
ESPWC_Servo_Simple_1MB_FS192KB.bin | ESP-01S | 0x00000 | Simple Web UI + ESPWC_Servo |
ESPWC_Servo_Custom_1MB_FS192KB.bin | ESP-01S | 0x00000 | Custom Web UI +ESPWC_Servo |
ESPWC_ModbusRTU_Custom_1MB_FS192KB.bin | ESP-01S | 0x00000 | Custom Web UI +ESPWC_ModbusRTU |
core / ESPWC_Main_1MB_FS192KB.bin | ESP-01 ~ ESP-14 | 0x00000 | Basic features |
core / ESPWC_Servo_1MB_FS192KB.bin | ESP-01 ~ ESP-14 | 0x00000 | Control Servomotors, base on ESPWC_Main |
core / ESPWC_ModbusRTU_1MB_FS192KB.bin | ESP-01 ~ ESP-14 | 0x00000 | Support Modbus RTU protocol |
Note: make sure of your Module's FS size are enough.
- Connect ESP8266 to computer.(Connection Diagram from google)
- Open Arduino IDE, go to Tools > Port check the serial port of ESP8266.
- Use esptools.py to burn.
Default SSID:PASSWORD is WEBCOM:12345678 (ESPWC_ModbusRTU SSID: Modbusx)
esptools.py --port <Serial Port> erase_flash
esptools.py --port <Serial Port> write_flash 0x0 ESPWC_Main_Simple_1MB_FS192KB.bin
esptools.py --port <Serial Port> write_flash 0x0 ESPWC_Main_1MB_FS192KB.bin
see document
Name | Description |
---|---|
Device Name | Name of this ESP8266 |
AP Connect | Result of Connected WiFi(Default are standalone) |
WiFi Quality | show RSSI of WiFi |
OP Time | Counter of ESP8266 if not restart |
Uart Baudrate(bps) | Baud of ESP8266 |
Name | Description |
---|---|
Scan AP | send @AP scan command |
xxx bps | send @bps: xxx command |
Send | send input message as command |
clear msg | clear textarea output |
EEPROM | show EEPROM of ESP8266 in textarea |
Description | Command |
---|---|
self AP setting | @set SAP [SSID ]:[PASSWORD ] |
scan WiFi | @AP scan |
connect WiFi | @AP connect [SSID ]:[PASSWORD ] |
set TCP data receive address | @set recv IP:DOMAIN/IP :PORT |
baud setting | @bps:baud |
send serial data to external device | VM<MESSAGE |
@Command : system setting for ESP8266.
Description | Command |
---|---|
set servo motor's angle | pose set Channel of PCA9685 :Angle |
set multiple motors at the same time - pose set 1:90 2:90 3:90...
Description | Command |
---|---|
set device ID | @set Device ID: ID |
set Modbus baud | SS bps: baud |
send data by Modbus RTU | modbus send [station function register data ] |
read data from Modbus RTU device | modbus read dev:station reg:register len:len |
write data to Modbus RTU device | modbus write dev:station reg:register data:data |
Data | Type | Description |
---|---|---|
RSSI | string | WiFi signal from ESP8266 |
wifi | string | connected wifi name, standalone is not connect any wifi |
device | string | name for this ESP8266, can be setting by command |
LT | int | Life time of ESP8266 |
tx | string | data send to ESP8266 by TX |
bps | int | baud of ESP8266 |
{ "RSSI": "SAP mode <211>", "wifi": "standalone" }
{
"device": "CMSGIOTDEVICE001",
"LT": 177,
"tx": " sv1:0.00 sv2:0.00 sv3:0.00 sv4:0.00 sv5:0.00 sv6:0.00 sv7:0.00 sv8:0.00 sv9:0.00 sv10:0.00 sv11:0.00 sv12:0.00 sv13:0.00 sv14:0.00 sv15:0.00 sv16:0.00\r\n",
"bps": 115200
}
-
Connect ESP8266 to computer, open Arduino IDE > Tools > Serial Monitor, you'll see output like this.
-
Connect ESP8266 WiFi, open browser on http://10.10.10.10
-
Send @bps: 115200 to set ESP8266 baud(Default), test communication between ESP8266 and Arduino IDE.
-
Send @AP scan to get WiFi List.
-
Send @AP connect to connect to the WiFi.
-
Send @AP connect reset switch to standalone, @AP connect reconnect to reconnect WiFi.
-
Send @set recv IP:ws.sgiot.com.tw:10000 to set the server address.(ws.sgiot.com.tw is for data transfer test)
Note: In this Demo, ESP8266 send Data per 10 sec
See document in here
- ESP-01S
- NEO-6M
- PCA9685
- MG996R Tower Pro
- JSON
- Local/Cloud data storage.
- Data Visualize.
- Standalone control by time,rules.
- Line Notify.
- Remote Control from local/cloud server.(In Development)
- Other integrated solutions.
The WebSocket of Firmware are followed RFC6455
If you have any questions or requirements, welcom to send us a mail !