Mercurial > code > home > repos > homeauto
annotate espNode/desk/src/wifi.cpp @ 781:6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
author | drewp@bigasterisk.com |
---|---|
date | Mon, 24 Aug 2020 01:27:33 -0700 |
parents | |
children |
rev | line source |
---|---|
781
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
1 #include "wifi.h" |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
2 |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
3 #include "config.h" |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
4 #include "mqtt.h" |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
5 #include "fingerprint.h" |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
6 |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
7 namespace wifi { |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
8 |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
9 TimerHandle_t wifiReconnectTimer; |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
10 namespace { |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
11 void connectToWifi() { |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
12 Serial.println("Connecting to Wi-Fi..."); |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
13 fingerprint::BlinkNotConnected(); |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
14 WiFi.begin(WIFI_SSID, WIFI_PASSWORD); |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
15 } |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
16 void WiFiEvent(WiFiEvent_t event) { |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
17 Serial.printf("[WiFi-event] event: %d\n", event); |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
18 switch (event) { |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
19 case SYSTEM_EVENT_STA_GOT_IP: |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
20 Serial.println("WiFi connected"); |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
21 Serial.println("IP address: "); |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
22 Serial.println(WiFi.localIP()); |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
23 mqtt::ConnectToMqtt(); |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
24 break; |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
25 case SYSTEM_EVENT_STA_DISCONNECTED: |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
26 Serial.println("WiFi lost connection"); |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
27 mqtt::StopTimer(); |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
28 xTimerStart(wifiReconnectTimer, 0); |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
29 break; |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
30 default: |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
31 // ?? |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
32 break; |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
33 } |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
34 } |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
35 } // namespace |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
36 void Setup() { |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
37 wifiReconnectTimer = |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
38 xTimerCreate("wifiTimer", pdMS_TO_TICKS(2000), pdFALSE, (void*)0, |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
39 reinterpret_cast<TimerCallbackFunction_t>(connectToWifi)); |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
40 |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
41 WiFi.onEvent(WiFiEvent); |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
42 connectToWifi(); |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
43 } |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
44 bool IsConnected() { return WiFi.isConnected(); } |
6c42c1f64f00
new driver for esp32 and R503 fingerprint sensor
drewp@bigasterisk.com
parents:
diff
changeset
|
45 } // namespace wifi |