Created
February 6, 2020 22:00
-
-
Save hellvesper/d929f215bd0d12bb501598924e7c109f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <Arduino.h> | |
#include <ESP8266WiFi.h> | |
void printMacAddress(); | |
void listNetworks(); | |
void printEncryptionType(int thisType); | |
void setup() { | |
//Initialize serial and wait for port to open: | |
Serial.begin(115200); | |
while (!Serial) { | |
; // wait for serial port to connect. Needed for Leonardo only | |
} | |
// check for the presence of the shield: | |
if (WiFi.status() == WL_NO_SHIELD) { | |
Serial.println("WiFi shield not present"); | |
// don't continue: | |
while(true); | |
} | |
// String fv = WiFi.firmwareVersion(); | |
// if( fv != "1.1.0" ) | |
// Serial.println("Please upgrade the firmware"); | |
// Print WiFi MAC address: | |
printMacAddress(); | |
// scan for existing networks: | |
Serial.println("Scanning available networks..."); | |
listNetworks(); | |
} | |
void loop() { | |
delay(10000); | |
// scan for existing networks: | |
Serial.println("Scanning available networks..."); | |
listNetworks(); | |
} | |
void printMacAddress() { | |
// the MAC address of your Wifi shield | |
byte mac[6]; | |
// print your MAC address: | |
WiFi.macAddress(mac); | |
Serial.print("MAC: "); | |
Serial.print(mac[5],HEX); | |
Serial.print(":"); | |
Serial.print(mac[4],HEX); | |
Serial.print(":"); | |
Serial.print(mac[3],HEX); | |
Serial.print(":"); | |
Serial.print(mac[2],HEX); | |
Serial.print(":"); | |
Serial.print(mac[1],HEX); | |
Serial.print(":"); | |
Serial.println(mac[0],HEX); | |
} | |
void listNetworks() { | |
// scan for nearby networks: | |
Serial.println("** Scan Networks **"); | |
int numSsid = WiFi.scanNetworks(); | |
if (numSsid == -1) | |
{ | |
Serial.println("Couldn't get a wifi connection"); | |
while(true); | |
} | |
// print the list of networks seen: | |
Serial.print("number of available networks:"); | |
Serial.println(numSsid); | |
// print the network number and name for each network found: | |
for (int thisNet = 0; thisNet<numSsid; thisNet++) { | |
Serial.print(thisNet); | |
Serial.print(") "); | |
Serial.print(WiFi.SSID(thisNet)); | |
Serial.print("\tSignal: "); | |
Serial.print(WiFi.RSSI(thisNet)); | |
Serial.print(" dBm"); | |
Serial.print("\tEncryption: "); | |
printEncryptionType(WiFi.encryptionType(thisNet)); | |
} | |
} | |
void printEncryptionType(int thisType) { | |
// read the encryption type and print out the name: | |
switch (thisType) { | |
case ENC_TYPE_WEP: | |
Serial.println("WEP"); | |
break; | |
case ENC_TYPE_TKIP: | |
Serial.println("WPA"); | |
break; | |
case ENC_TYPE_CCMP: | |
Serial.println("WPA2"); | |
break; | |
case ENC_TYPE_NONE: | |
Serial.println("None"); | |
break; | |
case ENC_TYPE_AUTO: | |
Serial.println("Auto"); | |
break; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment