This example test the SSL socket connection ability with google.com@443
Dependencies: NNN50_WIFI_API
Diff: main.cpp
- Revision:
- 0:3e902eda4f71
- Child:
- 1:4d09372e86ed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Sep 12 02:06:32 2017 +0000 @@ -0,0 +1,79 @@ +/******************** (C) COPYRIGHT 2016 Delta Electronics, Inc. *************** +* +* File Name : main.cpp +* Authors : Tsungta Wu - CPBG (tsungta.wu@deltaww.com) +* Version : V.1.0.0 +* Date : 2016/Nov/24 +* +* This example only show the most basic WiFi operation include AP scan and connect +* The usage of TCP/UDP socket please refer to the mbed Handbook from the link below +* https://developer.mbed.org/handbook/Socket +* +*******************************************************************************/ + +#include "mbed.h" +#include "EthernetInterface.h" +#include "WIFIDevice.h" + +const char* ECHO_SERVER_ADDRESS = "192.168.2.13"; +const int ECHO_SERVER_PORT = 1030; + +void scanCallback(tstrM2mWifiscanResult result) +{ + printf("SSID: %s \n", result.au8SSID); + printf("RSSI: %i \n", result.s8rssi); +} + +int main() { + + EthernetInterface eth; + WIFIDevice wifi; + + eth.init(); + + wifi.apScan(scanCallback); + + wifi.setNetwork(M2M_WIFI_SEC_WPA_PSK, "TWCYNPC0209_Mac mini", "mayday55555"); + + eth.connect(); + + if(wifi.is_AP_connected()) + printf("Connect Success! \n"); + else + printf("Connect Fail! \n"); + + printf("MAC: %s\n", eth.getMACAddress()); + printf("IP: %s\n", eth.getIPAddress()); + printf("Gateway: %s\n", eth.getGateway()); + printf("NetworkMask: %s\n", eth.getNetworkMask()); + + UDPSocket sock; + sock.init(); + + Endpoint echo_server; + echo_server.set_address(ECHO_SERVER_ADDRESS, ECHO_SERVER_PORT); + + char out_buffer[] = "Hello World"; + printf("Sending message '%s' to server (%s)\n",out_buffer,ECHO_SERVER_ADDRESS); + sock.sendTo(echo_server, out_buffer, sizeof(out_buffer)); + + char in_buffer[256]; //IMPORTANT, array size MUST >= the actual received data size or set to maximum of 1400 if there is uncertainty + int n = sock.receiveFrom(echo_server, in_buffer, sizeof(in_buffer)); + + if(n <0) + in_buffer[0] = '\0';//IMPORTANT, in case n = -1 when set_bloacking is timeout, prevent the illegal array in_buffer[-1] access + else + in_buffer[n] = '\0'; + + printf("Received message from server: '%s'\n", in_buffer); + + sock.close(); + + eth.disconnect(); + + wifi.sleep(); + + while(1) { + } +} +