(Illustration: Let’s build some things! Image source: Image by Jorge Ramirez from Unsplash。)
Briefing
AWS IoT Big Picture
If your devices can connect to AWS IoT, AWS IoT can connect them to the cloud services that AWS provides:
AWS IoT Core Protocols
AWS IoT Core supports these protocols:
- MQTT (Message Queuing and Telemetry Transport)
- MQTT over WSS (Websockets Secure)
- HTTPS (Hypertext Transfer Protocol - Secure)
- LoRaWAN (Long Range Wide Area Network)
AWS IoT Implementation Interfaces
AWS IoT provides the following interfaces to implement on your IoT devices:
- AWS IoT Device SDKs
- AWS IoT Core for LoRaWAN
- AWS Command Line Interface (AWS CLI)
- AWS IoT API
- AWS SDKs
Simpler Solution
If you don’t require AWS IoT features such as device communications, rules, or jobs, see AWS Messaging for information about other AWS IoT messaging services that might better fit your requirements.
History
From ancient to modern times. Get through all the context.
- 2019-11-25: Introducing Alexa Voice Service Integration for AWS IoT Core, a new way to cost-effectively bring Alexa Voice to any type of connected device
- 2020-12-16: Introducing AWS IoT Core for LoRaWAN
Terms
Here is a list of nouns that appear on the scene, and the full name of the original text, noun definition and source are noted.
The IoT universe
Apps
- Apps give end users access to IoT devices and the features provided by the cloud services to which those devices are connected.
Cloud services
- Cloud services are distributed, large-scale data storage and processing services that are connected to the internet. Examples:
- IoT connection and management services. e.g. AWS IoT is an example of an IoT connection and management service.
- Compute services, e.g. Amazon Elastic Compute Cloud (Amazon ECS) and AWS Lambda.
- Database services, e.g. Amazon DynamoDB
Communications
- Between devices and cloud services.
- Devices communicate with cloud services by using various technologies and protocols. Examples:
- Wi-Fi/Broadband internet
- Broadband cellular data
- Narrow-band cellular data
- Long-range Wide Area Network (LoRaWAN)
- Proprietary RF communications
Devices
- A device is a type of hardware that manages interfaces and communications.
- Devices are usually located in close proximity to the real-world interfaces they monitor and control.
- Devices can include computing and storage resources, such as microcontrollers, CPU, memory.
- Examples:
- Raspberry Pi
- Arduino
- Voice-interface assistants
- LoRaWAN and devices
- Amazon Sidewalk devices
- Custom IoT devices
Interfaces
- Between devices and the physical world.
- An interface is a component that connects a device to the physical world.
- Examples:
- User interfaces
- Input interfaces
- Examples: keypad, button
- Output interfaces
- Examples: Alpha-numeric display, graphical display, indicator light, alarm bell
- Input interfaces
- Sensors
- Input components that measure or sense something in the outside world in a way that a device understands. Examples:
- Temperature sensor (converts temperature to an analog voltage)
- Camera (converts image data to digital data)
- Input components that measure or sense something in the outside world in a way that a device understands. Examples:
- Actuators
- Output components that the device can use to control something in the outside world. Examples:
- Stepper motors (convert electric signals to movement)
- Relays (control high electric voltages and currents)
- Output components that the device can use to control something in the outside world. Examples:
- User interfaces
AWS IoT Services
AWS IoT services covers three parts:
- Device software
- Data services
- Control services
(I will follow my groundrules within this note to put the physical world on the left-hand side, and cloud on the right-hand side.)
AWS IoT device software
- AWS IoT Greengrass
- FreeRTOS
- AWS IoT Device Tester
- AWS IoT Device Tester for FreeRTOS and AWS IoT Greengrass
- A test automation tool for microcontrollers.
- Test your device to determine if it will run FreeRTOS or AWS IoT Greengrass and interoperate with AWS IoT services.
- AWS IoT Device SDKs
AWS IoT control services
- AWS IoT Core
- AWS IoT Core is a managed cloud service that enables connected devices to securely interact with cloud applications and other devices.
- With AWS IoT Core, your applications can interact with all of your devices even when they aren’t connected.
- AWS IoT Device Management
- AWS IoT Device Management services help you track, monitor, and manage the plethora of connected devices that make up your devices fleets.
- provide secure tunneling to access your devices, monitor their health, detect and remotely troubleshoot problems, as well as services to manage device software and firmware updates.
- AWS IoT Device Defender
- AWS IoT Things Graph
AWS IoT data services
- AWS IoT Analytics
- AWS IoT SiteWise
- AWS IoT SiteWise collects, stores, organizes, and monitors data passed from industrial equipment by MQTT messages or APIs at scale by providing software that runs on a gateway in your facilities.
- AWS IoT Events
- AWS IoT Events detects and responds to events from IoT sensors and applications.
AWS IoT Core services
AWS IoT Core messaging services
- Device gateway
- Enables devices to securely and efficiently communicate with AWS IoT by using X.509 certificates.
- Message broker
- AWS IoT Core for LoRaWAN
- Rules engine
AWS IoT Core control services
- Custom Authentication service
- Custom authorizers can implement various authentication strategies; for example, JSON Web Token verification or OAuth provider callout. They must return policy documents that are used by the device gateway to authorize MQTT operations.
- Device Provisioning service
- Group registry
- Jobs service
- Registry
- Security and Identity service
AWS IoT Core data services
- Device shadow
- A JSON document used to store and retrieve current state information for a device.
- Device Shadow service
AWS IoT Core support service
Use Cases
- IoT for the Edge
- Fleet Management
- Edge Computing
- Machine Learning
- Industrial IoT
- Predictive Quality
- Asset Condition Monitoring
- Predictive Maintenance
- IoT for Connected Homes
- Home Automation & Voice Enablement
- Home Security & Monitoring
- Home Network Management
Reference
Docs
Getting Started
- Try the AWS IoT Core interactive demo
- Open your AWS IoT console and from the left menu, choose Learn.
Articles & Talks
- Provisioning with a bootstrap certificate in AWS IoT Core, 2019-06-13, by Rahul Sareen and John Rotach