Fork of the excellent esp8266-react - https://github.com/rjwats/esp8266-react
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1.1 KiB

6 years ago
  1. #ifndef WiFiStatus_h
  2. #define WiFiStatus_h
  3. #if defined(ESP8266)
  4. #include <ESP8266WiFi.h>
  5. #include <ESPAsyncTCP.h>
  6. #elif defined(ESP_PLATFORM)
  7. #include <WiFi.h>
  8. #include <AsyncTCP.h>
  9. #endif
  10. #include <ESPAsyncWebServer.h>
  11. #include <ArduinoJson.h>
  12. #include <AsyncJson.h>
  13. #include <IPAddress.h>
  14. #define WIFI_STATUS_SERVICE_PATH "/rest/wifiStatus"
  15. class WiFiStatus {
  16. public:
  17. WiFiStatus(AsyncWebServer *server);
  18. private:
  19. AsyncWebServer* _server;
  20. // handler refrences for logging important WiFi events over serial
  21. WiFiEventHandler _onStationModeConnectedHandler;
  22. WiFiEventHandler _onStationModeDisconnectedHandler;
  23. WiFiEventHandler _onStationModeGotIPHandler;
  24. // static functions for logging WiFi events to the UART
  25. static void onStationModeConnected(const WiFiEventStationModeConnected& event);
  26. static void onStationModeDisconnected(const WiFiEventStationModeDisconnected& event);
  27. static void onStationModeGotIP(const WiFiEventStationModeGotIP& event);
  28. void wifiStatus(AsyncWebServerRequest *request);
  29. };
  30. #endif // end WiFiStatus_h