WiFi Server
Update time:2018-04-13 Views:5319
WiFi Server
Freaduino SDK provides a comprehensive API for wifi.This API is compatible with the Arduino WiFi Shield example.
WiFi Server process
Relative to the client,the server implementation is a bit complicated.
The first step:
Create a WiFiServer object whose parameters table to monitor port number,then call the begin object function to tell the Server object to begin to monitor the client connection.
The second step:
If the client connection into the server,you can through the server object functions available to capture the incoming client object.In the client object to send and receive data.
The three step:
After completing the data transfer can call the stop function to end of the transfer and close the TCP transport channel.
Example program -- Telnet
#include <WiFi.h>char ssid[] = "yourNetwork"; // your network SSID (name)char pass[] = "secretPassword"; // your network password int status = WL_IDLE_STATUS;WiFiServer server(23);boolean alreadyConnected = false; // whether or not the client was connected previouslyvoid setup() { //Initialize serial and wait for port to open: Serial.begin(9600); while (!Serial) {; // wait for serial port to connect. Needed for native USB port only } // check for the presence of the shield: if (WiFi.status() == WL_NO_SHIELD) {Serial.println("WiFi shield not present");// don't continue:while (true); } String fv = WiFi.firmwareVersion(); if (fv != "1.1.0") {Serial.println("Please upgrade the firmware"); } // attempt to connect to Wifi network: while (status != WL_CONNECTED) {Serial.print("Attempting to connect to SSID: ");Serial.println(ssid);// Connect to WPA/WPA2 network. Change this line if using open or WEP network:status = WiFi.begin(ssid, pass);// wait 10 seconds for connection:delay(10000); } // start the server: server.begin(); // you're connected now, so print out the status: printWifiStatus();}void loop() { // wait for a new client: WiFiClient client = server.available(); // when the client sends the first byte, say hello: if (client) {if (!alreadyConnected) { // clead out the input buffer: client.flush(); Serial.println("We have a new client"); client.println("Hello, client!"); alreadyConnected = true;}if (client.available() > 0) { // read the bytes incoming from the client: char thisChar = client.read(); // echo the bytes back to the client: server.write(thisChar); // echo the bytes to the server as well: Serial.write(thisChar);} }}void printWifiStatus() { // print the SSID of the network you're attached to: Serial.print("SSID: "); Serial.println(WiFi.SSID()); // print your WiFi shield's IP address: IPAddress ip = WiFi.localIP(); Serial.print("IP Address: "); Serial.println(ip); // print the received signal strength: long rssi = WiFi.RSSI(); Serial.print("signal strength (RSSI):"); Serial.print(rssi); Serial.println(" dBm");}