summaryrefslogtreecommitdiff
path: root/platformio/relayctl/src/wifi.h
diff options
context:
space:
mode:
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