Delta / Mbed 2 deprecated NNN40_WiFi_SoftAP

Dependencies:   WIFI_API_32kRAM mbed

Fork of NNN40_WiFi by Delta

Committer:
wgd8700
Date:
Mon Aug 31 07:19:46 2015 +0000
Revision:
14:1f8b31c4dcc1
Parent:
13:6570897e31f8
Child:
15:16c3060424e3
First commit for SoftAP mode example

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Marcomissyou 0:25ffe5869e35 1 #include "mbed.h"
Marcomissyou 0:25ffe5869e35 2 #include "WIFIDevice.h"
Marcomissyou 3:65c5fce3a471 3 #include "EthernetInterface.h"
wgd8700 13:6570897e31f8 4
Marcomissyou 0:25ffe5869e35 5 WIFIDevice wifi;
wgd8700 14:1f8b31c4dcc1 6
wgd8700 14:1f8b31c4dcc1 7 uint16_t ECHO_SERVER_PORT = 5222;
wgd8700 13:6570897e31f8 8
Marcomissyou 0:25ffe5869e35 9 int main(void)
Marcomissyou 3:65c5fce3a471 10 {
wgd8700 14:1f8b31c4dcc1 11 printf("NNN40 init...\n");
wgd8700 14:1f8b31c4dcc1 12 wifi.setAccessPoint("NNN40", "0123456789", SECURITY_WPA2_TKIP_PSK, 2);
Marcomissyou 0:25ffe5869e35 13 EthernetInterface eth;
wgd8700 14:1f8b31c4dcc1 14 eth.init();
Marcomissyou 3:65c5fce3a471 15 wait(1);
wgd8700 14:1f8b31c4dcc1 16
Marcomissyou 0:25ffe5869e35 17 eth.connect(40000);
wgd8700 14:1f8b31c4dcc1 18
wgd8700 14:1f8b31c4dcc1 19 printf("IP Address: %s\n",eth.getIPAddress());
wgd8700 14:1f8b31c4dcc1 20 printf("MAC Address: %s\n",eth.getMACAddress());
wgd8700 14:1f8b31c4dcc1 21 printf("Gateway Address: %s\n",eth.getGateway());
wgd8700 14:1f8b31c4dcc1 22 printf("Network Mask: %s\n",eth.getNetworkMask());
wgd8700 14:1f8b31c4dcc1 23
wgd8700 14:1f8b31c4dcc1 24 TCPSocketServer server;
wgd8700 14:1f8b31c4dcc1 25 server.bind(ECHO_SERVER_PORT);
wgd8700 14:1f8b31c4dcc1 26 server.listen();
wgd8700 14:1f8b31c4dcc1 27
wgd8700 14:1f8b31c4dcc1 28 while (true) {
wgd8700 14:1f8b31c4dcc1 29 printf("\nWait for new connection...\n");
wgd8700 14:1f8b31c4dcc1 30 TCPSocketConnection client;
wgd8700 14:1f8b31c4dcc1 31 server.accept(client);
wgd8700 14:1f8b31c4dcc1 32 client.set_blocking(false, 5000); // Timeout after (5)s
wgd8700 14:1f8b31c4dcc1 33
wgd8700 14:1f8b31c4dcc1 34 printf("Connection from: %s\n", client.get_address());
wgd8700 14:1f8b31c4dcc1 35 char buffer[256];
wgd8700 14:1f8b31c4dcc1 36 while (true) {
wgd8700 14:1f8b31c4dcc1 37 int n = client.receive(buffer, sizeof(buffer));
wgd8700 14:1f8b31c4dcc1 38 if (n <= 0) break;
wgd8700 14:1f8b31c4dcc1 39
wgd8700 14:1f8b31c4dcc1 40 // print received message to terminal
wgd8700 14:1f8b31c4dcc1 41 buffer[n] = '\0';
wgd8700 14:1f8b31c4dcc1 42 printf("Received message from Client :'%s'\n",buffer);
wgd8700 14:1f8b31c4dcc1 43
wgd8700 14:1f8b31c4dcc1 44 // reverse the message
wgd8700 14:1f8b31c4dcc1 45 char temp;
wgd8700 14:1f8b31c4dcc1 46 for(int f = 0, l = n-1; f<l; f++,l--){
wgd8700 14:1f8b31c4dcc1 47 temp = buffer[f];
wgd8700 14:1f8b31c4dcc1 48 buffer[f] = buffer[l];
wgd8700 14:1f8b31c4dcc1 49 buffer[l] = temp;
wgd8700 14:1f8b31c4dcc1 50 }
wgd8700 14:1f8b31c4dcc1 51
wgd8700 14:1f8b31c4dcc1 52 // print reversed message to terminal
wgd8700 14:1f8b31c4dcc1 53 printf("Sending message to Client: '%s'\n",buffer);
wgd8700 14:1f8b31c4dcc1 54
wgd8700 14:1f8b31c4dcc1 55 // Echo received message back to client
wgd8700 14:1f8b31c4dcc1 56 client.send_all(buffer, n);
wgd8700 14:1f8b31c4dcc1 57 if (n <= 0) break;
wgd8700 14:1f8b31c4dcc1 58 }
wgd8700 14:1f8b31c4dcc1 59
wgd8700 14:1f8b31c4dcc1 60 client.close();
wgd8700 14:1f8b31c4dcc1 61 }
wgd8700 14:1f8b31c4dcc1 62 }