https://www.youtube.com/watch?v=FnNo10FYSTE
Dependencies: DISCO_L475VG_IOT01A_wifi
main.cpp
- Committer:
- hexfactory
- Date:
- 2019-11-20
- Revision:
- 0:d4bf65e1d0d7
File content as of revision 0:d4bf65e1d0d7:
#include "mbed.h" #include "wifi.h" /*------------------------------------------------------------------------------ Hyperterminal settings: 115200 bauds, 8-bit data, no parity This example - connects to a wifi network (SSID & PWD to set in mbed_app.json) - Connects to a TCP server (set the address in RemoteIP) - Sends "Hello" to the server when data is received This example uses SPI3 ( PE_0 PC_10 PC_12 PC_11), wifi_wakeup pin (PB_13), wifi_dataready pin (PE_1), wifi reset pin (PE_8) ------------------------------------------------------------------------------*/ /* Private defines -----------------------------------------------------------*/ #define WIFI_WRITE_TIMEOUT 10000 #define WIFI_READ_TIMEOUT 10000 #define CONNECTION_TRIAL_MAX 10 /* Private typedef------------------------------------------------------------*/ /* Private macro -------------------------------------------------------------*/ /* Private variables ---------------------------------------------------------*/ Serial pc(SERIAL_TX, SERIAL_RX); uint8_t RemoteIP[] = {MBED_CONF_APP_SERVER_IP_1,MBED_CONF_APP_SERVER_IP_2,MBED_CONF_APP_SERVER_IP_3, MBED_CONF_APP_SERVER_IP_4}; uint8_t RxData [500]; char* modulename; uint8_t TxData[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x8D, 0x5C, 0x1E, 0x3B, 0x75, 0x40, 0x8D, 0x5C, 0x1E, 0x3B, 0x75, 0x40, 0x8D, 0x5C, 0x1E, 0x3B, 0x75, 0x40, 0x8D, 0x5C, 0x1E, 0x3B, 0x75, 0x40, 0x8D, 0x5C, 0x1E, 0x3B, 0x75, 0x40, 0x8D, 0x5C, 0x1E, 0x3B, 0x75, 0x40, 0x8D, 0x5C, 0x1E, 0x3B, 0x75, 0x40, 0x8D, 0x5C, 0x1E, 0x3B, 0x75, 0x40, 0x8D, 0x5C, 0x1E, 0x3B, 0x75, 0x40, 0x8D, 0x5C, 0x1E, 0x3B, 0x75, 0x40, 0x8D, 0x5C, 0x1E, 0x3B, 0x75, 0x40, 0x8D, 0x5C, 0x1E, 0x3B, 0x75, 0x40, 0x8D, 0x5C, 0x1E, 0x3B, 0x75, 0x40, 0x8D, 0x5C, 0x1E, 0x3B, 0x75, 0x40, 0x8D, 0x5C, 0x1E, 0x3B, 0x75, 0x40, 0x8D, 0x5C, 0x1E, 0x3B, 0x75}; uint16_t RxLen; uint8_t MAC_Addr[6]; uint8_t IP_Addr[4]; int main() { int32_t Socket = -1; uint16_t Datalen; uint16_t Trials = CONNECTION_TRIAL_MAX; pc.baud(115200); /*Initialize WIFI module */ if(WIFI_Init() == WIFI_STATUS_OK) { printf("> WIFI Module Initialized.\n"); if(WIFI_GetMAC_Address(MAC_Addr) == WIFI_STATUS_OK) { printf("> es-wifi module MAC Address : %X:%X:%X:%X:%X:%X\n", MAC_Addr[0], MAC_Addr[1], MAC_Addr[2], MAC_Addr[3], MAC_Addr[4], MAC_Addr[5]); } else { printf("> ERROR : CANNOT get MAC address\n"); } if( WIFI_Connect(MBED_CONF_APP_WIFI_SSID, MBED_CONF_APP_WIFI_PASSWORD, WIFI_ECN_WPA2_PSK) == WIFI_STATUS_OK) { printf("> es-wifi module connected \n"); if(WIFI_GetIP_Address(IP_Addr) == WIFI_STATUS_OK) { printf("> es-wifi module got IP Address : %d.%d.%d.%d\n", IP_Addr[0], IP_Addr[1], IP_Addr[2], IP_Addr[3]); printf("> Trying to connect to Server: %d.%d.%d.%d:8002 ...\n", RemoteIP[0], RemoteIP[1], RemoteIP[2], RemoteIP[3]); if( WIFI_OpenClientConnection(0, WIFI_UDP_PROTOCOL, "UDP_WOL", RemoteIP, 8002, 0) == WIFI_STATUS_OK){ printf("> UDP configured successfully.\n"); Socket = 0; } } else { printf("> ERROR : es-wifi module CANNOT get IP address\n"); } } else { printf("> ERROR : es-wifi module NOT connected\n"); } } else { printf("> ERROR : WIFI Module cannot be initialized.\n"); } if(WIFI_SendData(Socket, TxData, sizeof(TxData), &Datalen, WIFI_WRITE_TIMEOUT) != WIFI_STATUS_OK) { printf("> ERROR : Failed to send Data.\n"); } else { printf("> WOL packet sent\n"); } }