WiFi PRO 01: Configure ESSID
This example shows how to configure the WiFi module to join a specific Access Point. So, ESSID and password must be defined.
Required Materials
1 x Waspmote 1 x Battery 1 x WiFi PRO Module
Notes
- The battery has to be connected. - This example can be executed in Waspmote v15
Code
/*
* ------ WIFI Example --------
*
* Explanation: This example shows how to configure the WiFi module
* to join a specific Access Point. So, ESSID and password must be
* defined.
*
* Copyright (C) 2016 Libelium Comunicaciones Distribuidas S.L.
* http://www.libelium.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
* Version: 3.0
* Design: David Gascon
* Implementation: Yuri Carmona
*/
#include <WaspWIFI_PRO.h>
// choose socket (SELECT USER'S SOCKET)
///////////////////////////////////////
uint8_t socket = SOCKET0;
///////////////////////////////////////
// WiFi AP settings (CHANGE TO USER'S AP)
///////////////////////////////////////
char ESSID[] = "libelium_AP";
char PASSW[] = "password";
///////////////////////////////////////
// define variables
uint8_t error;
uint8_t status;
unsigned long previous;
void setup()
{
USB.println(F("Start program"));
//////////////////////////////////////////////////
// 1. Switch ON the WiFi module
//////////////////////////////////////////////////
error = WIFI_PRO.ON(socket);
if (error == 0)
{
USB.println(F("1. WiFi switched ON"));
}
else
{
USB.println(F("1. WiFi did not initialize correctly"));
}
//////////////////////////////////////////////////
// 2. Reset to default values
//////////////////////////////////////////////////
error = WIFI_PRO.resetValues();
if (error == 0)
{
USB.println(F("2. WiFi reset to default"));
}
else
{
USB.println(F("2. WiFi reset to default ERROR"));
}
//////////////////////////////////////////////////
// 3. Set ESSID
//////////////////////////////////////////////////
error = WIFI_PRO.setESSID(ESSID);
if (error == 0)
{
USB.println(F("3. WiFi set ESSID OK"));
}
else
{
USB.println(F("3. WiFi set ESSID ERROR"));
}
//////////////////////////////////////////////////
// 4. Set password key (It takes a while to generate the key)
// Authentication modes:
// OPEN: no security
// WEP64: WEP 64
// WEP128: WEP 128
// WPA: WPA-PSK with TKIP encryption
// WPA2: WPA2-PSK with TKIP or AES encryption
//////////////////////////////////////////////////
error = WIFI_PRO.setPassword(WPA2, PASSW);
if (error == 0)
{
USB.println(F("4. WiFi set AUTHKEY OK"));
}
else
{
USB.println(F("4. WiFi set AUTHKEY ERROR"));
}
//////////////////////////////////////////////////
// 5. Software Reset
// Parameters take effect following either a
// hardware or software reset
//////////////////////////////////////////////////
error = WIFI_PRO.softReset();
if (error == 0)
{
USB.println(F("5. WiFi softReset OK"));
}
else
{
USB.println(F("5. WiFi softReset ERROR"));
}
USB.println(F("*******************************************"));
USB.println(F("Once the module is configured with ESSID"));
USB.println(F("and PASSWORD, the module will attempt to "));
USB.println(F("join the specified Access Point on power up"));
USB.println(F("*******************************************\n"));
// get current time
previous = millis();
}
void loop()
{
//////////////////////////////////////////////////
// Join AP
//////////////////////////////////////////////////
// Check if module is connected
if (WIFI_PRO.isConnected() == true)
{
USB.print(F("WiFi is connected OK"));
USB.print(F(" Time(ms):"));
USB.println(millis()-previous);
USB.println(F("\n*** Program stops ***"));
while(1)
{}
}
else
{
USB.print(F("WiFi is connected ERROR"));
USB.print(F(" Time(ms):"));
USB.println(millis()-previous);
}
}
Output
H#
Start program
1. WiFi switched ON
2. WiFi reset to default
3. WiFi set ESSID OK
4. WiFi set AUTHKEY OK
5. WiFi softReset OK
*******************************************
Once the module is configured with ESSID
and PASSWORD, the module will attempt to
join the specified Access Point on power up
*******************************************
WiFi is connected OK Time(ms):12755
*** Program stops ***
Last updated