2012-03-02 19:30:57 +01:00
|
|
|
/*
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
Circuit:
|
|
|
|
* WiFi shield attached
|
|
|
|
|
|
|
|
created 13 July 2010
|
|
|
|
by dlf (Metodo2 srl)
|
2012-03-12 19:35:02 +01:00
|
|
|
modified 12 Mar 2012
|
2012-03-02 19:30:57 +01:00
|
|
|
by Tom Igoe
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
#include <SPI.h>
|
|
|
|
#include <WiFi.h>
|
|
|
|
|
|
|
|
void setup() {
|
|
|
|
// initialize serial:
|
|
|
|
Serial.begin(9600);
|
|
|
|
|
|
|
|
// attempt to connect using WEP encryption:
|
|
|
|
Serial.println("Initializing Wifi...");
|
|
|
|
printMacAddress();
|
|
|
|
|
|
|
|
// scan for existing networks:
|
|
|
|
Serial.println("Scanning available networks...");
|
2012-03-04 23:12:14 +01:00
|
|
|
listNetworks();
|
2012-03-02 19:30:57 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
void loop() {
|
|
|
|
delay(10000);
|
|
|
|
// scan for existing networks:
|
|
|
|
Serial.println("Scanning available networks...");
|
2012-03-04 23:12:14 +01:00
|
|
|
listNetworks();
|
2012-03-02 19:30:57 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
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);
|
|
|
|
}
|
|
|
|
|
2012-03-04 23:12:14 +01:00
|
|
|
void listNetworks() {
|
2012-03-02 19:30:57 +01:00
|
|
|
// scan for nearby networks:
|
|
|
|
Serial.println("** Scan Networks **");
|
|
|
|
byte numSsid = WiFi.scanNetworks();
|
|
|
|
|
|
|
|
// print the list of networks seen:
|
2012-03-04 23:12:14 +01:00
|
|
|
Serial.print("number of available networks:");
|
2012-03-02 19:30:57 +01:00
|
|
|
Serial.println(numSsid);
|
2012-03-04 23:12:14 +01:00
|
|
|
|
2012-03-02 19:30:57 +01:00
|
|
|
// print the network number and name for each network found:
|
|
|
|
for (int thisNet = 0; thisNet<numSsid; thisNet++) {
|
|
|
|
Serial.print(thisNet);
|
2012-03-10 03:42:57 +01:00
|
|
|
Serial.print(") ");
|
2012-03-12 19:35:02 +01:00
|
|
|
Serial.print(WiFi.SSID(thisNet));
|
|
|
|
Serial.print("\tSignal: ");
|
2012-03-04 22:59:16 +01:00
|
|
|
Serial.print(WiFi.RSSI(thisNet));
|
2012-03-12 19:35:02 +01:00
|
|
|
Serial.print(" dBm");
|
|
|
|
Serial.print("\tEncryption: ");
|
2012-03-04 22:59:16 +01:00
|
|
|
Serial.println(WiFi.encryptionType(thisNet));
|
2012-03-02 19:30:57 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|