Skip to content

Commit

Permalink
add status page
Browse files Browse the repository at this point in the history
  • Loading branch information
zivillian committed Jun 15, 2022
1 parent b478940 commit cd7510d
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 5 deletions.
4 changes: 3 additions & 1 deletion include/pages.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@
#define PAGES_H

#include <ESPAsyncWebServer.h>
#include <ModbusBridgeWiFi.h>
#include <ModbusClientRTU.h>
#include "config.h"

void setupPages(AsyncWebServer* server);
void setupPages(AsyncWebServer* server, ModbusClientRTU *rtu, ModbusBridgeWiFi *bridge);
void sendResponseHeader(AsyncResponseStream *response, const String &title);
void sendResponseTrailer(AsyncResponseStream *response);

Expand Down
6 changes: 3 additions & 3 deletions src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,6 @@ void setup() {
WiFi.mode(WIFI_STA);
wm.autoConnect();
dbgln("[wifi] finished");
setupPages(&webServer);
AsyncElegantOTA.begin(&webServer);
webServer.begin();
dbgln("[modbus] start");
modbusSerial.begin(config.baud, config.serialConfig);
MBclient.setTimeout(1000);
Expand All @@ -50,6 +47,9 @@ void setup() {
}
MBbridge.start(502, 10, 10000);
dbgln("[modbus] finished");
setupPages(&webServer, &MBclient, &MBbridge);
AsyncElegantOTA.begin(&webServer);
webServer.begin();
dbgln("[setup] finished");
}

Expand Down
13 changes: 12 additions & 1 deletion src/pages.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#include "pages.h"

void setupPages(AsyncWebServer *server){
void setupPages(AsyncWebServer *server, ModbusClientRTU *rtu, ModbusBridgeWiFi *bridge){
server->on("/", HTTP_GET, [](AsyncWebServerRequest *request){
dbgln("[webserver] request to /");
AsyncResponseStream *response = request->beginResponseStream("text/html");
Expand All @@ -9,6 +9,17 @@ void setupPages(AsyncWebServer *server){
sendResponseTrailer(response);
request->send(response);
});
server->on("/status", HTTP_GET, [rtu, bridge](AsyncWebServerRequest *request){
dbgln("[webserver] request to /status");
AsyncResponseStream *response = request->beginResponseStream("text/html");
sendResponseHeader(response, "Status");
response->printf("RTU Messages: %d<br/>", rtu->getMessageCount());
response->printf("RTU Pending Messages: %d<br/>", rtu->pendingRequests());
response->printf("Bridge Message: %d</br>", bridge->getMessageCount());
response->printf("Bridge Clients: %d</br>", bridge->activeClients());
sendResponseTrailer(response);
request->send(response);
});
server->on("/favicon.ico", [](AsyncWebServerRequest *request){
request->send(204);//TODO add favicon
});
Expand Down

0 comments on commit cd7510d

Please sign in to comment.