IoT with AWS
What is IoT
The Internet of Things is the concept of everyday objects from industrial machines to wearable devices using built-in sensors to gather data and take action on that data across a network. Each thing is uniquely identifiable through its embedded computing system but is able to inter-operate within the existing Internet infrastructure.
The IoT allows objects to be sensed or controlled remotely across existing network infrastructure, creating opportunities for more direct integration of the physical world into computer-based systems, and resulting in improved efficiency, accuracy and economic benefit in addition to reduced human intervention.
History of the Internet of Things
We’ve been fascinated with gadgets that function on a grander scale for decades – but it’s only been in the past several years that we’ve seen the IoT’s true potential. The concept evolved as wireless Internet became more pervasive, embedded sensors grew in sophistication and people began understanding that technology could be a personal tool as well as a professional one.
The term “Internet of Things” was coined in the late 1990s by entrepreneur Kevin Ashton. Ashton, who’s one of the founders of the Auto-ID Center at MIT, was part of a team that discovered how to link objects to the Internet through an RFID tag. He said he first used the phrase “Internet of Things” in a presentation he made in 1999 – and the term has stuck around ever since.
Why is the Internet of Things important?
Internet of Things can connect embedded devices in various systems to the internet. When devices/objects can represent themselves digitally, they can be controlled from anywhere. The connectivity then helps us capture more data from more places, ensuring more ways of increasing efficiency and improving safety and IoT security. IoT is a transformational force that can help companies improve performance through IoT analytics and IoT Security to deliver better results.
You might be surprised to learn how many things are connected to the Internet, and how much economic benefit we can derive from analyzing the resulting data streams. One IoT device connects to another to transmit information using Internet transfer protocols. IoT platforms serve as the bridge between the devices’ sensors and the data networks.
Fig 1:- Connectivity of Internet of Things
AWS IoT provides secure, bi-directional communication between Internet-connected things (devices such as sensors, actuators, embedded micro-controllers, or smart appliances) and the AWS cloud. This enables you to collect telemetry data from multiple things, and store and analyze the data. You can also create applications that enable your users to control these devices from their phones or tablets.
Fig 2:- AWS Cloud Architecture
Accessing AWS IoT
AWS IoT provides the following interfaces to create and interact with your things:
- AWS Command Line Interface (AWS CLI)-Run commands for AWS IoT on Windows, OS X, and Linux. These commands allow you to create and manage things, certificates, rules, and policies. To get started, see the AWS Command Line Interface User Guide.
- AWS IoT API – Build your IoT applications using HTTP or HTTPS requests. These API allow you to programmatically create and manage things, certificates, rules, and policies.
- AWS SDKs – Build your IoT applications using language-specific APIs. These SDKs wrap the HTTP/HTTPS API and allow you to program in any of the supported languages.
- AWS IoT Device SDKs – Build applications that run on your devices that send messages to and receive messages from AWS IoT.
Security and Identity for AWS IoT
Each connected device must have a credential to access the message broker or the Thing Shadows service. All traffic to and from AWS IoT must be encrypted over Transport Layer Security (TLS). Device credentials must be kept safe in order to send data securely to the message broker. AWS cloud security mechanisms protect data as it moves between AWS IoT and other devices or AWS services.
Fig 3:- AWS Security mechanism
How AWS IoT Works
AWS IoT enables Internet-connected things to connect to the AWS cloud and lets applications in the cloud interact with Internet-connected things. Common IoT applications either collect and process telemetry from devices or enable users to control a device remotely.
Things report their state by publishing messages, in JSON format, on MQTT topics. Each MQTT topic has a hierarchical name that identifies the thing whose state is being updated. When a message is published on an MQTT topic, the message is sent to the AWS IoT MQTT message broker, which is responsible for sending all messages published on an MQTT topic to all clients subscribed to that topic.
Communication between a thing and AWS IoT is protected through the use of X.509 certificates. AWS IoT can generate a certificate for you or you can use your own. In either case, the certificate must be registered and activated with AWS IoT, and then copied onto your thing. When your thing communicates with AWS IoT, it presents the certificate to AWS IoT as a credential.
Fig 4:- Communication hierarchy of AWS
Each thing has a thing shadow that stores and retrieves state information. Each item in the state information has two entries: the state last reported by the thing and the desired state requested by an application. An application can request the current state information for a thing. The shadow responds to the request by providing a JSON document with the state information (both reported and desired), metadata, and a version number. An application can control a thing by requesting a change in its state. The shadow accepts the state change request, updates its state information, and sends a message to indicate the state information has been updated. The thing receives the message, changes its state, and then reports its new state.
For more information you may logon to www.ismuniv.com , ISM UNIV is the best Embedded Systems and IoT Training Institute in Bangalore India, for any training requirements on Internet of Things do contact us.
Author – GUNASEKAR S