1
0
mirror of https://github.com/arduino/Arduino.git synced 2024-12-10 21:24:12 +01:00

Changes to integrate latest core updates to WiFly branch

This commit is contained in:
mlafauci 2011-08-31 10:34:51 +02:00
parent 9785b99cba
commit 00b945d869
23 changed files with 136 additions and 251 deletions

View File

@ -1,37 +0,0 @@
#ifndef client_h
#define client_h
#include "Arduino.h"
#include "Print.h"
class Client : public Stream {
public:
Client();
Client(uint8_t sock);
uint8_t status();
int connect(IPAddress ip, uint16_t port);
int connect(const char *host, uint16_t port);
virtual void write(uint8_t);
virtual void write(const char *str);
virtual void write(const uint8_t *buf, size_t size);
virtual int available();
virtual int read();
virtual int read(uint8_t *buf, size_t size);
virtual int peek();
virtual void flush();
void stop();
uint8_t connected();
operator bool();
friend class Server;
private:
static uint16_t _srcport;
uint8_t _sock; //not used
uint16_t _socket;
uint8_t getFirstSocket();
};
#endif

View File

@ -1,44 +0,0 @@
#include <Arduino.h>
#include <IPAddress.h>
IPAddress::IPAddress()
{
memset(_address, 0, sizeof(_address));
}
IPAddress::IPAddress(uint8_t first_octet, uint8_t second_octet, uint8_t third_octet, uint8_t fourth_octet)
{
_address[0] = first_octet;
_address[1] = second_octet;
_address[2] = third_octet;
_address[3] = fourth_octet;
}
IPAddress::IPAddress(uint32_t address)
{
memcpy(_address, &address, sizeof(_address));
}
IPAddress::IPAddress(const uint8_t *address)
{
memcpy(_address, address, sizeof(_address));
}
IPAddress& IPAddress::operator=(const uint8_t *address)
{
memcpy(_address, address, sizeof(_address));
return *this;
}
IPAddress& IPAddress::operator=(uint32_t address)
{
memcpy(_address, (const uint8_t *)&address, sizeof(_address));
return *this;
}
bool IPAddress::operator==(const uint8_t* addr)
{
return memcmp(addr, _address, sizeof(_address)) == 0;
}

View File

@ -1,72 +0,0 @@
/*
*
* MIT License:
* Copyright (c) 2011 Adrian McEwen
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
* adrianm@mcqn.com 1/1/2011
*/
#ifndef IPAddress_h
#define IPAddress_h
// A class to make it easier to handle and pass around IP addresses
class IPAddress {
private:
uint8_t _address[4]; // IPv4 address
// Access the raw byte array containing the address. Because this returns a pointer
// to the internal structure rather than a copy of the address this function should only
// be used when you know that the usage of the returned uint8_t* will be transient and not
// stored.
uint8_t* raw_address() { return _address; };
public:
// Constructors
IPAddress();
IPAddress(uint8_t first_octet, uint8_t second_octet, uint8_t third_octet, uint8_t fourth_octet);
IPAddress(uint32_t address);
IPAddress(const uint8_t *address);
// Overloaded cast operator to allow IPAddress objects to be used where a pointer
// to a four-byte uint8_t array is expected
operator uint32_t() { return *((uint32_t*)_address); };
bool operator==(const IPAddress& addr) { return (*((uint32_t*)_address)) == (*((uint32_t*)addr._address)); };
bool operator==(const uint8_t* addr);
// Overloaded index operator to allow getting and setting individual octets of the address
uint8_t operator[](int index) const { return _address[index]; };
uint8_t& operator[](int index) { return _address[index]; };
// Overloaded copy operators to allow initialisation of IPAddress objects from other types
IPAddress& operator=(const uint8_t *address);
IPAddress& operator=(uint32_t address);
friend class EthernetClass;
friend class UDP;
friend class Client;
friend class Server;
friend class DhcpClass;
friend class DNSClient;
};
const IPAddress INADDR_NONE(0,0,0,0);
#endif

View File

@ -8,8 +8,8 @@ extern "C" {
} }
#include "IPAddress.h" #include "IPAddress.h"
#include "Client.h" #include "WiFiClient.h"
#include "Server.h" #include "WiFiServer.h"
class WiFiClass class WiFiClass
{ {
@ -89,8 +89,8 @@ public:
// function used for test // function used for test
uint8_t test(); uint8_t test();
friend class Client; friend class WiFiClient;
friend class Server; friend class WiFiServer;
}; };
extern WiFiClass WiFi; extern WiFiClass WiFi;

View File

@ -7,19 +7,19 @@ extern "C" {
} }
#include "WiFi.h" #include "WiFi.h"
#include "Client.h" #include "WiFiClient.h"
#include "Server.h" #include "WiFiServer.h"
#include "server_drv.h" #include "server_drv.h"
uint16_t Client::_srcport = 1024; uint16_t WiFiClient::_srcport = 1024;
Client::Client() : _sock(MAX_SOCK_NUM) { WiFiClient::WiFiClient() : _sock(MAX_SOCK_NUM) {
} }
Client::Client(uint8_t sock) : _sock(sock) { WiFiClient::WiFiClient(uint8_t sock) : _sock(sock) {
} }
int Client::connect(const char* host, uint16_t port) { int WiFiClient::connect(const char* host, uint16_t port) {
/* TODO Add DNS wifi spi function to resolve DNS */ /* TODO Add DNS wifi spi function to resolve DNS */
#if 0 #if 0
// Look up the host first // Look up the host first
@ -37,7 +37,7 @@ int Client::connect(const char* host, uint16_t port) {
#endif #endif
} }
int Client::connect(IPAddress ip, uint16_t port) { int WiFiClient::connect(IPAddress ip, uint16_t port) {
_sock = getFirstSocket(); _sock = getFirstSocket();
if (_sock != NO_SOCKET_AVAIL) if (_sock != NO_SOCKET_AVAIL)
{ {
@ -49,36 +49,40 @@ int Client::connect(IPAddress ip, uint16_t port) {
return 1; return 1;
} }
void Client::write(uint8_t b) { size_t WiFiClient::write(uint8_t b) {
if (_sock != 255) if (_sock != 255)
{ {
START(); START();
ServerDrv::sendData(_sock, &b, 1); ServerDrv::sendData(_sock, &b, 1);
while (!ServerDrv::isDataSent(_sock)); while (!ServerDrv::isDataSent(_sock));
END(); END();
return 1;
} }
return 0;
} }
void Client::write(const char *str) { size_t WiFiClient::write(const char *str) {
if (_sock != 255) if (_sock != 255)
{ {
unsigned int len = strlen(str); unsigned int len = strlen(str);
ServerDrv::sendData(_sock, (const uint8_t *)str, len); ServerDrv::sendData(_sock, (const uint8_t *)str, len);
while (!ServerDrv::isDataSent(_sock)); while (!ServerDrv::isDataSent(_sock));
return len;
} }
return 0;
} }
void Client::write(const uint8_t *buf, size_t size) { size_t WiFiClient::write(const uint8_t *buf, size_t size) {
if (_sock != 255) if (_sock != 255)
{ {
ServerDrv::sendData(_sock, buf, size); ServerDrv::sendData(_sock, buf, size);
while (!ServerDrv::isDataSent(_sock)); while (!ServerDrv::isDataSent(_sock));
return size;
} }
return 0;
} }
int Client::available() { int WiFiClient::available() {
if (_sock != 255) if (_sock != 255)
{ {
return ServerDrv::availData(_sock); return ServerDrv::availData(_sock);
@ -87,7 +91,7 @@ int Client::available() {
return 0; return 0;
} }
int Client::read() { int WiFiClient::read() {
uint8_t b; uint8_t b;
if (!available()) if (!available())
return -1; return -1;
@ -96,23 +100,23 @@ int Client::read() {
} }
int Client::read(uint8_t* buf, size_t size) { int WiFiClient::read(uint8_t* buf, size_t size) {
if (!ServerDrv::getDataBuf(_sock, buf, &size)) if (!ServerDrv::getDataBuf(_sock, buf, &size))
return -1; return -1;
return 0; return 0;
} }
int Client::peek() { int WiFiClient::peek() {
//TODO to be implemented //TODO to be implemented
return 0; return 0;
} }
void Client::flush() { void WiFiClient::flush() {
while (available()) while (available())
read(); read();
} }
void Client::stop() { void WiFiClient::stop() {
if (_sock == 255) if (_sock == 255)
return; return;
@ -132,7 +136,7 @@ void Client::stop() {
_sock = 255; _sock = 255;
} }
uint8_t Client::connected() { uint8_t WiFiClient::connected() {
if (_sock == 255) { if (_sock == 255) {
return 0; return 0;
} else { } else {
@ -142,7 +146,7 @@ uint8_t Client::connected() {
} }
} }
uint8_t Client::status() { uint8_t WiFiClient::status() {
if (_sock == 255) { if (_sock == 255) {
return CLOSED; return CLOSED;
} else { } else {
@ -150,12 +154,12 @@ uint8_t Client::status() {
} }
} }
Client::operator bool() { WiFiClient::operator bool() {
return _sock != 255; return _sock != 255;
} }
// Private Methods // Private Methods
uint8_t Client::getFirstSocket() uint8_t WiFiClient::getFirstSocket()
{ {
for (int i = 0; i < MAX_SOCK_NUM; i++) { for (int i = 0; i < MAX_SOCK_NUM; i++) {
if (WiFiClass::_state[i] == 0) if (WiFiClass::_state[i] == 0)

39
WiFi/WiFiClient.h Executable file
View File

@ -0,0 +1,39 @@
#ifndef wificlient_h
#define wificlient_h
#include "Arduino.h"
#include "Print.h"
#include "Client.h"
#include "IPAddress.h"
class WiFiClient : public Client {
public:
WiFiClient();
WiFiClient(uint8_t sock);
uint8_t status();
virtual int connect(IPAddress ip, uint16_t port);
virtual int connect(const char *host, uint16_t port);
virtual size_t write(uint8_t);
virtual size_t write(const char *str);
virtual size_t write(const uint8_t *buf, size_t size);
virtual int available();
virtual int read();
virtual int read(uint8_t *buf, size_t size);
virtual int peek();
virtual void flush();
virtual void stop();
virtual uint8_t connected();
virtual operator bool();
friend class WiFiServer;
private:
static uint16_t _srcport;
uint8_t _sock; //not used
uint16_t _socket;
uint8_t getFirstSocket();
};
#endif

View File

@ -2,17 +2,17 @@
#include "server_drv.h" #include "server_drv.h"
#include "WiFi.h" #include "WiFi.h"
#include "Client.h" #include "WiFiClient.h"
#include "Server.h" #include "WiFiServer.h"
Server::Server(uint16_t port) WiFiServer::WiFiServer(uint16_t port)
{ {
_port = port; _port = port;
} }
void Server::begin() void WiFiServer::begin()
{ {
uint8_t _sock = WiFiClass::getSocket(); uint8_t _sock = WiFiClass::getSocket();
if (_sock != NO_SOCKET_AVAIL) if (_sock != NO_SOCKET_AVAIL)
@ -22,7 +22,7 @@ void Server::begin()
} }
} }
Client Server::available(byte* status) WiFiClient WiFiServer::available(byte* status)
{ {
//accept(); //accept();
@ -30,7 +30,7 @@ Client Server::available(byte* status)
{ {
if (WiFiClass::_server_port[sock] != 0) if (WiFiClass::_server_port[sock] != 0)
{ {
Client client(sock); WiFiClient client(sock);
int _status = client.status(); int _status = client.status();
if (status != NULL) if (status != NULL)
*status = _status; *status = _status;
@ -43,26 +43,26 @@ Client Server::available(byte* status)
} }
} }
return Client(255); return WiFiClient(255);
} }
void Server::write(uint8_t b) void WiFiServer::write(uint8_t b)
{ {
write(&b, 1); write(&b, 1);
} }
void Server::write(const char *str) void WiFiServer::write(const char *str)
{ {
write((const uint8_t *)str, strlen(str)); write((const uint8_t *)str, strlen(str));
} }
void Server::write(const uint8_t *buffer, size_t size) void WiFiServer::write(const uint8_t *buffer, size_t size)
{ {
for (int sock = 0; sock < MAX_SOCK_NUM; sock++) for (int sock = 0; sock < MAX_SOCK_NUM; sock++)
{ {
if (WiFiClass::_server_port[sock] != 0) if (WiFiClass::_server_port[sock] != 0)
{ {
Client client(sock); WiFiClient client(sock);
if (WiFiClass::_server_port[sock] == _port && if (WiFiClass::_server_port[sock] == _port &&
client.status() == ESTABLISHED) client.status() == ESTABLISHED)

View File

@ -1,21 +1,21 @@
#ifndef server_h #ifndef wifiserver_h
#define server_h #define wifiserver_h
extern "C" { extern "C" {
#include "utility/wl_definitions.h" #include "utility/wl_definitions.h"
} }
#include "Print.h" #include "Server.h"
class Client; class WiFiClient;
class Server : public Print { class WiFiServer : public Server {
private: private:
uint16_t _port; uint16_t _port;
void* pcb; void* pcb;
public: public:
Server(uint16_t); WiFiServer(uint16_t);
Client available(uint8_t* status = NULL); WiFiClient available(uint8_t* status = NULL);
void begin(); void begin();
virtual void write(uint8_t); virtual void write(uint8_t);
virtual void write(const char *str); virtual void write(const char *str);

View File

@ -22,16 +22,16 @@
*/ */
#include <WiFi.h> #include <WiFi.h>
#include <IPAddress.h>
char ssid[32] = { 0 }; char ssid[] = "yourNetwork";
char pass[] = "secretPassword";
int status = WL_IDLE_STATUS; int status = WL_IDLE_STATUS;
// The address of the server you want to connect to (pachube.com): // The address of the server you want to connect to (pachube.com):
IPAddress server(173,203,98,29); IPAddress server(173,203,98,29);
// initialize the library instance: // initialize the library instance:
Client client(server, 80); WiFiClient client;
long lastConnectionTime = 0; // last time you connected to the server, in milliseconds long lastConnectionTime = 0; // last time you connected to the server, in milliseconds
boolean lastConnected = false; // state of the connection last time through the main loop boolean lastConnected = false; // state of the connection last time through the main loop
@ -40,11 +40,10 @@ const int postingInterval = 10000; //delay between updates to Pachube.com
int startWiFiWpa() int startWiFiWpa()
{ {
Serial.println("\nSetup WiFi Wpa..."); Serial.println("\nSetup WiFi Wpa...");
//strcpy(ssid, "AndroidAP9647"); strcpy(ssid, "tigoenet");
strcpy(ssid, "Cariddi");
Serial.print("SSID: "); Serial.print("SSID: ");
Serial.println(ssid); Serial.println(ssid);
const char *pass = "1234567890"; const char *pass = "m30w-m30w";
status = WiFi.begin(ssid, pass); status = WiFi.begin(ssid, pass);
if ( status != WL_CONNECTED) if ( status != WL_CONNECTED)
{ {
@ -110,11 +109,11 @@ void loop() {
// this method makes a HTTP connection to the server: // this method makes a HTTP connection to the server:
void sendData(String thisData) { void sendData(String thisData) {
// if there's a successful connection: // if there's a successful connection:
if (client.connect()) { if (client.connect(server, 80)) {
Serial.println("connecting..."); Serial.println("connecting...");
// send the HTTP PUT request. // send the HTTP PUT request.
// fill in your feed address here: // fill in your feed address here:
client.print("PUT /api/http://api.pachube.com/v2/feeds/24196.csv HTTP/1.1\n"); client.print("PUT /api/24196.csv HTTP/1.1\n");
client.print("Host: www.pachube.com\n"); client.print("Host: www.pachube.com\n");
// fill in your Pachube API key here: // fill in your Pachube API key here:
client.print("X-PachubeApiKey: gw0L2A-J5ACRGQccX59tCYt0IEzyecr-SoiuC47U1-8\n"); client.print("X-PachubeApiKey: gw0L2A-J5ACRGQccX59tCYt0IEzyecr-SoiuC47U1-8\n");

View File

@ -7,7 +7,7 @@
* WiFi shield attached * WiFi shield attached
created 13 July 2010 created 13 July 2010
by Domenico La Fauci by dlf (Metodo2 srl)
modified 5 June 2011 modified 5 June 2011
by Tom Igoe by Tom Igoe
*/ */

View File

@ -7,7 +7,7 @@
* WiFi shield attached * WiFi shield attached
created 13 July 2010 created 13 July 2010
by Domenico La Fauci by dlf (Metodo2 srl)
modified 5 June 2011 modified 5 June 2011
by Tom Igoe by Tom Igoe
*/ */
@ -61,7 +61,7 @@ void loop() {
void printIpData() { void printIpData() {
// print your WiFi shield's IP address: // print your WiFi shield's IP address:
ip = WiFi.localIp(); ip = WiFi.localIP();
Serial.print("IP: "); Serial.print("IP: ");
Serial.print(ip[3]); Serial.print(ip[3]);
Serial.print("."); Serial.print(".");

View File

@ -25,7 +25,7 @@ char pass[] = "secretPassword"; // the WPA2 password for your network
int status = WL_IDLE_STATUS; // the Wifi radio's status int status = WL_IDLE_STATUS; // the Wifi radio's status
// telnet defaults to port 23 // telnet defaults to port 23
Server server(23); WiFiServer server(23);
boolean gotAMessage = false; // whether or not you got a message from the client yet boolean gotAMessage = false; // whether or not you got a message from the client yet
@ -56,7 +56,7 @@ void setup() {
void loop() { void loop() {
// wait for a new client: // wait for a new client:
Client client = server.available(); WiFiClient client = server.available();
// when the client sends the first byte, say hello: // when the client sends the first byte, say hello:
if (client) { if (client) {

View File

@ -31,7 +31,7 @@ int status = WL_IDLE_STATUS;
IPAddress server(173,203,98,29); IPAddress server(173,203,98,29);
// initialize the library instance: // initialize the library instance:
Client client; WiFiClient client;
long lastConnectionTime = 0; // last time you connected to the server, in milliseconds long lastConnectionTime = 0; // last time you connected to the server, in milliseconds
boolean lastConnected = false; // state of the connection last time through the main loop boolean lastConnected = false; // state of the connection last time through the main loop

View File

@ -7,7 +7,7 @@
* WiFi shield attached * WiFi shield attached
created 13 July 2010 created 13 July 2010
by Domenico La Fauci by dlf (Metodo2 srl)
modified 5 June 2011 modified 5 June 2011
by Tom Igoe by Tom Igoe
*/ */
@ -16,9 +16,8 @@
#include <SPI.h> #include <SPI.h>
#include <WiFi.h> #include <WiFi.h>
char ssid[] = "yourNetwork"; // the name of your network char ssid[] = "yourNetwork";
char pass[] = "secretPassword"; // the WPA2 password for your network char pass[] = "secretpassword";
int status = WL_IDLE_STATUS; // the Wifi radio's status int status = WL_IDLE_STATUS; // the Wifi radio's status
byte mac[6]; // the MAC address of your Wifi shield byte mac[6]; // the MAC address of your Wifi shield
@ -29,7 +28,11 @@ IPAddress subnet; // the subnet mask
void setup() { void setup() {
// initialize serial: // initialize serial:
Serial.begin(9600); Serial.begin(9600);
// scan for existing networks:
Serial.println("Scanning available networks...");
//WiFi.begin();
scanNetworks();
// attempt to connect using WEP encryption: // attempt to connect using WEP encryption:
// Serial.println("Attempting to connect to WEP-128 network..."); // Serial.println("Attempting to connect to WEP-128 network...");
// status = WiFi.begin(ssid, keyIndex, key); // status = WiFi.begin(ssid, keyIndex, key);

View File

@ -24,7 +24,7 @@ char pass[] = "secretpassword";
int status = WL_IDLE_STATUS; int status = WL_IDLE_STATUS;
// initialize the library instance: // initialize the library instance:
Client client; WiFiClient client;
const int requestInterval = 30*1000; // delay between requests; 30 seconds const int requestInterval = 30*1000; // delay between requests; 30 seconds

View File

@ -9,7 +9,7 @@
* WiFi shield attached * WiFi shield attached
created 13 July 2010 created 13 July 2010
by Domenico La Fauci by dlf (Metodo2 srl)
modified 21 May 2011 modified 21 May 2011
by Tom Igoe by Tom Igoe
*/ */
@ -17,7 +17,6 @@
#include <SPI.h> #include <SPI.h>
#include <WiFi.h> #include <WiFi.h>
#include <IPAddress.h>
char ssid[] = "yourNetwork"; char ssid[] = "yourNetwork";
char pass[] = "secretPassword"; char pass[] = "secretPassword";
@ -27,7 +26,7 @@ IPAddress server(74,125,115,105); // Google
// Initialize the Ethernet client library // Initialize the Ethernet client library
// with the IP address and port of the server // with the IP address and port of the server
// that you want to connect to (port 80 is default for HTTP): // that you want to connect to (port 80 is default for HTTP):
Client client; WiFiClient client;
void setup() { void setup() {
Serial.begin(9600); Serial.begin(9600);

View File

@ -9,7 +9,7 @@
* Analog inputs attached to pins A0 through A5 (optional) * Analog inputs attached to pins A0 through A5 (optional)
created 13 July 2010 created 13 July 2010
by Domenico La Fauci by dlf (Metodo2 srl)
modified 5 June 2011 modified 5 June 2011
by Tom Igoe by Tom Igoe
*/ */
@ -22,7 +22,7 @@ char ssid[] = "yourNetwork";
char pass[] = "secretpassword"; char pass[] = "secretpassword";
int status = WL_IDLE_STATUS; int status = WL_IDLE_STATUS;
Server server(80); WiFiServer server(80);
void setup() { void setup() {
// initialize serial: // initialize serial:
@ -39,7 +39,7 @@ void setup() {
else { else {
server.begin(); server.begin();
Serial.print("Connected to wifi. My address:"); Serial.print("Connected to wifi. My address:");
IPAddress myAddress = WiFi.localIp(); IPAddress myAddress = WiFi.localIP();
Serial.print(myAddress[0]); Serial.print(myAddress[0]);
Serial.print("."); Serial.print(".");
Serial.print(myAddress[1]); Serial.print(myAddress[1]);
@ -53,7 +53,7 @@ void setup() {
void loop() { void loop() {
// listen for incoming clients // listen for incoming clients
Client client = server.available(); WiFiClient client = server.available();
if (client) { if (client) {
// an http request ends with a blank line // an http request ends with a blank line
boolean currentLineIsBlank = true; boolean currentLineIsBlank = true;

View File

@ -6,10 +6,9 @@
A simple server is setup to exchange data. A simple server is setup to exchange data.
created 13 July 2010 created 13 July 2010
by Domenico La Fauci by dlf (Metodo2 srl)
*/ */
#include <WiFi.h> #include <WiFi.h>
#include <IPAddress.h>
byte mac[6] = { 0 }; byte mac[6] = { 0 };
IPAddress ip; IPAddress ip;
@ -19,11 +18,11 @@ byte dataBuf[80] = { 0 };
char ssid[32] = { 0 }; char ssid[32] = { 0 };
int status = WL_IDLE_STATUS; int status = WL_IDLE_STATUS;
Server server(23); WiFiServer server(23);
void printIpData() void printIpData()
{ {
ip = WiFi.localIp(); ip = WiFi.localIP();
Serial.print("IP: "); Serial.print("IP: ");
Serial.print(ip[3],10);Serial.print("."); Serial.print(ip[3],10);Serial.print(".");
@ -136,7 +135,7 @@ void loop()
if (status == WL_CONNECTED) if (status == WL_CONNECTED)
{ {
byte status = 0; byte status = 0;
Client client = server.available(&status); WiFiClient client = server.available(&status);
if (client) { if (client) {
//Serial.print("Status: "); //Serial.print("Status: ");
//Serial.println(status, 16); //Serial.println(status, 16);

View File

@ -6,10 +6,9 @@
A simple server is setup to exchange data. A simple server is setup to exchange data.
created 13 July 2010 created 13 July 2010
by Domenico La Fauci by dlf (Metodo2 srl)
*/ */
#include <WiFi.h> #include <WiFi.h>
#include <IPAddress.h>
byte mac[6] = { 0 }; byte mac[6] = { 0 };
IPAddress ip; IPAddress ip;
@ -21,12 +20,11 @@ int status = WL_IDLE_STATUS;
#define MAX_NUM_SSID 10 #define MAX_NUM_SSID 10
char ssidList[MAX_NUM_SSID][32] = { {0} }; char ssidList[MAX_NUM_SSID][32] = { {0} };
WiFiServer server(23);
Server server(23);
void printIpData() void printIpData()
{ {
ip = WiFi.localIp(); ip = WiFi.localIP();
Serial.print("IP: "); Serial.print("IP: ");
Serial.print(ip[3],10);Serial.print("."); Serial.print(ip[3],10);Serial.print(".");
@ -147,7 +145,7 @@ void loop()
if (status == WL_CONNECTED) if (status == WL_CONNECTED)
{ {
byte _status = 0; byte _status = 0;
Client client = server.available(&_status); WiFiClient client = server.available(&_status);
if (client) { if (client) {
Serial.print("Status: "); Serial.print("Status: ");
Serial.println(status, 16); Serial.println(status, 16);

View File

@ -6,10 +6,10 @@
A simple server is setup to exchange data. A simple server is setup to exchange data.
created 13 July 2010 created 13 July 2010
by Domenico La Fauci by dlf (Metodo2 srl)
*/ */
#include <WiFi.h> #include <WiFi.h>
#include <IPAddress.h>
#define _PRINT_ #define _PRINT_
byte mac[6] = { 0 }; byte mac[6] = { 0 };
@ -23,12 +23,12 @@ int status = WL_IDLE_STATUS;
char ssidList[MAX_NUM_SSID][32] = { {0} }; char ssidList[MAX_NUM_SSID][32] = { {0} };
Server server(23); WiFiServer server(23);
boolean gotAMessage = false; // whether or not you got a message from the client yet boolean gotAMessage = false; // whether or not you got a message from the client yet
void printIpData() void printIpData()
{ {
ip = WiFi.localIp(); ip = WiFi.localIP();
Serial.print("\nIP: "); Serial.print("\nIP: ");
Serial.print(ip[3],10);Serial.print("."); Serial.print(ip[3],10);Serial.print(".");
@ -153,8 +153,7 @@ void execCmd(char* buf)
Serial.print("\nExecuting command: "); Serial.print("\nExecuting command: ");
Serial.println(buf); Serial.println(buf);
#endif #endif
//server.write(buf); server.write(buf);
server.print(buf);
} }
@ -163,7 +162,7 @@ void loop()
if (status == WL_CONNECTED) if (status == WL_CONNECTED)
{ {
byte _status = 0; byte _status = 0;
Client client = server.available(&_status); WiFiClient client = server.available(&_status);
if (client) { if (client) {
if (!gotAMessage) { if (!gotAMessage) {
Serial.println("\nWe have a new client\n"); Serial.println("\nWe have a new client\n");

View File

@ -6,10 +6,9 @@
A simple server is setup to exchange data. A simple server is setup to exchange data.
created 13 July 2010 created 13 July 2010
by Domenico La Fauci by dlf (Metodo2 srl)
*/ */
#include <WiFi.h> #include <WiFi.h>
#include <IPAddress.h>
byte mac[6] = { 0 }; byte mac[6] = { 0 };
IPAddress ip; IPAddress ip;
@ -22,11 +21,11 @@ int status = WL_IDLE_STATUS;
char ssidList[MAX_NUM_SSID][32] = { {0} }; char ssidList[MAX_NUM_SSID][32] = { {0} };
Server server(23); WiFiServer server(23);
void printIpData() void printIpData()
{ {
ip = WiFi.localIp(); ip = WiFi.localIP();
Serial.print("IP: "); Serial.print("IP: ");
Serial.print(ip[3],10);Serial.print("."); Serial.print(ip[3],10);Serial.print(".");

View File

@ -6,10 +6,9 @@
A simple server is setup to exchange data. A simple server is setup to exchange data.
created 13 July 2010 created 13 July 2010
by Domenico La Fauci by dlf (Metodo2 srl)
*/ */
#include <WiFi.h> #include <WiFi.h>
#include <IPAddress.h>
byte mac[6] = { 0 }; byte mac[6] = { 0 };
IPAddress ip; IPAddress ip;
@ -22,11 +21,11 @@ int status = WL_IDLE_STATUS;
char ssidList[MAX_NUM_SSID][32] = { {0} }; char ssidList[MAX_NUM_SSID][32] = { {0} };
Server server(23); WiFiServer server(23);
void printIpData() void printIpData()
{ {
ip = WiFi.localIp(); ip = WiFi.localIP();
Serial.print("IP: "); Serial.print("IP: ");
Serial.print(ip[3],10);Serial.print("."); Serial.print(ip[3],10);Serial.print(".");

View File

@ -2,7 +2,7 @@
// //
// File: debug.h // File: debug.h
// //
// Author: Domenico La Fauci // Author: dlf (Metodo2 srl)
// //
//********************************************/ //********************************************/