Alex Leung
/
HealthTracker
Test version
WIFI.cpp
- Committer:
- a2824256
- Date:
- 2018-03-20
- Revision:
- 0:4be500de690c
- Child:
- 1:bd9f39f9d91c
File content as of revision 0:4be500de690c:
#include "mbed.h" #include "TCPSocket.h" #include "ESP8266Interface.h" #define MBED_CONF_APP_NETWORK_INTERFACE WIFI_ESP8266 #define MBED_CONF_EASY_CONNECT_WIFI_ESP8266_TX PC_10 #define MBED_CONF_EASY_CONNECT_WIFI_ESP8266_RX PC_11 ESP8266Interface wifi(MBED_CONF_EASY_CONNECT_WIFI_ESP8266_TX, MBED_CONF_EASY_CONNECT_WIFI_ESP8266_RX); const char *sec2str(nsapi_security_t sec) { switch (sec) { case NSAPI_SECURITY_NONE: return "None"; case NSAPI_SECURITY_WEP: return "WEP"; case NSAPI_SECURITY_WPA: return "WPA"; case NSAPI_SECURITY_WPA2: return "WPA2"; case NSAPI_SECURITY_WPA_WPA2: return "WPA/WPA2"; case NSAPI_SECURITY_UNKNOWN: default: return "Unknown"; } } void scan_demo(WiFiInterface *wifi) { WiFiAccessPoint *ap; pc.printf("Scan:\r\n"); int count = wifi->scan(NULL,0); /* Limit number of network arbitrary to 15 */ count = count < 15 ? count : 15; ap = new WiFiAccessPoint[count]; count = wifi->scan(ap, count); for (int i = 0; i < count; i++) { pc.printf("Network: %s secured: %s BSSID: %hhX:%hhX:%hhX:%hhx:%hhx:%hhx RSSI: %hhd Ch: %hhd\r\n", ap[i].get_ssid(), sec2str(ap[i].get_security()), ap[i].get_bssid()[0], ap[i].get_bssid()[1], ap[i].get_bssid()[2], ap[i].get_bssid()[3], ap[i].get_bssid()[4], ap[i].get_bssid()[5], ap[i].get_rssi(), ap[i].get_channel()); } pc.printf("%d networks available.\r\n", count); delete[] ap; } void http_demo(NetworkInterface *net) { TCPSocket socket; pc.printf("Sending HTTP request to 192.168.8.100...\r\n"); // Open a socket on the network interface, and create a TCP connection to www.arm.com socket.open(net); socket.connect("192.168.8.100", 8282); // Send a simple http request char sbuffer[] = "GET / HTTP/1.1\r\nHost: 192.168.8.100\r\n\r\n"; int scount = socket.send(sbuffer, sizeof sbuffer); pc.printf("sent %d [%.*s]\r\n", scount, strstr(sbuffer, "\r\n")-sbuffer, sbuffer); // Recieve a simple http response and print out the response line char rbuffer[64]; int rcount = socket.recv(rbuffer, sizeof rbuffer); pc.printf("recv %d [%.*s]\r\n", rcount, strstr(rbuffer, "\r\n")-rbuffer, rbuffer); // Close the socket to return its memory and bring down the network interface socket.close(); }