The document discusses AWS IoT services for connecting, managing and securing IoT devices, and extracting value from IoT data. It provides overviews of Amazon FreeRTOS for programming microcontrollers, AWS IoT Core for connecting devices, AWS IoT Device Management for managing fleets of devices, AWS IoT Device Defender for security, and AWS IoT Analytics for generating insights.
At AWS, we start our customer engagements for IoT with a simple question:
If you knew the state of every Thing, and you could reason on top of that data - what problems would you solve?
Our mission is to make sure that you can know the state of every thing, of all your devices...
and that you CAN reason on top of that data...
so that you can truly solve your business problems.
These are just a few examples of how AWS IoT is helping a lot of customers solve their business problems.
Predictive maintenance - kemppi, wellness and helath - phillips, product and process optimization - irobot, connected buildings and city - miovision, device fleet mantenance - trimble, energy and efficiency monitor - enel, payment, insurance, connected commerce - LendUp, safeguard manufacturing faciliaties - solarnow
This is what IoT strategies do for our customers. They empower our customers with the intelligence needed to build new services and business models, improve products and services over time, enjoy better relationships with their customers because they’re able to understand their needs, their business operations become more efficient, they make intelligent decisions faster, and, over time, they develop a data driven discipline. All of these advantages lead to revenue growth and greater operational efficiency.
Because IoT solutions can be complex and multidimensional, we’ve removed the complexity of implementing IoT into the business. We help our customers securely connect any number of devices to the cloud, provide the infrastructure to scale as needed so they can gain insight into their IoT data, build IoT applications and services that better serve their customers and help move their business towards IoT as our customers trust our culture of innovation. In fact, customers ask us how they, too, can build that culture of innovation.
Vast majority of devices are based on microcontrollers, but they have almost no power for compute or storage. How can you make these all connect?
Find a stat that’s interesting?
Starting with the choice of a memory-optimized embedded operating system.
You need to understand
Will the code work with the chip you chose?
Will it have all the necessary functionality, and if not how to expand it
Where will you get the kernel code and where will you get add. functionality if needed?
Very often, you don’t even know how to start
So we wanted to find a way to help customers with these types of low power devices.
And I am very proud to introduce Amazon FreeRTOS, an operating systems to make it easier for devices to use the cloud.
Amazon FreeRTOS is an IoT connected operating system for microcontroller-based edge devices. To get FreeRTOS for your devices, you just go to the Amazon FreeRTOS console to download Amazon FreeRTOS for your chipset. We already have a range of supported microcontrollers from companies like Texas Instruments, NXP Semiconductors, STMicroelectronics, and soon Microchip who have chipsets that are listed in the console.
It comes with sample code to get you started quickly with the cloud to let your device subscribe to a topic, receive messages and act on them.
------------------
(The hello world demo subscribes to a topic, then publishes the string “hello world” to the same topic so it receives an echo of the string back. When it receives the echo it replies with “hello world ACK”. Then it does the same ever five seconds for a minute.)
OCW, Github, SorceForge, FreeRTOS.org, qualified partner
Amazon FreeRTOS is based on the FreeRTOS kernel, the market leading real time operating system for microcontrollers. And we are very honored that Richard Barry, who invented FreeRTOS 15 years ago has joined AWS as the Principle Engineer working on Amazon FreeRTOS.
Amazon FreeRTOS extends the FreeRTOS kernel with software libraries that make it easy to securely connect your small, low-power devices to more powerful edge devices and gateways running AWS Greengrasst or to AWS cloud services like AWS IoT Core. It provides everything you need to easily program connected microcontroller-based devices, collect data from them to send to AWS IoT for analysis and action, and scale IoT applications across millions of devices.
Amazon FreeRTOS provides convenient APIs that make it easy to connect to AWS Greengrass devices. If the Greengrass Core device loses connection to the cloud, a:FreeRTOS devices in the Greengrass Group can continue to communicate with each other over the local network, so your applications continue to run even with intermittent connectivity.
Amazon FreeRTOS helps keep edge devices secure with security credentials and key management and it also keeps your data secure with transport layer encryption.
We are also working on a fully integrated firmware update service for Amazon FreeRTOS with integrated code-signing, that we will make available soon.
AWS IoT Greengrass extends AWS onto your devices, so they can act locally on the data they generate, while still taking advantage of the cloud.
With IoT Greengrass, you don’t have to send your data to a distant cloud, data is stored locally which saves you time in cases when milliseconds matter. Also, you have a choice of sending only the data you need to the cloud which lowers costs.
IoT Greengrass enabled devices continue to route local messages when data needs to stay local for data sovereignty laws ensuring that data is secure and kept local.
IoT Greengrass does this using the same security mechanism and encryption used in the cloud with AWS IoT, and it’s updateable so you get access to new features and security enhancements in the future.
AWS IoT Greengrass embeds local Lambda compute, local messaging, local device shadows for data and state synchronization as well as security of communication in connected devices. So this is effectively a software capability (runtime) that embeds in devices, and it allows you to have Lambda inside those devices, so you have the flexibility in the compute and the events that trigger it.
OTA makes it easier to install updated versions of IoT Greengrass Core in order to get access to new features, bug fixes and security enhancements. IoT Greengrass OTA is built on top of AWS IoT Device Management, which customers can use to trigger their devices to receive an update "job". On top, we added a software agent that downloads and applies the update (and rolls back the update if it encounters an error along the way). Technicolor can now use IoT Greengrass OTA to install future version of IoT Greengrass Core on its gateways already installed in customer homes.
LRA (Local Resource Access) lets IoT Greengrass Lambda functions interact with hardware capabilities of the device that hosts IoT Greengrass Core. Local resources can be a) physical devices, peripherals and hardware components (eg. camera, serial bus, HW accelerators) or b) storage volumes in the local file system (eg. a file or folder).
Greengrass ML Inference brings machine learning to the edge.
Device Software
Control Services
Data Services
Our cloud-based service AWS IoT Core forms the backbone for IoT deployments to securely connect all your devices and handle their data at scale. AWS IoT Core allows you to securely connect devices to the AWS cloud and with each other.
Allows you to route, process, and act on the data and messages coming from those devices
The components of AWS IoT include:
The Identity Service providing authentication and authorization
a Device Gateway to securely connects devices to the AWS cloud and other devices at scale.
a Message Broker processes and routes data messages to the cloud
a Rules Engine that trigger actions on your devices
a Device Shadow that enables applications to interact with devices even when they are offline
and a Registry that enable automatic device registration
Onboarding a few devices is easy, doing so for millions and keeping your distributed device fleets healthy is much more complicated. That’s why we provide AWS IoT Device Management
· It Helps you onboard new device types and provision them in bulk,
· It maintains a catalog of device information and configuration, like serial numbers and policies. It also indexes dynamic state information such as temperature or RPM.
You can then query devices based on both static attributes including firmware version as well as dynamic state such as temperature in quasi real-time.
AWS IoT Device Management monitors your devices to diagnose and troubleshoot issues and then allows you to remotely perform over-the-air updates to your entire fleet, sub-fleet, or individual devices.
IoT Device Management makes maintaining your fleet health easy.
IoT Device Management helps you onboard new device types and then provision them in bulk. For example, with IoT Device Management you can onboard whole fleets of smart lightbulbs installed across multiple locations.
Its Fleet Index maintains an inventory of device information and configuration, including metadata such as manufacturer, serial number, policies, and identity. It also indexes dynamic state information of the devices such as temperature or RPM. You can then query devices based on both static attributes such firmware version as well as dynamic state such as temperature in quasi real-time.
You can monitor them to quickly diagnose and troubleshoot any issues with your devices with metrics for connectivity, telemetry, authentication, rules and shadows.
IoT Device Management also lets you remotely manage devices deployed across many locations and update device software over-the-air (OTA). You can do firmware updates on the entire fleet, sub-fleet, or individual device.
In August 2018, we launched the AWS IoT Device Defender service that helps customers
· IoT resources associated with their devices
· It also monitors your device fleet for abnormal behavior that might indicate a potential security issue and
it alerts you if something doesn’t look right, like traffic from devices to an unauthorized IP address or spikes in outbound traffic that might indicate that a device is participating in a DDoS attack.
· And finally through its integration with IoT device management, IoT Device defender lets you take corrective actions to keep your devices secure
AWS IoT Device Defender keeps your fleet secure.
First, it continuously audits the IoT resources associated with your devices to make sure that they aren’t deviating from security best practices and alerts you if something looks like it isn’t compliant. For example, one best practice is not to share certificates across devices. Let’s say during provisioning of additional devices, someone reuses a certificate – this will be flagged and you will get an alert. IoT Device Defender comes with 10 security best practices that you can select and run as part of the audit, and you can add you own as well.
The second thing IoT Device Defender does is monitor your device fleet for abnormal behavior that might indicate a potential security issue. IoT Device Defender lets you define the expected device behavior for different sets of metrics. Then it monitors the device fleet and alerts you if something doesn’t look right. For example, IoT Device Defender lets you define what ports should be open on the device, who the device can talk too, and how much data it sends or receives. Then it monitors the device traffic and alerts you if something looks wrong, like traffic from devices to an unauthorized IP address or traffic spikes in outbound traffic that might indicate that a device is participating in a DDoS,.
Lastly, through its integration with IoT Device Management, IoT Device Defender lets you take corrective action like re-booting a device, updating its firmware, or revoking its permissions (via change of policy.)
AWS IoT works great for ingesting the massive amount of IoT data customers need to process. However, IoT data is challenging to analyze because it isn’t the highly structured data normally processed by analytics tools designed for business intelligence and web analytics.
Instead, IoT data comes from sensors attached to moving machinery that has intermittent connections, or controllers with poor wifi or wireless coverage, or lots of other places where signals get lost or weakened. The data from these devices can frequently have significant gaps, corrupted messages, and false readings. Also, IoT data is often only meaningful in the context of other data from external sources. For example, to determine when to water their crops, farmers need to enrich humidity sensor data with expected rainfall at the field.
The noisiness of real-world IoT data, combined with the need to enrich the incoming data with time, location, and other relevant information creates a challenge for application developers. To make their applications perform well they frequently need to design custom logic to clean false readings, fill gaps in the data, and enrich it with contextual information.
They also need to store the process data appropriately before they can even begin crunching the data for their application. All of this requires custom code that takes time build, test, and maintain, and adds processing cost to their IoT applications.
When we looked into it we found that there are a lot of common data management and analytics tasks across IoT applications, including processing and enriching data, provisioning and partitioning databases, and writing complex queries that need to be constantly updated as devices evolve, fleet sizes change, and new analytics requirement emerge.
There are a few companies out there today, like C3IoT, that can provide really sophisticated analytics, but lots of our customers asked if we could provide the basics for them so they could quickly store and understand their data and then they could keep adding more and more sophistication from there. We wanted to make this easier for them. We have AWS IoT Analytics, an analytics service for IoT data at scale.
IoT Analytics is a fully managed analytics service to easily analyze IoT data.
First, you define an IoT Analytics Channel and select the data you want to collect so you only store and analyze the data of interest, such as sensor temperature. IoT Analytics automatically captures and stores the message timestamp and device id with the data from the device so it is easy to perform time series analytics. IoT Analytics can also enrich the device data with IoT-specific metadata such as device type and location from the AWS IoT Device Registry and other public data sources.
Once the Channel is set up, you configure IoT Analytics Pipelines to process your data. IoT Analytics Pipelines support transformations like Celsius to Fahrenheit conversion, conditional statements, message filtering, and message enrichment using external data sources and AWS Lambda functions.
After processing the data in the Pipeline, IoT Analytics stores it in an IoT-optimized data store for analysis. You can store the processed data and the raw data in case you want to go back later and perform different processing on the raw data.
Once your data is stored in IoT Analytics, you can query the data using the built-in IoT Analytics SQL query engine to answer specific business questions. IoT Analytics also supports more sophisticated analytics via Juptyer Notebooks, like statistical inference for example, so you can get business insights such as understanding the performance of devices, predicting device failures, and time-series analysis.
Last, it is easy to build visualizations and dashboards and get business insights quickly from your IoT Analytics data using Amazon QuickSight.
-------------
IoT Analytics also does a statistical classification method called logistic regression. You can use it to profile device health and device state and provide this data to your sales and marketing teams to identify opportunities to provide additional device services, up-sell and cross-sell opportunities, and proactively provide replacement or replenishment opportunities.
We also support K-means clustering for device segmentation which allows you to cluster your devices into cohorts of like devices. This can be useful in identifying if device behavior, performance, or usage varies with location or a particular supplier or a certain firmware version, so you can ensure a consistent high quality experience for your customers
IoT Analytics makes it easy to prepare your data for machine learning using pre-built notebooks templates of machine learning models that can be run using Amazon Sagemaker. And, you can follow up ML or any of the statistical methods with scoring algorithms that convert the ML output (such as an array of anomalies) into a score for device health so you can compare health scores across heterogeneous fleets of devices. So an auto manufacturer can warn a customer if their right brake pad and all 4 tires are scored as unhealthy it’s imperative to get it in the shop, but if just the right brake pad is trending down, you can wait a month.
Now - with the help of AWS IoT - you *can* know the state of every Thing, and reason on top of that data. So, what problems would *you* solve today?