“The ability to connect, communicate with, and remotely manage an incalculable number of networked, automated devices via the Internet is becoming pervasive, from the commercial kitchen to the residential basement room to the arm of the fitness buff.” – WSO 2 In this report, we will investigate procedures and technologies used in IoT. A variety of cloud platforms will be described to demonstrate its strengths and usage on IoT applications.
OVERVIEW OF THE BIG THREE’S IOT CLOUD SERVICES
Sometimes, WiFi can be scarce-I’m sure we’ve all experienced this. Having the support of telecommunication networks in the IoT stack can be valuable, especially if your IoT application is deployed in a less urban area. A mobile virtual network operator (MVNO) allows the use of any nearby radio towers for your devices’ internet connectivity, doesn’t matter if it’s AT&T, Verizon, or T-Mobile’s radio tower.
HELLO WORLD EXAMPLE
IoT and cloud platforms sound very abstract from a high level since the components appear to be very complex. A small example has been put together to demonstrate a simple IoT application, to depict some of the computational capabilities of a cloud platform connected to an external device. For this example, Amazon Web Services (AWS) was chosen as the cloud platform.
In IoT, there is a big emphasis on the idea of topics. Topics consist of publishers and subscribers. A certain subscriber sends a message (publishes) to a topic, and any devices listening, or rather subscribed, to that topic will receive the message sent by the publisher. This is the main concept of the MQTT protocol, in which a publisher sends a message to a broker, which handles the incoming messages, and delivers them to the appropriate recipients Below is a good representation of this idea.
LIBRARY TRACKING APPLICATION
The code in Appendix 7 will have to be merged into Appendix 8 to sections 1 and 2 described by figure 12. Whatever client is subscribed to this raw DataTopic should be expecting a message to be in this format. The message will be handled by a Lambda function on the cloud subscribed to this topic. It will use this message to store into a database.
These are just some concepts that can be applied within IoT by using a Raspberry Pi, Amazon Web Services and the Serverless framework. From this application described here are the services by AWS that were touched on:
1) Lambda: Code on the cloud
2) Simple Notification System (SNS): Delivering messages to devices subscribed to a topic.
3) DynamoDB: A NoSQL database, for fast deployment of a database.
4) API Gateway: A way for web/phone applications to request specific information from the cloud.
5) AWS IoT: Establish connection between external devices (i.e. microcontrollers) to the cloud.
6) Machine Learning: Create models about a particular dataset, and make predictions on sets of values. Predicting the future!
But there are more that can be easily incorporated to an application:
1) Elastic Compute Cloud (EC2): Provides scalable computing capacity in the cloud. Think powerful servers!
2) Simple Storage Service (S3): Provides storage for web applications. Storing and retrieving files on the cloud!
3) CodePipeline: Helpful to send updates and new code deployment to devices across the cloud. No need to update device one by one!
4) Redshift: SQL version database in AWS. Data Warehouse that is easy to configure and cost effective.
Authors: Steven Han | Rafael Lopez