An example program using NucleoL476RG with X-Nucleo-IDW01M1 wifi shield to sends analog data to Ubidots IoT Provider
Dependencies: NetworkSocketAPI X_NUCLEO_IDW01M1v2 mbed
Fork of TLS_HelloWorld_IDW01M1 by
Complete tutorial at https://www.hackster.io/rreicher/nucleol476rg-to-ubidots-00d173
Diff: main.cpp
- Revision:
- 0:dee849b0e6e6
- Child:
- 1:daf71fa3674c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Fri Jul 08 06:28:58 2016 +0000 @@ -0,0 +1,94 @@ +/* SpwfInterface 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 "TCPSocket.h" + +//------------------------------------ +// Hyperterminal configuration +// 9600 bauds, 8-bit data, no parity +//------------------------------------ + +Serial pc(SERIAL_TX, SERIAL_RX); +DigitalOut myled(LED1); +SpwfSAInterface spwf(PA_9, PA_10, false); + +int main() { + int err; + char * ssid = "STM"; + char * seckey = "STMdemoPWD"; + + pc.printf("\r\nX-NUCLEO-IDW01M1 mbed Application\r\n"); + pc.printf("\r\nconnecting to AP\r\n"); + + if(spwf.connect(ssid, seckey, NSAPI_SECURITY_WPA2)) { + pc.printf("\r\nnow connected\r\n"); + } else { + pc.printf("\r\nerror connecting to AP.\r\n"); + return -1; + } + + const char *ip = spwf.get_ip_address(); + const char *mac = spwf.get_mac_address(); + + pc.printf("\r\nIP Address is: %s\r\n", (ip) ? ip : "No IP"); + pc.printf("\r\nMAC Address is: %s\r\n", (mac) ? mac : "No MAC"); + + SocketAddress addr(&spwf, "st.com"); + pc.printf("\r\nst.com resolved to: %s\r\n", addr.get_ip_address()); + + pc.printf("\r\nconnecting to http://time-d.nist.gov\r\n"); + + TCPSocket socket(&spwf); + //err = socket.connect("192.168.1.6", 32000); + err = socket.connect("4.ifcfg.me", 23);//"4.ifcfg.me", 23;//"time-d.nist.gov", 37 + if(err!=0) + { + pc.printf("\r\nCould not connect to Socket, err = %d!!\r\n", err); + return -1; + } else pc.printf("\r\nconnected to host server\r\n"); + + //char * str = "test"; + //socket.send(str, strlen(str)); + +#if 1 + char buffer[64]; + int count = 0; + pc.printf("\r\nReceiving Data\r\n"); + count = socket.recv(buffer, sizeof buffer); + + if(count > 0) + { + printf("public IP address is: %s\r\n", &buffer[15]); + //pc.printf("\r\nReceived: %ld bytes, 0x%02x 0x%02x 0x%02x 0x%02x\r\n", \ + // count, buffer[0], buffer[1], buffer[2], buffer[3]); + } + else pc.printf("\r\nData not received\r\n"); + + //pc.printf("\r\nClosing Socket\r\n"); + // socket.close(); + + //pc.printf("\r\ndisconnecting....\r\n"); + //spwf.disconnect(); + //pc.printf("\r\nTest complete.\r\n"); +#endif + + while(1) { + wait(1); + myled = !myled; + } +}