mirror of
https://github.com/esp8266/Arduino.git
synced 2025-08-07 00:04:36 +03:00
Changes on WiFi API after review. Add driver utility implementation
This commit is contained in:
157
WiFi/examples/wifi_Server_example/wifi_Server_example.pde
Normal file
157
WiFi/examples/wifi_Server_example/wifi_Server_example.pde
Normal file
@@ -0,0 +1,157 @@
|
||||
/*
|
||||
WiFi Server example
|
||||
|
||||
A simple connection with WiFi AP with Wireless Security
|
||||
information try to access with WPA or WEP security keys
|
||||
A simple server is setup to exchange data.
|
||||
|
||||
created 13 July 2010
|
||||
by Domenico La Fauci
|
||||
*/
|
||||
#include <WiFi.h>
|
||||
#include <IPAddress.h>
|
||||
|
||||
byte mac[6] = { 0 };
|
||||
IPAddress ip;
|
||||
IPAddress gateway;
|
||||
IPAddress subnet;
|
||||
byte dataBuf[80] = { 0 };
|
||||
char ssid[32] = { 0 };
|
||||
int status = WL_IDLE_STATUS;
|
||||
|
||||
Server server(23);
|
||||
|
||||
void printIpData()
|
||||
{
|
||||
ip = WiFi.localIp();
|
||||
|
||||
Serial.print("IP: ");
|
||||
Serial.print(ip[3],10);Serial.print(".");
|
||||
Serial.print(ip[2],10);Serial.print(".");
|
||||
Serial.print(ip[1],10);Serial.print(".");
|
||||
Serial.println(ip[0],10);
|
||||
|
||||
subnet = WiFi.subnetMask();
|
||||
Serial.print("NETMASK: ");
|
||||
Serial.print(subnet[3],10);Serial.print(".");
|
||||
Serial.print(subnet[2],10);Serial.print(".");
|
||||
Serial.print(subnet[1],10);Serial.print(".");
|
||||
Serial.println(subnet[0],10);
|
||||
|
||||
gateway = WiFi.gatewayIP();
|
||||
Serial.print("GATEWAY: ");
|
||||
Serial.print(gateway[3],10);Serial.print(".");
|
||||
Serial.print(gateway[2],10);Serial.print(".");
|
||||
Serial.print(gateway[1],10);Serial.print(".");
|
||||
Serial.println(gateway[0],10);
|
||||
|
||||
WiFi.macAddress(mac);
|
||||
Serial.print("MAC: ");
|
||||
Serial.print(mac[5],16);Serial.print(":");
|
||||
Serial.print(mac[4],16);Serial.print(":");
|
||||
Serial.print(mac[3],16);Serial.print(":");
|
||||
Serial.print(mac[2],16);Serial.print(":");
|
||||
Serial.print(mac[1],16);Serial.print(":");
|
||||
Serial.println(mac[0],16);
|
||||
}
|
||||
|
||||
void printCurrNet()
|
||||
{
|
||||
//WiFi.getCurrSSID(&ssid[0]);
|
||||
//Serial.print("SSID:");
|
||||
//Serial.println(ssid);
|
||||
byte bssid[6];
|
||||
WiFi.BSSID(bssid);
|
||||
//delay(200);
|
||||
Serial.print("BSSID:");
|
||||
Serial.print(bssid[5],16);Serial.print(":");
|
||||
Serial.print(bssid[4],16);Serial.print(":");
|
||||
Serial.print(bssid[3],16);Serial.print(":");
|
||||
Serial.print(bssid[2],16);Serial.print(":");
|
||||
Serial.print(bssid[1],16);Serial.print(":");
|
||||
Serial.println(bssid[0],16);
|
||||
|
||||
int32_t rssi = WiFi.RSSI();
|
||||
Serial.print("RSSI:");
|
||||
Serial.println(rssi,10);
|
||||
|
||||
uint8_t enct = WiFi.encryptionType();
|
||||
Serial.print("Encryption Type:");
|
||||
Serial.println(enct,16);
|
||||
|
||||
char ssid[20][32] = { {0} };
|
||||
byte numSsid = WiFi.scanNetworks();
|
||||
Serial.print("SSID List:");
|
||||
Serial.println(numSsid, 10);
|
||||
for (int i = 0; i<numSsid; ++i)
|
||||
{
|
||||
Serial.println(WiFi.SSID(i));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(9600);
|
||||
Serial.println("Setup WiFi...");
|
||||
char ssid[] = "Cariddi";
|
||||
Serial.println(ssid);
|
||||
int status = WiFi.begin(ssid);
|
||||
if ( status != WL_CONNECTED)
|
||||
{
|
||||
// Using WPA
|
||||
Serial.println("Trying with Passphrase...");
|
||||
const char *pass = "12345678";
|
||||
status = WiFi.begin(ssid, pass);
|
||||
if ( status != WL_CONNECTED)
|
||||
{
|
||||
// using WEP
|
||||
Serial.println("Trying with Key...");
|
||||
uint8_t key_idx = 0;
|
||||
const char *key = "12345678";
|
||||
status = WiFi.begin(ssid,key_idx, key);
|
||||
if ( status != WL_CONNECTED)
|
||||
{
|
||||
Serial.println("Wifi Connection failed!");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
Serial.println("Wifi Connected!");
|
||||
|
||||
printIpData();
|
||||
|
||||
printCurrNet();
|
||||
|
||||
Serial.println("Starting server...");
|
||||
server.begin();
|
||||
delay(1000);
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
static uint8_t count = 0;
|
||||
if (status == WL_CONNECTED)
|
||||
{
|
||||
byte status = 0;
|
||||
Client client = server.available(&status);
|
||||
if (client) {
|
||||
//Serial.print("Status: ");
|
||||
//Serial.println(status, 16);
|
||||
byte idx = 0;
|
||||
while (client.available())
|
||||
{
|
||||
dataBuf[idx++] = client.read();
|
||||
}
|
||||
|
||||
if (idx>0)
|
||||
{
|
||||
dataBuf[idx]=0;
|
||||
//Serial.println((char*)&dataBuf[0]);
|
||||
server.write((char*)&dataBuf[0]);
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,26 +1,81 @@
|
||||
/*
|
||||
WiFi example
|
||||
|
||||
A simple connection with WiFi AP with Wireless Security
|
||||
information loaded in EEPROM
|
||||
|
||||
|
||||
A simple connection with WiFi AP with Wireless Security
|
||||
information try to access with WPA or WEP security keys
|
||||
|
||||
created 13 July 2010
|
||||
by Domenico La Fauci
|
||||
*/
|
||||
|
||||
#include <WiFi.h>
|
||||
#include <EEPROM.h>
|
||||
#include <IPAddress.h>
|
||||
|
||||
byte mac[6] = { 0 };
|
||||
IPAddress ip;
|
||||
IPAddress gateway;
|
||||
IPAddress subnet;
|
||||
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(9600);
|
||||
WiFi.begin();
|
||||
if (WiFi.get_status() == WL_NO_SSID_AVAIL)
|
||||
{
|
||||
Serial.begin(9600);
|
||||
Serial.println("Setup WiFi...");
|
||||
char ssid[] = "Cariddi";
|
||||
Serial.println(ssid);
|
||||
int status = WiFi.begin(ssid);
|
||||
if ( status != WL_CONNECTED)
|
||||
{
|
||||
// SSID not present in EEPROM
|
||||
char ssid[] = "Cariddi";
|
||||
WiFi.begin(ssid, strlen(ssid));
|
||||
// Using WPA
|
||||
Serial.println("Trying with Passphrase...");
|
||||
const char *pass = "12345678";
|
||||
status = WiFi.begin(ssid, pass);
|
||||
if ( status != WL_CONNECTED)
|
||||
{
|
||||
// using WEP
|
||||
Serial.println("Trying with Key...");
|
||||
uint8_t key_idx = 0;
|
||||
const char *key = "12345678";
|
||||
status = WiFi.begin(ssid,key_idx, key);
|
||||
if ( status != WL_CONNECTED)
|
||||
{
|
||||
Serial.println("Wifi Connection failed!");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
Serial.println("Wifi Connected!");
|
||||
|
||||
ip = WiFi.localIp();
|
||||
|
||||
Serial.print("IP: ");
|
||||
Serial.print(ip[3],10);Serial.print(".");
|
||||
Serial.print(ip[2],10);Serial.print(".");
|
||||
Serial.print(ip[1],10);Serial.print(".");
|
||||
Serial.println(ip[0],10);
|
||||
|
||||
subnet = WiFi.subnetMask();
|
||||
Serial.print("NETMASK: ");
|
||||
Serial.print(subnet[3],10);Serial.print(".");
|
||||
Serial.print(subnet[2],10);Serial.print(".");
|
||||
Serial.print(subnet[1],10);Serial.print(".");
|
||||
Serial.println(subnet[0],10);
|
||||
|
||||
gateway = WiFi.gatewayIP();
|
||||
Serial.print("GATEWAY: ");
|
||||
Serial.print(gateway[3],10);Serial.print(".");
|
||||
Serial.print(gateway[2],10);Serial.print(".");
|
||||
Serial.print(gateway[1],10);Serial.print(".");
|
||||
Serial.println(gateway[0],10);
|
||||
|
||||
WiFi.macAddress(mac);
|
||||
Serial.print("MAC: ");
|
||||
Serial.print(mac[5],16);Serial.print(":");
|
||||
Serial.print(mac[4],16);Serial.print(":");
|
||||
Serial.print(mac[3],16);Serial.print(":");
|
||||
Serial.print(mac[2],16);Serial.print(":");
|
||||
Serial.print(mac[1],16);Serial.print(":");
|
||||
Serial.println(mac[0],16);
|
||||
}
|
||||
|
||||
void loop()
|
||||
|
@@ -1,107 +0,0 @@
|
||||
/*
|
||||
WiFi example
|
||||
|
||||
A simple connection with WiFi AP with Wireless Security
|
||||
information loaded in EEPROM, if not available
|
||||
try to access with WPA or WEP security keys
|
||||
|
||||
created 13 July 2010
|
||||
by Domenico La Fauci
|
||||
*/
|
||||
|
||||
#include <EEPROM.h>
|
||||
#include <WiFi.h>
|
||||
#include <utility/wl_types.h>
|
||||
|
||||
// network configuration. gateway and subnet are optional.
|
||||
byte mac[6] = { 0 };
|
||||
byte ip[4] = { 0 };
|
||||
byte gateway[4] = { 0 };
|
||||
byte subnet[4] = { 0 };
|
||||
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(9600);
|
||||
Serial.println("Setup WiFi...");
|
||||
WiFi.begin();
|
||||
if (WiFi.get_status() == WL_NO_SSID_AVAIL)
|
||||
{
|
||||
//uint8_t result = WiFi.get_result();
|
||||
//Serial.println(result,16);
|
||||
|
||||
// SSID not present in EEPROM
|
||||
char ssid[] = "Cariddi";
|
||||
Serial.println(ssid);
|
||||
delay(2000);
|
||||
|
||||
// Using WPA
|
||||
WiFi.begin(ssid, strlen(ssid));
|
||||
delay(10000);
|
||||
if (WiFi.get_result() == WL_CONNECT_FAILED)
|
||||
{
|
||||
Serial.println("Trying with Passphrase...");
|
||||
uint8_t key_idx = 0;
|
||||
const char *pass = "12345678";
|
||||
uint8_t pass_len = strlen(pass);
|
||||
WiFi.beginp(ssid, strlen(ssid), pass, pass_len);
|
||||
}
|
||||
// wait to trying connection...
|
||||
delay(5000);
|
||||
|
||||
// using WEP
|
||||
if (WiFi.get_result() == WL_CONNECT_FAILED)
|
||||
{
|
||||
Serial.println("Trying with Key...");
|
||||
uint8_t key_idx = 0;
|
||||
const char *key = "12345678";
|
||||
uint8_t key_len = strlen(key);
|
||||
WiFi.begink(ssid, strlen(ssid),key_idx, key, key_len);
|
||||
}
|
||||
// wait to trying connection...
|
||||
delay(5000);
|
||||
|
||||
{
|
||||
WiFi.getIpAddr(ip,subnet,gateway);
|
||||
Serial.print("IP: ");
|
||||
Serial.print(ip[3],10);Serial.print(".");
|
||||
Serial.print(ip[2],10);Serial.print(".");
|
||||
Serial.print(ip[1],10);Serial.print(".");
|
||||
Serial.println(ip[0],10);
|
||||
|
||||
Serial.print("NETMASK: ");
|
||||
Serial.print(subnet[3],10);Serial.print(".");
|
||||
Serial.print(subnet[2],10);Serial.print(".");
|
||||
Serial.print(subnet[1],10);Serial.print(".");
|
||||
Serial.println(subnet[0],10);
|
||||
|
||||
Serial.print("GATEWAY: ");
|
||||
Serial.print(gateway[3],10);Serial.print(".");
|
||||
Serial.print(gateway[2],10);Serial.print(".");
|
||||
Serial.print(gateway[1],10);Serial.print(".");
|
||||
Serial.println(gateway[0],10);
|
||||
|
||||
WiFi.getMacAddr(mac);
|
||||
Serial.print("MAC: ");
|
||||
Serial.print(mac[5],16);Serial.print(":");
|
||||
Serial.print(mac[4],16);Serial.print(":");
|
||||
Serial.print(mac[3],16);Serial.print(":");
|
||||
Serial.print(mac[2],16);Serial.print(":");
|
||||
Serial.print(mac[1],16);Serial.print(":");
|
||||
Serial.println(mac[0],16);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
static uint8_t count = 0;
|
||||
while (WiFi.get_status() != WL_CONNECTED)
|
||||
{
|
||||
uint8_t result = WiFi.get_result(count++);
|
||||
Serial.println(result);
|
||||
delay(3000);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user