/*---------------------------------------------------------------------------- * Author: Nelso G. Jost (nelsojost@gmail.com) * License: GPLv2 * Purpose: Provide wifi-related utilities. *---------------------------------------------------------------------------*/ #include #include "ESP8266WiFi.h" /* * CREDITS: https://github.com/platformio/platform-espressif8266 * https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266WiFi/examples/WiFiScan/WiFiScan.ino */ void wifiscan(void) { Serial.println(); Serial.print("Scanning wifi networks..."); Serial.flush(); int n = WiFi.scanNetworks(); Serial.println(" done!\n"); Serial.flush(); if (n == 0) { Serial.println("no networks found"); } else { Serial.print(n); Serial.println(" networks found:"); Serial.println("-------------------------"); for (int i = 0; i < n; ++i) { Serial.print(i + 1); Serial.print(": "); Serial.print(WiFi.SSID(i)); Serial.print(" ("); Serial.print(WiFi.RSSI(i)); Serial.print(")"); Serial.println((WiFi.encryptionType(i) == ENC_TYPE_NONE)?" ":"*"); delay(10); } } } void wifistatus(void) { WiFi.printDiag(Serial); } void wificonnect(String ssid, String password, int threshold) { int t=0; WiFi.begin(ssid.c_str(), password.c_str()); Serial.print("\nConnecting"); while (WiFi.status() != WL_CONNECTED and t <= threshold) { delay(500); Serial.print("."); t += 500; } if (WiFi.status() == WL_CONNECTED) { Serial.print("\nConnected, IP address: "); Serial.println(WiFi.localIP()); } else { Serial.print("\nUnable to connect!"); } }