Mercurial > code > home > repos > homeauto
view espNode/desk/src/wifi.cpp @ 1678:7831b5de3572
espNode checkpoint
author | drewp@bigasterisk.com |
---|---|
date | Mon, 27 Sep 2021 22:59:39 -0700 |
parents | 6c42c1f64f00 |
children |
line wrap: on
line source
#include "wifi.h" #include "config.h" #include "mqtt.h" #include "fingerprint.h" namespace wifi { TimerHandle_t wifiReconnectTimer; namespace { void connectToWifi() { Serial.println("Connecting to Wi-Fi..."); fingerprint::BlinkNotConnected(); WiFi.begin(WIFI_SSID, WIFI_PASSWORD); } void WiFiEvent(WiFiEvent_t event) { Serial.printf("[WiFi-event] event: %d\n", event); switch (event) { case SYSTEM_EVENT_STA_GOT_IP: Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); mqtt::ConnectToMqtt(); break; case SYSTEM_EVENT_STA_DISCONNECTED: Serial.println("WiFi lost connection"); mqtt::StopTimer(); xTimerStart(wifiReconnectTimer, 0); break; default: // ?? break; } } } // namespace void Setup() { wifiReconnectTimer = xTimerCreate("wifiTimer", pdMS_TO_TICKS(2000), pdFALSE, (void*)0, reinterpret_cast<TimerCallbackFunction_t>(connectToWifi)); WiFi.onEvent(WiFiEvent); connectToWifi(); } bool IsConnected() { return WiFi.isConnected(); } } // namespace wifi