Prueba
Dependencies: esp8266-driver mbed-STM32F103C8T6
Fork of mbed-os-example-mbed5-blinky by
Revision 43:922bd982dac0, committed 2017-08-06
- Comitter:
- josuechopite
- Date:
- Sun Aug 06 16:12:34 2017 +0000
- Parent:
- 42:f39d7abfada9
- Commit message:
- Prueba
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/esp8266-driver.lib Sun Aug 06 16:12:34 2017 +0000 @@ -0,0 +1,1 @@ +https://developer.mbed.org/users/josuechopite/code/esp8266-driver/#9e953a34e172
--- a/main.cpp Thu Aug 03 12:15:01 2017 +0100
+++ b/main.cpp Sun Aug 06 16:12:34 2017 +0000
@@ -1,12 +1,102 @@
+#include "stm32f103c8t6.h"
#include "mbed.h"
-
-DigitalOut led1(LED1);
-
-// main() runs in its own thread in the OS
-int main() {
- while (true) {
- led1 = !led1;
- wait(0.5);
+#include "TCPSocket.h"
+
+
+#include "ESP8266Interface.h"
+ESP8266Interface wifi(PA_2, PA_3);
+
+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;
+
+ 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++)
+ {
+ 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());
+ }
+ printf("%d networks available.\r\n", count);
+
+ delete[] ap;
+}
+
+void http_demo(NetworkInterface *net)
+{
+ TCPSocket socket;
+
+ printf("Sending HTTP request to www.arm.com...\r\n");
+
+ // Open a socket on the network interface, and create a TCP connection to www.arm.com
+ socket.open(net);
+ socket.connect("www.arm.com", 80);
+
+ // Send a simple http request
+ char sbuffer[] = "GET / HTTP/1.1\r\nHost: www.arm.com\r\n\r\n";
+ int scount = socket.send(sbuffer, sizeof sbuffer);
+ 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);
+ 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();
+}
+
+int main()
+{
+ printf("WiFi example\r\n\r\n");
+
+ // Scan for available access points
+ scan_demo(&wifi);
+
+ printf("\r\nConnecting...\r\n");
+ int ret = wifi.connect("Flia_Leita", "DinoYNives0102", NSAPI_SECURITY_WPA_WPA2);
+ if (ret != 0) {
+ printf("\r\nConnection error\r\n");
+ return -1;
+ }
+
+ printf("Success\r\n\r\n");
+ printf("MAC: %s\r\n", wifi.get_mac_address());
+ printf("IP: %s\r\n", wifi.get_ip_address());
+ printf("Netmask: %s\r\n", wifi.get_netmask());
+ printf("Gateway: %s\r\n", wifi.get_gateway());
+ printf("RSSI: %d\r\n\r\n", wifi.get_rssi());
+
+ http_demo(&wifi);
+
+ wifi.disconnect();
+
+ printf("\r\nDone\r\n");
+}
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed-STM32F103C8T6.lib Sun Aug 06 16:12:34 2017 +0000 @@ -0,0 +1,1 @@ +https://mbed.org/users/hudakz/code/mbed-STM32F103C8T6/#727468adfd1d
