summaryrefslogtreecommitdiff
path: root/platformio/relayctl/src/wifi.h
diff options
context:
space:
mode:
authorEvgeny Zinoviev <me@ch1p.io>2022-11-28 05:45:20 +0300
committerEvgeny Zinoviev <me@ch1p.io>2022-12-18 00:00:27 +0300
commit7bb6daa4bf09947142e38ff468b7f62baae110fd (patch)
treec120e9ec800525116ad922e6c4cff21064a40538 /platformio/relayctl/src/wifi.h
parent16d47968b4938f3b60b97f374d45ad39bb0071b1 (diff)
esp8266 relay controller wip
Diffstat (limited to 'platformio/relayctl/src/wifi.h')
-rw-r--r--platformio/relayctl/src/wifi.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/platformio/relayctl/src/wifi.h b/platformio/relayctl/src/wifi.h
new file mode 100644
index 0000000..65dbd53
--- /dev/null
+++ b/platformio/relayctl/src/wifi.h
@@ -0,0 +1,35 @@
+#pragma once
+
+#include <ESP8266WiFi.h>
+#include <list>
+#include <memory>
+#include "config.h"
+
+namespace homekit::wifi {
+
+using homekit::config::ConfigData;
+
+struct ScanResult {
+ int rssi;
+ String ssid;
+};
+
+void getConfig(ConfigData &cfg, char **ssid_dst, char **psk_dst, char **hostname_dst);
+std::shared_ptr<std::list<ScanResult>> scan();
+
+inline int8_t getRSSI() {
+ return WiFi.RSSI();
+}
+
+inline uint32_t getIPAsInteger() {
+ if (!WiFi.isConnected())
+ return 0;
+ return WiFi.localIP().v4();
+}
+
+extern const char WIFI_AP_SSID[];
+extern const char WIFI_STA_SSID[];
+extern const char WIFI_STA_PSK[];
+extern const char NODE_ID[];
+
+} \ No newline at end of file