mathieucarbou / MycilaWebSerial

Super lightweight web serial monitor for ESP32

Home Page:https://oss.carbou.me/WebSerialLite/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MycilaWebSerial

License: MIT Continuous Integration PlatformIO Registry

MycilaWebSerial is a Serial Monitor for ESP32 that can be accessed remotely via a web browser. Webpage is stored in program memory of the microcontroller.

This library is based on the UI from asjdf/WebSerialLite (and this part falls under GPL v3).

Changes

  • Simplified callbacks
  • Fixed UI
  • Fixed Web Socket auto reconnect
  • Fixed Web Socket client cleanup (See WEBSERIAL_MAX_WS_CLIENTS)
  • Command history (up/down arrow keys) saved in local storage
  • Support logo and fallback to title if not found.
  • Arduino 3 / ESP-IDF 5.1 Compatibility
  • Improved performance: can stream up to 20 lines per second is possible

To add a logo, add a handler for /logo to serve your logo in the image format you want, gzipped or not. You can use the ESP32 embedding mechanism.

Preview

Preview

DemoVideo

Features

  • Works on WebSockets
  • Realtime logging
  • Any number of Serial Monitors can be opened on the browser
  • Uses Async Webserver for better performance
  • Light weight (<3k)
  • Timestamp
  • Event driven

Dependencies

Usage

  WebSerial.onMessage([](const String& msg) { Serial.println(msg); });
  WebSerial.begin(server);

  WebSerial.print("foo bar baz");

If you need line buffering to use print(c), printf, write(c), etc:

  WebSerial.onMessage([](const String& msg) { Serial.println(msg); });
  WebSerial.begin(server);

  WebSerial.setBuffer(100); // initial buffer size

  WebSerial.printf("Line 1: %" PRIu32 "\nLine 2: %" PRIu32, count, ESP.getFreeHeap());
  WebSerial.println();
  WebSerial.print("Line ");
  WebSerial.print(3);
  WebSerial.println();

About

Super lightweight web serial monitor for ESP32

https://oss.carbou.me/WebSerialLite/

License:MIT License


Languages

Language:HTML 37.7%Language:C 31.9%Language:C++ 23.1%Language:JavaScript 7.3%