CLI example for NNN50

Dependencies:   NNN50_WIFI_API

Fork of NNN50_WiFi_HelloWorld by Delta

main.cpp

Committer:
tsungta
Date:
2017-04-02
Revision:
3:9bd3e863e15b
Parent:
2:92946804ed6f
Child:
4:11b81280c65b

File content as of revision 3:9bd3e863e15b:

/******************** (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.1.100";
const int ECHO_SERVER_PORT = 1030;

Serial uart(p17, p16);//temporary define for alpha release

void scanCallback(tstrM2mWifiscanResult result)
{
    uart.printf("SSID: %s \n", result.au8SSID);
    uart.printf("RSSI: %i \n", result.s8rssi);
}

int main() {

    EthernetInterface eth;
    WIFIDevice wifi;
    
    uart.baud(9600);
        
    eth.init();

    wifi.apScan(scanCallback);
             
    wifi.setNetwork(M2M_WIFI_SEC_WPA_PSK, "TP-LINK_2.4G_TTWU", "0972753720"); 
    
    eth.connect();    

    if(wifi.is_AP_connected())
        uart.printf("Connect Success! \n");
    else
        uart.printf("Connect Fail! \n");    

    uart.printf("MAC: %s\n", eth.getMACAddress());            
    uart.printf("IP: %s\n", eth.getIPAddress());
    uart.printf("Gateway: %s\n", eth.getGateway());
    uart.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";
    uart.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];
    int n = sock.receiveFrom(echo_server, in_buffer, sizeof(in_buffer));
    
    in_buffer[n] = '\0';
    uart.printf("Received message from server: '%s'\n", in_buffer);
    
    sock.close();
    
    eth.disconnect();                             
    
    wifi.sleep();
                                 
    while(1) {
    }
}