You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-DEBUG levels: 1 for serial only, 2 for serial and display.
-User config device baudrate, poweron initialization string, data extraction and display:
-- New /device.html page to configure all connected device options
-- Send config.pwronstr to device pwrondelay seconds after startup
-- Extract up to 3 data items returned from device for local display via scanf code:
http://www.cplusplus.com/reference/cstdio/scanf/
-- Extracted values multiplied by slope plus offset and shown with name on the display
-global.h config load/save simplified with EEPROM.get / EEPROM.put.
-CONFIG_VER version number added. This update will clear prior config data to default!
-txbuf to hold data waiting to be sent to the device so we can send this in a debug message
-Support "hidden" /update page to upload web/js/css/etc files into SPIFFS for web server.
This allows customization and rebranding for your solution without the need for Arduino code development.
Put your own html/javascript in the device for user interface.
-Default web page is index.htm from SPIFFS. /root is handle_root from Page_Root.h
i.e. http://ip/ will display nothing until index.htm is uploaded via http://ip/update.
If you want to use the built in homepage, go to http://ip/root
TODO: serve root automatically if no index.htm in SPIFFS
-Built in /root page converted from jquery to raw javascript for increased reliability and smaller size.
This is critical when working in poor RF environments while directly connected to the device.
-Use template processor in ESPAsyncWebServer for config pages. There are problems with this, see:
-- me-no-dev/ESPAsyncWebServer#333 Must change TEMPLATE_PLACEHOLDER to '`'
in \libraries\ESPAsyncWebServer\src\WebResponseImpl.h and trigger library re-compile
-- me-no-dev/ESPAsyncWebServer#374 Must use "AI-THINKER" ESP-12E units
-- Network setup /config.html NOT updated to templates for this reason.
-Moving to a single general tag processor function "send_tag_values"
-Moving to standard linking to .css and .js resources from config pages instead of the javascript window.onload functions.
-Add debugq macro to append to debugbuf for later output. This avoids delays when debugging web responses
-Increase max string length of ReadStringFromEEPROM from 60 to 65
-urldecode, avoids Strings, returns char*, expects length.
-urlencode, expects char* vs String (still returns String). Simplified via nibble2hex.
-HTMLencode added inorder to support all strings for scanf codes.
-Optional support for NeoPixel LEDs. NOT enabled by default.
-Start on a command processor language from server response or user input
BUGFIX:
IO pin 10 is NOT usable as SERIAL_ENABLE_PIN, back to IO5 D1
parseServer p1,p2 had not been initialized. Data returned from server for device could be lost.
Copy file name to clipboardExpand all lines: README.md
+24-2
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,35 @@
1
1
# esp8266WebSerial
2
2
Put anything with a TTL serial connection on the local network with browser access or log to a server... for under 10 bucks
3
3
4
-
- ESPAsyncWebServer for reliable operation
5
-
- Support for ST7735 and ILI9341 and other LCD displays via TFT_eSPI
4
+
- ESPAsyncWebServer for reliable operation, local config in browser, direct web based serial "terminal", etc...
5
+
- File system support to upload custom default web page, libraries, css, etc... via "hidden" page to avoid end user confusion.
6
+
This allows customization and rebranding for your solution without the need for Arduino code development. Put your own html/javascript in the device for user interface.
6
7
- Log incoming data / status to server, stream commands from server out to the connected device
7
8
- Low power cycle config: sleep for x seconds, wake send data / status to server as available or every x wake cycles.
8
9
- "Blink Detect" input to watch error lights, etc... on remote devices (with optional photodiode and flipflop for detection during sleep)
9
10
- Wake without radio for very low power input monitoring
10
11
- "Pico Jason" interpreter for commands from server to ESP to configure power cycles, logging.
12
+
- Support for ST7735 and ILI9341 and other LCD displays via [TFT_eSPI](https://github.com/Bodmer/TFT_eSPI#tft_espi)_in overlap mode only_ for MAC, SSID / IP address display and
13
+
device data extraction / display via scanf codes, slope, and offset.
14
+
- Device uses alternate TX/RX pins so power up bootloader messages are NOT sent to device and debug messages are available on Serial Monitor.
15
+
- Basic X-ON/X-OFF support to avoid buffer overruns on connected device (TODO: CTS monitoring)
16
+
- Configurable device port enable / disable to avoid powering level converters or triggering device connect power up.
17
+
- Configurable device baud rate, power on initialization message, and data extraction triggers.
18
+
- Optional support for "NeoPixel" LEDs (commented out by default).
19
+
20
+
Notes:
21
+
22
+
23
+
Due to a [bug / limitation in ESPAsyncWebServer's template system](https://github.com/me-no-dev/ESPAsyncWebServer/issues/333#issuecomment-370595466), and the fact that % is often used in the device configuration, you have to edit the /src/WebResponseImpl.h file in that library to change:
24
+
````
25
+
#define TEMPLATE_PLACEHOLDER '%'
26
+
````
27
+
to
28
+
````
29
+
#define TEMPLATE_PLACEHOLDER '`'
30
+
````
31
+
32
+
P.S. Don't even try to get this to work with an ESP-8266 module that wasn't made by AI-THINKER. [The knock offs will NOT work](https://github.com/me-no-dev/ESPAsyncWebServer/issues/374).
11
33
12
34
See:
13
35
http://techref.massmind.org/techref/ESP8266/WebSerial.htm for documentation, screenshots, and examples
0 commit comments