123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- /*
- WiFiEsp example: ScanNetworks
- This example prints the Wifi shield's MAC address, and
- scans for available Wifi networks using the Wifi shield.
- Every ten seconds, it scans again. It doesn't actually
- connect to any network, so no encryption scheme is specified.
- For more details see: http://yaab-arduino.blogspot.com/p/wifiesp.html
- */
- #include "WiFiEsp.h"
- // Emulate Serial1 on pins 6/7 if not present
- #ifndef HAVE_HWSERIAL1
- #include "SoftwareSerial.h"
- SoftwareSerial Serial1(6, 7); // RX, TX
- #endif
- void setup() {
- // initialize serial for debugging
- Serial.begin(115200);
- // initialize serial for ESP module
- Serial1.begin(9600);
- // initialize ESP module
- WiFi.init(&Serial1);
- // check for the presence of the shield
- if (WiFi.status() == WL_NO_SHIELD) {
- Serial.println("WiFi shield not present");
- // don't continue
- while (true);
- }
- // Print WiFi MAC address
- printMacAddress();
- }
- void loop()
- {
- // scan for existing networks
- Serial.println();
- Serial.println("Scanning available networks...");
- listNetworks();
- delay(10000);
- }
- void printMacAddress()
- {
- // get your MAC address
- byte mac[6];
- WiFi.macAddress(mac);
-
- // print MAC address
- char buf[20];
- sprintf(buf, "%02X:%02X:%02X:%02X:%02X:%02X", mac[5], mac[4], mac[3], mac[2], mac[1], mac[0]);
- Serial.print("MAC address: ");
- Serial.println(buf);
- }
- void listNetworks()
- {
- // scan for nearby 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.print("WEP");
- break;
- case ENC_TYPE_WPA_PSK:
- Serial.print("WPA_PSK");
- break;
- case ENC_TYPE_WPA2_PSK:
- Serial.print("WPA2_PSK");
- break;
- case ENC_TYPE_WPA_WPA2_PSK:
- Serial.print("WPA_WPA2_PSK");
- break;
- case ENC_TYPE_NONE:
- Serial.print("None");
- break;
- }
- Serial.println();
- }
|