Fireduino Buy

Dual-Core Cortex-M3 processor, integrated high-quality audio Codec and WiFi module, have IOT expansion performance, perfectly compatible with the Arduino interface and Arduino IDE programming, and supports FireBlock graphics programming.

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");}