Go Down

Topic: NEWBEE Q error: 'WiFi' was not declared in this scope (Read 1 time) previous topic - next topic

chil020

I understand this error means I dont have the wifi library installed, but I feel stupid after a massive search trying to find out where the wifi.h library zip file is (on internet) just so i can download it and add to my list of librarys. Is there something Im missing? thought this would have been pre installed? Sorry if Im lacking a basic something. thanks in adbance

I have: uno imac and wireless shield

dxw00d

Where did get the sketch that tries to use that library?

chil020

Im using a RN VX 171 module with wireless shield, but also have an xbee shield from sparkfun.
I thought ID start with this simple wifi scanning example to get thing going.... Ultimately I want to just read an analogue sensor wirelessly and post the reading to cosm through our wifi network.

You can see the #include <wifi.h> below

/*
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)
modified 22 April 2012
by Tom Igoe
*/
#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 **");
  byte numSsid = WiFi.scanNetworks();
  // 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));
  }
}

James C4S

Capacitor Expert By Day, Enginerd by night.  ||  Personal Blog: www.baldengineer.com  || Electronics Tutorials for Beginners:  www.addohms.com

chil020

James you refer me to the wifly lib.

My question is regarding why i cant see the "wifi.h" lib on my mac? i have the latest version too.

Am I missing something obvious here? When referred to the arduino.cc lib reference there is no link to specifically download this wifi.h/cpp to my mac.

Sorry if this seems simple to most


chil020



ie http://arduino.cc/en/Reference/Libraries

http://arduino.cc/en/Reference/WiFi

states there is a wifi lib but i dont see it in my mac lib list under sketch/ import/ lib

hope that makes sense

James C4S

The SparkFun WiFi library is not a standard library included with the Arduino IDE.

You must download it.  Put the contents in a folder (probably called "WiFi") in the folder ~/Documents/Arduino/libraries.

If you haven't installed any 3rd party libraries yet, you'll need to create the libraries folder first.
Capacitor Expert By Day, Enginerd by night.  ||  Personal Blog: www.baldengineer.com  || Electronics Tutorials for Beginners:  www.addohms.com

chil020

Are you sure this is a sparkfun lib when it's on the arduino site I stated above?

James C4S

I linked to the Sparkfun WiFly library which works with the chip you are using.

The Arduino WiFi Library is downloaded from this page (http://arduino.cc/en/Main/ArduinoWiFiShield) and only works with the Arduino-branded WiFi Shield.
Capacitor Expert By Day, Enginerd by night.  ||  Personal Blog: www.baldengineer.com  || Electronics Tutorials for Beginners:  www.addohms.com

chil020

James  I appreciate your help on this.

Are you saying that the wireless modules have there own libraries and shield has nothing to do with it?

So i can use the arduino wireless proto shield OR the spark xbee shield to work with the wifly lib you suggested.


James C4S

Specific hardware has specific libraries to go with it.

It is generally based on the chip being used.
Capacitor Expert By Day, Enginerd by night.  ||  Personal Blog: www.baldengineer.com  || Electronics Tutorials for Beginners:  www.addohms.com

chil020

Ok that makes sense for sure...

Im still curious about the wifi.h library that I cant access/find. Im guessing now this is made solely for the Arduino wifi shield only?

Im hoping I can now use my Arduino wireless proto shield with the RN XV but now need to find a new cosm sketch with the wifly lib you refered me to.

Really appreciate your help on this. Thanks

chil020

Ok just seen you reply regarding wifi lib being specific to the arduino wifi sheild. Cheers

Go Up