Skip to content
Snippets Groups Projects
Select Git revision
1 result Searching

network.cpp

Blame
  • network.cpp 5.96 KiB
    #include <Arduino.h>
    #include <ESPTelnet.h>
    #include "config.h"
    #include "utils.h"
    #include "network.h"
    #include "display.h"
    
    MDNSResponder mdns;
    AsyncWebServer server(80);
    AsyncWebSocket ws("/ws");
    ESPTelnet telnet;
    IPAddress ip;
    
    int otaProgress = 0;
    
    void setupNetwork()
    {
      setupWifi();
      setupMDNS();
      setupOTA();
      setupTelnet();
      setupWebserver();
    }
    
    void setupWifi()
    {
      ESPConnect.autoConnect(HOSTNAME);
      if (ESPConnect.begin(&server))
      {
        ip = WiFi.localIP();
        logLine("Connected to WiFi: ", false);
        logLine(WiFi.localIP().toString());
      }
      else
      {
        logLine("Failed to connect to WiFi");
      }
    }
    
    void setupMDNS()
    {
      if (mdns.begin(HOSTNAME))
      {
        logLine("MDNS responder started");
        mdns.addService("http", "tcp", 80);
      }
      else
      {
        logLine("MDNS.begin failed");
      }
    }
    
    void setupOTA()
    {
      ArduinoOTA.onStart([]()
                         {
                          runGame = false;
                          ws.enable(false);
                          ws.textAll("OTA Update Started");
                          ws.closeAll();
                          logLine("Update Start");
                          clearDisplay(); });
      ArduinoOTA.onEnd([]()
                       {
                        runGame = true; 
                        logLine("Update End");
                        clearDisplay(); });
      ArduinoOTA.onProgress([](unsigned int progress, unsigned int total)
                            {
                              int percent = ceil(progress/(total/100));