![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
INSAT_MiniPRoject
Dependencies: MQTT NDefLib NetworkSocketAPI Servo Light_Sensor_Nucleo X_NUCLEO_IDW01M1v2 mbed
Fork of IDW01M1_Cloud_IBM by
Diff: main.cpp
- Revision:
- 4:1ed7f173eec5
- Parent:
- 3:dfb8c6c8c31b
- Child:
- 5:e913a401b174
diff -r dfb8c6c8c31b -r 1ed7f173eec5 main.cpp --- a/main.cpp Thu Apr 14 06:20:36 2016 +0000 +++ b/main.cpp Thu Apr 14 06:35:46 2016 +0000 @@ -1,22 +1,6 @@ -/* NetworkSocketAPI Example Program - * Copyright (c) 2015 ARM Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - #include "mbed.h" #include "SPWFInterface.h" -#include "NSAPITests.h" +#include "TCPSocket.h" //------------------------------------ // Hyperterminal configuration @@ -24,39 +8,80 @@ //------------------------------------ Serial pc(SERIAL_TX, SERIAL_RX); + DigitalOut myled(LED1); + SpwfSAInterface *spwf; - -int main() -{ - int32_t err; +TCPSocket *tcp_; + +int main() { + int32_t err; char * ssid = "STM"; char * seckey = "STMdemoPWD"; - - pc.printf("\r\nSpwf Interface NSAPI Tests\r\n"); - + 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\nerror initializing.\r\n"); + pc.printf("\r\n[APP] error initializing.\r\n"); return -1; } - - pc.printf("\r\nconnecting to AP\r\n"); + + pc.printf("\r\n[APP] connecting to AP\r\n"); err = spwf->connect(ssid, seckey, NS_SECURITY_WPA); - - if (err) { - printf("Interface failed to connect with code %d\r\n", err); - } else { - nsapi_tests("SPWF Tests", spwf, "192.168.1.5", 32001); - spwf->disconnect(); + if(err!=0) + { + pc.printf("\r\n[APP] error connecting to AP.\r\n"); + return -1; } - - while(1) - { - wait(1); - myled = !myled; + + 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; } -} \ No newline at end of file +}