RN-XV Signal Strengh Detector

Hi guys,

I want the Arduino show surrounding signal strength without being connected to any network, I use the rn-xv wifi module and the xbee-shield, it should show the signal strengh and scan again every 10 seconds.
Has someone done something similar already?

I have very few experiance and tried this code that just scans networks but as there are many around and it always says 0 I’m sure there is something wrong…I’m not sure if it really communicates with me.

I’d be happy if you have any advice for me…:slight_smile:

#include <SPI.h>
#include <WiFi.h>
void setup() {
// initialize serial and wait for the port to open:
Serial.begin(9600);
// attempt to connect using WEP encryption:
Serial.println(“Initializing Wifi…”);
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 > 0)

{
// turn on motor

}

else

{
//motor to closed position
}
// 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: ");
Serial.println(WiFi.encryptionType(thisNet));
}
}