989
Dependencies: mbed Servo X_NUCLEO_IKS01A2 X_NUCLEO_IDW01M1v2 NetworkSocketAPI NDefLib MQTT
main.cpp
- Committer:
- mridup
- Date:
- 2016-04-14
- Revision:
- 4:1ed7f173eec5
- Parent:
- 3:dfb8c6c8c31b
- Child:
- 5:e913a401b174
File content as of revision 4:1ed7f173eec5:
#include "mbed.h" #include "SPWFInterface.h" #include "TCPSocket.h" //------------------------------------ // Hyperterminal configuration // 9600 bauds, 8-bit data, no parity //------------------------------------ Serial pc(SERIAL_TX, SERIAL_RX); DigitalOut myled(LED1); SpwfSAInterface *spwf; TCPSocket *tcp_; int main() { int32_t err; char * ssid = "STM"; char * seckey = "STMdemoPWD"; char * hostname = "192.168.1.5"; char * data = "Hello World!\r\n"; uint32_t len = strlen(data); pc.printf("\r\nX-NUCLEO-IDW01M1 mbed Application\r\n"); spwf = createSPWFInstance(); tcp_ = new TCPSocket(spwf); err = spwf->init(); if(err!=0) { pc.printf("\r\n[APP] error initializing.\r\n"); return -1; } pc.printf("\r\n[APP] connecting to AP\r\n"); err = spwf->connect(ssid, seckey, NS_SECURITY_WPA); if(err!=0) { pc.printf("\r\n[APP] error connecting to AP.\r\n"); return -1; } pc.printf("\r\n[APP] now connected\r\n"); const char *ip = spwf->getIPAddress(); const char *mac = spwf->getMACAddress(); pc.printf("\r\n[APP] IP Address is: %s\r\n", (ip) ? ip : "No IP"); pc.printf("\r\n[APP] MAC Address is: %s\r\n", (mac) ? mac : "No MAC"); pc.printf("\r\n[APP] opening socket\r\n"); //err = tcp_->open((const char *)hostname, 32000); err = tcp_->open("time-d.nist.gov", 37); if(err==0) { pc.printf("\r\n[APP] socket open OK\r\n"); pc.printf("\r\n[APP] hostname resolved to: %s\r\n", tcp_->getIPAddress()); err = tcp_->send(data, len); if(err == 0) pc.printf("\r\n[APP] socket send OK\r\n"); else pc.printf("\r\n[APP] socket send error\r\n"); char received[4]; int32_t size = 0; pc.printf("\r\n[APP] waiting for data recv\r\n"); size = tcp_->recv(received, sizeof(received)); if(size==0) pc.printf("\r\n[APP] Receive error."); else pc.printf("\r\n[APP] Received: %ld bytes, 0x%02x 0x%02x 0x%02x 0x%02x\r\n", size, received[0], received[1], received[2], received[3]); } else pc.printf("\r\n[APP] socket open Error\r\n"); while(1) { wait(1); myled = !myled; } }