Demo application for using the AT&T IoT Starter Kit Powered by AWS.
Dependencies: SDFileSystem
Fork of ATT_AWS_IoT_demo by
IoT Starter Kit Powered by AWS Demo
This program demonstrates the AT&T IoT Starter Kit sending data directly into AWS IoT. It's explained and used in the Getting Started with the IoT Starter Kit Powered by AWS on starterkit.att.com.
What's required
- AT&T IoT LTE Add-on (also known as the Cellular Shield)
- NXP K64F - for programming
- microSD card - used to store your AWS security credentials
- AWS account
- Python, locally installed
If you don't already have an IoT Starter Kit, you can purchase a kit here. The IoT Starter Kit Powered by AWS includes the LTE cellular shield, K64F, and a microSD card.
Diff: WNCInterface/WNCSocket/WNCUDPSocket.h
- Revision:
- 15:6f2798e45099
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/WNCInterface/WNCSocket/WNCUDPSocket.h Thu Dec 01 18:05:38 2016 +0000 @@ -0,0 +1,78 @@ +/* ===================================================================== + Copyright © 2016, Avnet (R) + + Contributors: + * James M Flynn, www.em.avnet.com + + 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. + + @file WNCInterface.cpp + @version 1.0 + @date Sept 2016 + +======================================================================== */ + + +#ifndef WNCUDPSOCKET_H +#define WNCUDPSOCKET_H + +#include "WNCSocket.h" +#include "WNCEndpoint.h" + +/** +UDP WNCSocket +*/ +class WNCUDPSocket : public WNCSocket, public WNCInterface { + +public: + WNCUDPSocket(); + ~WNCUDPSocket(); + + int init(void); + + /** sendTo - send data to the remote host. + \param remote, a pointer to the endpoint (class) + \param packet, pointer to the buffer to send to the host. + \param length The length of the buffer to send. + \return the number of written bytes on success (>=0) or -1 on failure + */ + int sendTo(WNCEndpoint &remote, char *packet, int length); + + /** receiveFrom - receive data from the remote host. + \param remote, a pointer to the endpoint (class) + \param packet, The buffer in which to store the data received from the host. + \param length The maximum length of the buffer. + \return the number of received bytes on success (>=0) or -1 on failure + */ + int receiveFrom(WNCEndpoint &remote, char *buffer, int length); + + /** Set blocking or non-blocking mode of the socket and a timeout + \param blocking true for blocking mode, false for non-blocking mode. + \return none. + */ + void set_blocking (bool blocking, unsigned int timeout=1500); + + /** Close the socket + \param none + \return 0 if closed successfully, -1 on failure + */ + int close(void); + +private: + bool _is_blocking; + unsigned int _btimeout; +}; + +#endif + +