Files
nuki_hub/lib/MycilaWebSerial/examples/Logging/Logging.ino
iranl 43ac62a22d Add Webserial (#444)
* Webserial

* Webserial
2024-08-09 16:35:42 +07:00

56 lines
1.4 KiB
C++

/*
* This example shows how to use WebSerial variant to send logging data to the browser.
*
* Before using this example, make sure to look at the WebSerial example before and its description.\
*
* You might want to control these flags to control the async library performance:
* -D CONFIG_ASYNC_TCP_QUEUE_SIZE=128
* -D CONFIG_ASYNC_TCP_RUNNING_CORE=1
* -D WS_MAX_QUEUED_MESSAGES=128
*/
#include <Arduino.h>
#if defined(ESP8266)
#include <ESP8266WiFi.h>
#include <ESPAsyncTCP.h>
#elif defined(ESP32)
#include <AsyncTCP.h>
#include <WiFi.h>
#endif
#include <DNSServer.h>
#include <ESPAsyncWebServer.h>
#include <WString.h>
#include <MycilaWebSerial.h>
AsyncWebServer server(80);
static uint32_t last = millis();
static uint32_t count = 0;
void setup() {
Serial.begin(115200);
WiFi.softAP("WSLDemo");
Serial.print("IP Address: ");
Serial.println(WiFi.softAPIP().toString());
WebSerial.onMessage([](const String& msg) { Serial.println(msg); });
WebSerial.begin(&server);
WebSerial.setBuffer(100);
server.onNotFound([](AsyncWebServerRequest* request) { request->redirect("/webserial"); });
server.begin();
}
void loop() {
if (millis() - last > 1000) {
count++;
WebSerial.print(F("IP address: "));
WebSerial.println(WiFi.softAPIP());
WebSerial.printf("Uptime: %lums\n", millis());
WebSerial.printf("Free heap: %" PRIu32 "\n", ESP.getFreeHeap());
last = millis();
}
}