

# What is AWS IoT?


AWS IoT provides the cloud services that connect your IoT devices to other devices and AWS cloud services. AWS IoT provides device software that can help you integrate your IoT devices into AWS IoT-based solutions. If your devices can connect to AWS IoT, AWS IoT can connect them to the cloud services that AWS provides.

For a hands-on introduction to AWS IoT, visit [Getting started with AWS IoT Core tutorials](iot-gs.md).

![\[AWS IoT connects IoT devices to AWS IoT services\]](http://docs.aws.amazon.com/iot/latest/developerguide/images/what-is-aws-iot.png)


With AWS IoT, you can select the most appropriate and up-to-date technologies for your solution. To help you manage and support your IoT devices in the field, AWS IoT Core supports these protocols: 
+ [MQTT (Message Queuing and Telemetry Transport)](mqtt.md)
+ [MQTT over WSS (Websockets Secure)](mqtt.md)
+ [HTTPS (Hypertext Transfer Protocol - Secure)](http.md) 
+ [LoRaWAN (Long Range Wide Area Network)](https://docs.aws.amazon.com/iot-wireless/latest/developerguide/what-is-iot-lorawan.html)

The AWS IoT Core message broker supports devices and clients that use MQTT and MQTT over WSS protocols to publish and subscribe to messages. It also supports devices and clients that use the HTTPS protocol to publish messages.

AWS IoT Core for LoRaWAN helps you connect and manage wireless LoRaWAN (low-power long-range Wide Area Network) devices. AWS IoT Core for LoRaWAN replaces the need for you to develop and operate a LoRaWAN Network Server (LNS).

If you don't require AWS IoT features such as device communications, [rules](iot-rules.md), or [jobs](iot-jobs.md), see [AWS Messaging](https://aws.amazon.com/messaging/) for information about other AWS IoT messaging services that might better fit your requirements.

## How your devices and apps access AWS IoT


AWS IoT provides the following interfaces for [AWS IoT tutorials](iot-tutorials.md):
+ **AWS IoT Device SDKs**—Build applications on your devices that send messages to and receive messages from AWS IoT. For more information, see [AWS IoT Device SDKs, Mobile SDKs, and AWS IoT Device Client](iot-sdks.md).
+ **AWS IoT Core for LoRaWAN**—Connect and manage your long range WAN (LoRaWAN) devices and gateways by using [AWS IoT Core for LoRaWAN](https://docs.aws.amazon.com/iot-wireless/latest/developerguide/what-is-iot-lorawan.html).
+ **AWS Command Line Interface (AWS CLI)**—Run commands for AWS IoT on Windows, macOS, and Linux. These commands allow you to create and manage thing objects, certificates, rules, jobs, and policies. To get started, see the [AWS Command Line Interface User Guide](https://docs.aws.amazon.com/cli/latest/userguide/). For more information about the commands for AWS IoT, see [iot](https://docs.aws.amazon.com/cli/latest/reference/iot/index.html) in the *AWS CLI Command Reference*.
+ **AWS IoT API**—Build your IoT applications using HTTP or HTTPS requests. These API actions allow you to programmatically create and manage thing objects, certificates, rules, and policies. For more information about the API actions for AWS IoT, see [Actions](https://docs.aws.amazon.com//iot/latest/apireference/API_Operations.html) in the *AWS IoT API Reference*.
+ **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. For more information, see [AWS SDKs and Tools](http://aws.amazon.com/tools/#sdk).

You can also access AWS IoT through the [AWS IoT console](https://console.aws.amazon.com/iot/home), which provides a graphical user interface (GUI) through which you can configure and manage the thing objects, certificates, rules, jobs, policies, and other elements of your IoT solutions.

# What AWS IoT can do


This topic describes some of the solutions that you might need that AWS IoT supports.

## IoT in Industry


![\[IoT for industrial applications\]](http://docs.aws.amazon.com/iot/latest/developerguide/images/iot-industrial.png)


These are some examples of AWS IoT solutions for [industrial use cases](https://aws.amazon.com/iot/solutions/industrial-iot/) that apply IoT technologies to improve the performance and productivity of industrial processes.

**Solutions for industrial use cases**
+ 

**[Use AWS IoT to build predictive quality models in industrial operations](https://d1.awsstatic.com/IoT/Predictive%20Quality%20Infographic.pdf)**  
See how AWS IoT can collect and analyze data from industrial operations to build predictive quality models. [Learn more](https://d1.awsstatic.com/IoT/AWS%20Industrial%20-%20Predictive%20Quality%20Reference%20Architecture.pdf)
+ 

**[Use AWS IoT to support predictive maintenance in industrial operations](https://d1.awsstatic.com/IoT/Predictive%20Maintenance%20Infographic.pdf)**  
See how AWS IoT can help plan preventive maintenance to reduce unplanned downtime. [Learn more](https://d1.awsstatic.com/IoT/AWS%20Industrial%20-%20Predictive%20Maintenance%20Reference%20Architecture.pdf)

## IoT in Home automation


![\[IoT for home automation\]](http://docs.aws.amazon.com/iot/latest/developerguide/images/iot-home.png)


These are some examples of AWS IoT solutions for [home automation use cases](https://aws.amazon.com/iot/solutions/connected-home/) that apply IoT technologies to build scalable IoT applications that automate household activities using connected home devices.

**Solutions for home automation**
+ 

**[Use AWS IoT in your connected home](https://pages.awscloud.com/rs/112-TZM-766/images/AWS_Home%20Automation_DES_07.20.18_V4.pdf)**  
See how AWS IoT can provide integrated home automation solutions.
+ 

**[Use AWS IoT to provide home security and monitoring](https://pages.awscloud.com/rs/112-TZM-766/images/AWS_Connected%20Homes_DES_7.20.18_V3.pdf)**  
See how AWS IoT can apply machine learning and edge computing to your home automation solution.

For a list of solutions for industrial, consumer, and commercial use cases, see the [AWS IoT Solution Repository](https://aws.amazon.com/iot/solutions/).

# How AWS IoT works


 AWS IoT provides cloud services and device support that you can use to implement IoT solutions. AWS provides many cloud services to support IoT-based applications. So to help you understand where to start, this section provides a diagram and definition of essential concepts to introduce you to the IoT universe. 

## The IoT universe


In general, the Internet of Things (IoT) consists of the key components shown in this diagram.

![\[The IoT universe\]](http://docs.aws.amazon.com/iot/latest/developerguide/images/iot-universe.png)


### 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 include: 
+ IoT connection and management services 

  *AWS IoT is an example of an IoT connection and management service*.
+ Compute services, such as Amazon Elastic Compute Cloud and AWS Lambda
+ Database services, such as Amazon DynamoDB

### Communications


 Devices communicate with cloud services by using various technologies and protocols. Examples include: 
+ 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 include: 
+ Raspberry Pi
+ Arduino
+ Voice-interface assistants
+ LoRaWAN and devices
+ Amazon Sidewalk devices
+ Custom IoT devices

### Interfaces


 An interface is a component that connects a device to the physical world. 
+ User interfaces

  Components that allow devices and users to communicate with each other.
  + Input interfaces

    Enable a user to communicate with a device

    Examples: keypad, button
  + Output interfaces

    Enable a device to communicate with a user

    Examples: Alpha-numeric display, graphical display, indicator light, alarm bell
+ Sensors

  Input components that measure or sense something in the outside world in a way that a device understands. Examples include:
  + Temperature sensor (converts temperature to an analog or digital signal)
  + Humidity sensor (converts relative humidity to an analog or digital signal)
  + Analog to digital convertor (converts an analog voltage to a numeric value)
  + Ultrasonic distance measuring unit (converts a distance to a numeric value)
  + Optical sensor (converts a light level to a numeric value)
  + Camera (converts image data to digital data)
+ Actuators

  Output components that the device can use to control something in the outside world. Examples include:
  + Stepper motors (convert electric signals to movement)
  + Relays (control high electric voltages and currents)

## AWS IoT services overview


In the IoT universe, AWS IoT provides the services that support the devices that interact with the world and the data that passes between them and AWS IoT. AWS IoT is made up of the services that are shown in this illustration to support your IoT solution.

![\[AWS IoT architecture\]](http://docs.aws.amazon.com/iot/latest/developerguide/images/architecture-diagram.png)


### AWS IoT device software


AWS IoT provides this software to support your IoT devices.

**AWS IoT Device SDKs**  
The [AWS IoT Device and Mobile SDKs](iot-sdks.md) help you efficiently connect your devices to AWS IoT. The AWS IoT Device and Mobile SDKs include open-source libraries, developer guides with samples, and porting guides so that you can build innovative IoT products or solutions on your choice of hardware platforms.

**AWS IoT Device Tester**  
[AWS IoT Device Tester](https://docs.aws.amazon.com//freertos/latest/userguide/device-tester-for-freertos-ug.html) for FreeRTOS and AWS IoT Greengrass is a test automation tool for microcontrollers. AWS IoT Device Tester tests your device to determine if it will run FreeRTOS or AWS IoT Greengrass and interoperate with AWS IoT services.

**AWS IoT ExpressLink**  
AWS IoT ExpressLink powers a range of hardware modules developed and offered by [AWS Partners](https://aws.amazon.com/iot-expresslink/partners/?nc=sn&loc=6). The connectivity modules include AWS-validated software, making it faster and easier for you to securely connect devices to the cloud and seamlessly integrate with a range of AWS services. For more information, visit the [AWS IoT ExpressLink](https://aws.amazon.com/iot-expresslink/) overview page or see the [AWS IoT ExpressLink Programmer's Guide](https://docs.aws.amazon.com/iot-expresslink/latest/programmersguide/elpg.html).

**AWS IoT Greengrass**  
 [AWS IoT Greengrass](https://docs.aws.amazon.com/greengrass/) extends AWS IoT to edge devices so they can act locally on the data they generate, run predictions based on machine learning models, and filter and aggregate device data. AWS IoT Greengrass enables your devices to collect and analyze data closer to where that data is generated, react autonomously to local events, and communicate securely with other devices on the local network. You can use AWS IoT Greengrass to build edge applications using pre-built software modules, called components, that can connect your edge devices to AWS services or third-party services.

**FreeRTOS**  
[FreeRTOS](https://docs.aws.amazon.com//freertos/) is an open source, real-time operating system for microcontrollers that lets you include small, low-power edge devices in your IoT solution. FreeRTOS includes a kernel and a growing set of software libraries that support many applications. FreeRTOS systems can securely connect your small, low-power devices to [AWS IoT](https://docs.aws.amazon.com//iot/) and support more powerful edge devices running [AWS IoT Greengrass](https://docs.aws.amazon.com//greengrass/).

### AWS IoT control services


Connect to the following AWS IoT services to manage the devices in your IoT solution.

**AWS IoT Core**  
[AWS IoT Core](https://docs.aws.amazon.com//iot/) is a managed cloud service that enables connected devices to securely interact with cloud applications and other devices. AWS IoT Core can support many devices and messages, and it can process and route those messages to AWS IoT endpoints and other devices. With AWS IoT Core, your applications can interact with all of your devices even when they aren’t connected.

**AWS IoT Core Device Advisor**  
[AWS IoT Core Device Advisor](https://docs.aws.amazon.com//iot/latest/developerguide/device-advisor.html) is a cloud-based, fully managed test capability for validating IoT devices during device software development. Device Advisor provides pre-built tests that you can use to validate IoT devices for reliable and secure connectivity with AWS IoT Core, before deploying devices to production.

**AWS IoT Device Defender**  
[AWS IoT Device Defender](https://docs.aws.amazon.com//iot-device-defender/) helps you secure your fleet of IoT devices. AWS IoT Device Defender continuously audits your IoT configurations to make sure that they aren’t deviating from security best practices. AWS IoT Device Defender sends an alert when it detects any gaps in your IoT configuration that might create a security risk, such as identity certificates being shared across multiple devices or a device with a revoked identity certificate trying to connect to [AWS IoT Core](https://aws.amazon.com/iot-core/).

**AWS IoT Device Management**  
[AWS IoT Device Management](https://docs.aws.amazon.com//iot-device-management/) services help you track, monitor, and manage the plethora of connected devices that make up your device fleets. AWS IoT Device Management services help you ensure that your IoT devices work properly and securely after they have been deployed. They also 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 data services


Analyze the data from the devices in your IoT solution and take appropriate action by using the following AWS IoT services.

**Amazon Kinesis Video Streams**  
[Amazon Kinesis Video Streams](https://docs.aws.amazon.com//kinesisvideostreams/latest/dg/what-is-kinesis-video.html) allows you to stream live video from devices to the AWS Cloud, where it is durably stored, encrypted, and indexed, allowing you to access your data through easy-to-use APIs. You can use Amazon Kinesis Video Streams to capture massive amounts of live video data from millions of sources, including smartphones, security cameras, webcams, cameras embedded in cars, drones, and other sources. Amazon Kinesis Video Streams enables you to play back video for live and on-demand viewing, and quickly build applications that take advantage of computer vision and video analytics through integration with Amazon Rekognition Video, and libraries for ML frameworks. You can also send non-video time-serialized data such as audio data, thermal imagery, depth data, RADAR data, and more. 

**Amazon Kinesis Video Streams with WebRTC**  
[Amazon Kinesis Video Streams with WebRTC](https://docs.aws.amazon.com//kinesisvideostreams-webrtc-dg/latest/devguide/what-is-kvswebrtc.html) provides a standards-compliant WebRTC implementation as a fully managed capability. You can use Amazon Kinesis Video Streams with WebRTC to securely live stream media or perform two-way audio or video interaction between any camera IoT device and WebRTC-compliant mobile or web players. As a fully managed capability, you don't have to build, operate, or scale any WebRTC-related cloud infrastructure, such as signaling or media relay servers to securely stream media across applications and devices. Using Amazon Kinesis Video Streams with WebRTC, you can easily build applications for live peer-to-peer media streaming, or real-time audio or video interactivity between camera IoT devices, web browsers, and mobile devices for a variety of use cases. 

**AWS IoT Events**  
[AWS IoT Events](https://docs.aws.amazon.com//iotevents/) detects and responds to events from IoT sensors and applications. Events are patterns of data that identify more complicated circumstances than expected, such as motion detectors using movement signals to activate lights and security cameras. AWS IoT Events continuously monitors data from multiple IoT sensors and applications, and integrates with other services, such as AWS IoT Core, IoT SiteWise, DynamoDB, and others to enable early detection and unique insights.

**AWS IoT FleetWise**  
[AWS IoT FleetWise](https://docs.aws.amazon.com//iot-fleetwise/latest/developerguide/what-is-iotfleetwise.html) is a managed service that you can use to collect and transfer vehicle data to the cloud in near-real time. With AWS IoT FleetWise, you can easily collect and organize data from vehicles that use different protocols and data formats. AWS IoT FleetWise helps to transform low-level messages into human-readable values and standardize the data format in the cloud for data analyses. You can also define data collection schemes to control what data to collect in vehicles and when to transfer it to the cloud.

**AWS IoT SiteWise**  
[AWS IoT SiteWise](https://docs.aws.amazon.com//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. The gateway securely connects to your on-premises data servers and automates the process of collecting and organizing the data and sending it to the AWS Cloud. 

**AWS IoT TwinMaker**  
[AWS IoT TwinMaker](https://docs.aws.amazon.com//iot-twinmaker/) builds operational digital twins of physical and digital systems. AWS IoT TwinMaker creates digital visualizations using measurements and analysis from a variety of real-world sensors, cameras, and enterprise applications to help you keep track of your physical factory, building, or industrial plant. You can use real-world data to monitor operations, diagnose and correct errors, and optimize operations.

## AWS IoT Core services


AWS IoT Core provides the services that connect your IoT devices to the AWS Cloud so that other cloud services and applications can interact with your internet-connected devices.

![\[A high-level view of AWS IoT Core that shows the device gateway, message broker, rules engine, device shadow, and the other services it provides\]](http://docs.aws.amazon.com/iot/latest/developerguide/images/aws_iot_data_services.png)


The next section describes each of the AWS IoT Core services shown in the illustration.

### AWS IoT Core messaging services


The AWS IoT Core connectivity services provide secure communication with the IoT devices and manage the messages that pass between them and AWS IoT.

**Device gateway **  
Enables devices to securely and efficiently communicate with AWS IoT. Device communication is secured by secure protocols that use X.509 certificates. 

**Message broker **  
Provides a secure mechanism for devices and AWS IoT applications to publish and receive messages from each other. You can use either the MQTT protocol directly or MQTT over WebSocket to publish and subscribe. For more information about the protocols that AWS IoT supports, see [Device communication protocols](protocols.md). Devices and clients can also use the HTTP REST interface to publish data to the message broker.  
The message broker distributes device data to devices that have subscribed to it and to other AWS IoT Core services, such as the Device Shadow service and the rules engine.

**AWS IoT Core for LoRaWAN**  
AWS IoT Core for LoRaWAN makes it possible to set up a private LoRaWAN network by connecting your LoRaWAN devices and gateways to AWS without the need to develop and operate a LoRaWAN Network Server (LNS). Messages received from LoRaWAN devices are sent to the rules engine where they can be formatted and sent to other AWS IoT services.

**Rules engine **  
The Rules engine connects data from the message broker to other AWS IoT services for storage and additional processing. For example, you can insert, update, or query a DynamoDB table or invoke a Lambda function based on an expression that you defined in the Rules engine. You can use an SQL-based language to select data from message payloads, and then process and send the data to other services, such as Amazon Simple Storage Service (Amazon S3), Amazon DynamoDB, and AWS Lambda. You can also create rules that republish messages to the message broker and on to other subscribers. For more information, see [Rules for AWS IoT](iot-rules.md).

### AWS IoT Core control services


The AWS IoT Core control services provide device security, management, and registration features.

**Custom Authentication service**  
You can define custom authorizers that allow you to manage your own authentication and authorization strategy using a custom authentication service and a Lambda function. Custom authorizers allow AWS IoT to authenticate your devices and authorize operations using bearer token authentication and authorization strategies.  
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. For more information, see [Custom authentication and authorization](custom-authentication.md).

**Device Provisioning service**  
Allows you to provision devices using a template that describes the resources required for your device: a *thing object*, a certificate, and one or more policies. A thing object is an entry in the registry that contains attributes that describe a device. Devices use certificates to authenticate with AWS IoT. Policies determine which operations a device can perform in AWS IoT.  
The templates contain variables that are replaced by values in a dictionary (map). You can use the same template to provision multiple devices just by passing in different values for the template variables in the dictionary. For more information, see [Device provisioning](iot-provision.md).

**Group registry**  
Groups allow you to manage several devices at once by categorizing them into groups. Groups can also contain groups—you can build a hierarchy of groups. Any action that you perform on a parent group will apply to its child groups. The same action also applies to all the devices in the parent group and all devices in the child groups. Permissions granted to a group will apply to all devices in the group and in all of its child groups. For more information, see [Managing devices with AWS IoT](iot-thing-management.md).

**Jobs service**  
Allows you to define a set of remote operations that are sent to and run on one or more devices connected to AWS IoT. For example, you can define a job that instructs a set of devices to download and install application or firmware updates, reboot, rotate certificates, or perform remote troubleshooting operations.  
To create a job, you specify a description of the remote operations to be performed and a list of targets that should perform them. The targets can be individual devices, groups or both. For more information, see [AWS IoT Jobs](iot-jobs.md).

**Registry**  
Organizes the resources associated with each device in the AWS Cloud. You register your devices and associate up to three custom attributes with each one. You can also associate certificates and MQTT client IDs with each device to improve your ability to manage and troubleshoot them. For more information, see [Managing devices with AWS IoT](iot-thing-management.md).

**Security and Identity service **  
Provides shared responsibility for security in the AWS Cloud. Your devices must keep their credentials safe to securely send data to the message broker. The message broker and rules engine use AWS security features to send data securely to devices or other AWS services. For more information, see [Authentication](authentication.md).

### AWS IoT Core data services


The AWS IoT Core data services help your IoT solutions provide a reliable application experience even with devices that are not always connected.

**Device shadow **  
A JSON document used to store and retrieve current state information for a device.

**Device Shadow service **  
The Device Shadow service maintains a device's state so that applications can communicate with a device whether the device is online or not. When a device is offline, the Device Shadow service manages its data for connected applications. When the device reconnects, it synchronizes its state with that of its shadow in the Device Shadow service. Your devices can also publish their current state to a shadow for use by applications or other devices that might not be connected all the time. For more information, see [AWS IoT Device Shadow service](iot-device-shadows.md).

### AWS IoT Core support service


**Amazon Sidewalk Integration for AWS IoT Core**  
[Amazon Sidewalk](https://www.amazon.com/Amazon-Sidewalk/b?ie=UTF8&node=21328123011) is a shared network that improves connectivity options to help devices work together better. Amazon Sidewalk supports a wide range of customer devices such as those that locate pets or valuables, those that provide smart home security and lighting control, and those that provide remote diagnostics for appliances and tools. Amazon Sidewalk Integration for AWS IoT Core makes it possible for device manufacturers to add their Sidewalk device fleet to the AWS IoT Cloud.  
For more information, see [AWS IoT Core for Amazon Sidewalk](https://docs.aws.amazon.com/iot-wireless/latest/developerguide/iot-sidewalk.html).

# Learn more about AWS IoT


This topic helps you get familiar with the world of AWS IoT. You can get general information about how IoT solutions are applied in various use cases, training resources, links to social media for AWS IoT and all other AWS services, and a list of services and communication protocols that AWS IoT uses. 

## Training resources for AWS IoT


We provide these training courses to help you learn about AWS IoT and how to apply them to your solution design.
+ 

**[Introduction to AWS IoT](https://www.aws.training/learningobject/video?id=16505)**  
A video overview of AWS IoT and its core services.
+ 

**[Deep Dive into AWS IoT Authentication and Authorization](https://www.aws.training/Details/Curriculum?id=42335)**  
An advanced course that explores the concepts of AWS IoT authentication and authorization. You will learn how to authenticate and authorize clients to access the AWS IoT control plane and data plane APIs.
+ 

**[Internet of Things Foundation Series](https://explore.skillbuilder.aws/learn/course/internal/view/elearning/402/internet-of-things-foundation-series)**  
A learning path of IoT eLearning modules on different IoT technologies and features.

## AWS IoT resources and guides


These are in-depth technical resources on specific aspects of AWS IoT.
+ 

**[IoT Lens – AWS IoT Well-Architected Framework](https://docs.aws.amazon.com/wellarchitected/latest/iot-lens/welcome.html)**  
A document that describes the best practices for architecting your IoT applications on AWS.
+ 

**[Designing MQTT Topics for AWS IoT Core](https://docs.aws.amazon.com/whitepapers/latest/designing-mqtt-topics-aws-iot-core/designing-mqtt-topics-aws-iot-core.html)**  
A whitepaper that describes the best practices for designing MQTT topics in AWS IoT Core and leveraging AWS IoT Core features with MQTT.
+ 

**[Abstract and introduction](https://docs.aws.amazon.com/whitepapers/latest/device-manufacturing-provisioning/device-manufacturing-provisioning.html)**  
A PDF document that describes the different ways that AWS IoT provides to provision large fleets of devices.
+ 

**[AWS IoT Core Device Advisor](https://docs.aws.amazon.com//iot/latest/developerguide/device-advisor.html)**  
AWS IoT Core Device Advisor provides pre-built tests that you can use to validate IoT devices for reliable and secure connectivity best practices with AWS IoT Core, before deploying devices to production.
+ 

**[AWS IoT Resources](https://aws.amazon.com/iot/resources/)**  
IoT-specific resources, such as Technical Guides, Reference Architectures, eBooks, and curated blog posts, presented in a searchable index.
+ 

**[IoT Atlas](https://iotatlas.net)**  
Overviews on how to solve common IoT design problems. The *IoT Atlas* provides in-depth looks into the design challenges that you are likely to encounter while developing your IoT solution.
+ 

**[AWS Whitepapers & Guides](https://aws.amazon.com/whitepapers/?whitepapers-main.sort-by=item.additionalFields.sortDate&whitepapers-main.sort-order=desc&awsf.whitepapers-category=categories%23iot)**  
Our current collection of whitepapers and guides on AWS IoT and other AWS technologies.

## AWS IoT in social media


These social media channels provide information about AWS IoT and AWS-related topics.
+ [The Internet of Things on AWS IoT – Official Blog](https://aws.amazon.com/blogs/iot/)
+ [AWS IoT videos in the Amazon Web Services channel on YouTube](https://www.youtube.com/user/AmazonWebServices/search?query=IoT)

These social media accounts cover all AWS services, including AWS IoT
+ [The Amazon Web Services channel on YouTube](https://www.youtube.com/user/AmazonWebServices/)
+ [Amazon Web Services on Twitter](https://twitter.com/awscloud)
+ [Amazon Web Services on Facebook](https://www.facebook.com/amazonwebservices/)
+ [Amazon Web Services on Instagram](https://www.instagram.com/amazonwebservices/)
+ [Amazon Web Services on LinkedIn](https://www.linkedin.com/company/amazon-web-services/)

## AWS services used by the AWS IoT Core rules engine


The AWS IoT Core rules engine can connect to these AWS services.
+ 

**[Amazon DynamoDB](https://docs.aws.amazon.com//dynamodb/)**  
Amazon DynamoDB is a scalable, NoSQL database service that provides fast and predictable database performance. 
+ 

**[Amazon Kinesis](https://docs.aws.amazon.com//kinesis/)**  
Amazon Kinesis makes it easy to collect, process, and analyze real-time, streaming data so you can get timely insights and react quickly to new information. Amazon Kinesis can ingest real-time data such as video, audio, application logs, website clickstreams, and IoT telemetry data for machine learning, analytics, and other applications.
+ 

**[AWS Lambda](https://docs.aws.amazon.com//lambda/)**  
AWS Lambda lets you run code without provisioning or managing servers. You can set up your code to automatically trigger from AWS IoT data and events or call it directly from a web or mobile app. 
+ 

**[Amazon Simple Storage Service](https://docs.aws.amazon.com//s3/)**  
Amazon Simple Storage Service (Amazon S3) can store and retrieve any amount of data at any time, from anywhere on the web. AWS IoT rules can send data to Amazon S3 for storage.
+ 

**[Amazon Simple Notification Service](https://docs.aws.amazon.com//sns/)**  
Amazon Simple Notification Service (Amazon SNS) is a web service that enables applications, end users, and devices to send and receive notifications from the cloud.
+ 

**[Amazon Simple Queue Service](https://docs.aws.amazon.com//sqs/)**  
Amazon Simple Queue Service (Amazon SQS) is a message queuing service that decouples and scales microservices, distributed systems, and serverless applications.
+ 

**[Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/)**  
Amazon OpenSearch Service (OpenSearch Service) is a managed service that makes it easy to deploy, operate, and scale OpenSearch, a popular open-source search and analytics engine.
+ 

**[Amazon SageMaker AI](https://docs.aws.amazon.com//sagemaker/latest/dg/whatis.html)**  
Amazon SageMaker AI can create machine learning (ML) models by finding patterns in your IoT data. The service uses these models to process new data and generate predictions for your application.
+ 

**[Amazon CloudWatch](https://docs.aws.amazon.com//cloudwatch/)**  
Amazon CloudWatch provides a reliable, scalable, and flexible monitoring solution to help set up, manage, and scale your own monitoring systems and infrastructure.

## Communication protocols supported by AWS IoT Core


These topics provide more information about the communication protocols used by AWS IoT. For more information about the protocols used by AWS IoT and connecting devices and services to AWS IoT, see [Connect to AWS IoT Core](connect-to-iot.md).
+ 

**[MQTT (Message Queuing Telemetry Transport)](http://mqtt.org/)**  
The home page of the MQTT.org site where you can find the MQTT protocol specifications. For more information about how AWS IoT supports MQTT, see [MQTT](mqtt.md).
+ 

**[HTTPS (Hypertext Transfer Protocol - Secure)](https://tools.ietf.org/html/rfc2616)**  
Devices and apps can access AWS IoT services by using HTTPS.
+ 

**[LoRaWAN (Long Range Wide Area Network)](https://lora-alliance.org/about-lorawan)**  
LoRaWAN devices and gateways can connect to AWS IoT Core by using AWS IoT Core for LoRaWAN.
+ 

**[TLS (Transport Layer Security) v1.3](https://aws.amazon.com/blogs/iot/introducing-tls-1-3-support-in-aws-iot-core/)**  
The specification of the TLS v1.3 (RFC 5246). AWS IoT uses TLS v1.3 to establish secure connections between devices and AWS IoT. 

# What's new in the AWS IoT console


We're in the process of updating the user interface of the AWS IoT console to a new experience. We're updating the user interface in stages, so some pages in the console will have a new experience, some might have both the original and the new experience, and some might have only the original experience. 

 This table displays the state of individual areas of the AWS IoT console user interface as of January 27, 2022.


**AWS IoT console user interface status**  

| Console page | Original experience | New experience | Comments | 
| --- | --- | --- | --- | 
|  **Monitor**  |  Not available  |  Available  |    | 
|  **Activity**  |  Not available  |  Available  |    | 
|  **Onboard** - Get started  |  Not available  |  Available  |  Not available in CN Regions  | 
|  **Onboard** - Fleet provisioning templates  |  Available  |  Available  |    | 
|  **Manage** - Things  |  Available  |  Available  |    | 
|  **Manage** - Types  |  Available  |  Available  |    | 
|  **Manage** - Thing groups  |  Available  |  Available  |    | 
|  **Manage** - Billing groups  |  Available  |  Available  |    | 
|  **Manage** - Jobs  |  Available  |  Available  |    | 
|  **Manage** - Job templates  |  Not available  |  Available  |    | 
|  **Manage** - Tunnels  |  Not available  |  Available  |    | 
|  **Fleet Hub** - Get started  |  Not available  |  Available  | Not available in all AWS Regions | 
|  **Fleet Hub** - Applications  |  Not available  |  Available  | Not available in all AWS Regions | 
|  **Greengrass** - Getting started  |  Not available  |  Available  | Not available in all AWS Regions | 
|  **Greengrass** - Core devices  |  Not available  |  Available  | Not available in all AWS Regions | 
|  **Greengrass** - Components  |  Not available  |  Available  | Not available in all AWS Regions | 
|  **Greengrass** - Deployments  |  Not available  |  Available  | Not available in all AWS Regions | 
|  **Greengrass** - Classic (V1)  |  Available  |  Available  |  | 
|  **Wireless connectivity** - Intro  |  Not available  |  Available  |  Not available in all AWS Regions  | 
|  **Wireless connectivity** - Gateways  |  Not available  |  Available  |  Not available in all AWS Regions  | 
|  **Wireless connectivity** - Devices  |  Not available  |  Available  |  Not available in all AWS Regions  | 
|  **Wireless connectivity** - Profiles  |  Not available  |  Available  |  Not available in all AWS Regions  | 
|  **Wireless connectivity** - Destinations  |  Not available  |  Available  | Not available in all AWS Regions | 
|  **Secure** - Certificates  |  Available  |  Available  |    | 
|  **Secure** - Policies  |  Available  | Available |    | 
|  **Secure** - CAs  |  Available  | Available |    | 
|  **Secure** - Role Aliases  |  Available  |  Available  |    | 
|  **Secure** - Authorizers  |  Available  |  Available  |    | 
|  **Defend** - Intro  |  Not available  |  Available  |    | 
|  **Defend** - Audit  |  Not available  |  Available  |    | 
|  **Defend** - Detect  |  Not available  |  Available  |    | 
|  **Defend** - Mitigation actions  |  Not available  |  Available  |    | 
| Defend - Settings |  Not available  |  Available  |  | 
|  **Act** - Rules  |  Available  |  Available  |    | 
|  **Act** - Destinations  |  Available  |  Available  |    | 
|  **Test** - Device Advisor  |  Available  |  Available  |  Not available in all AWS Regions  | 
|  **Test** - MQTT test client  |  Available  |  Available  |    | 
|  **Software**  |  Available  |  Available  |    | 
|  **Settings**  |  Not available  |  Available  |    | 
|  **Learn**  |  Available  |  Not available yet  |    | 

## Legend


**Status values**
+ 

**Available**  
This user interface experience can be used.
+ 

**Not available**  
This user interface experience can't be used.
+ 

**Not available yet**  
The new user interface experience is being worked on, but it's not ready, yet.
+ 

**In progress**  
The new user interface experience is in the process of being updated. Some pages might still have the original user experience, however.

# Using AWS IoT with an AWS SDK
Working with AWS SDKs

AWS software development kits (SDKs) are available for many popular programming languages. Each SDK provides an API, code examples, and documentation that make it easier for developers to build applications in their preferred language.


| SDK documentation | Code examples | 
| --- | --- | 
| [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/sdk-for-cpp) | [AWS SDK for C\$1\$1 code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp) | 
| [AWS CLI](https://docs.aws.amazon.com/cli) | [AWS CLI code examples](https://docs.aws.amazon.com/code-library/latest/ug/cli_2_code_examples.html) | 
| [AWS SDK for Go](https://docs.aws.amazon.com/sdk-for-go) | [AWS SDK for Go code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/gov2) | 
| [AWS SDK for Java](https://docs.aws.amazon.com/sdk-for-java) | [AWS SDK for Java code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2) | 
| [AWS SDK for JavaScript](https://docs.aws.amazon.com/sdk-for-javascript) | [AWS SDK for JavaScript code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3) | 
| [AWS SDK for Kotlin](https://docs.aws.amazon.com/sdk-for-kotlin) | [AWS SDK for Kotlin code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/kotlin) | 
| [AWS SDK for .NET](https://docs.aws.amazon.com/sdk-for-net) | [AWS SDK for .NET code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/dotnetv3) | 
| [AWS SDK for PHP](https://docs.aws.amazon.com/sdk-for-php) | [AWS SDK for PHP code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php) | 
| [AWS Tools for PowerShell](https://docs.aws.amazon.com/powershell) | [AWS Tools for PowerShell code examples](https://docs.aws.amazon.com/code-library/latest/ug/powershell_5_code_examples.html) | 
| [AWS SDK for Python (Boto3)](https://docs.aws.amazon.com/pythonsdk) | [AWS SDK for Python (Boto3) code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python) | 
| [AWS SDK for Ruby](https://docs.aws.amazon.com/sdk-for-ruby) | [AWS SDK for Ruby code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/ruby) | 
| [AWS SDK for Rust](https://docs.aws.amazon.com/sdk-for-rust) | [AWS SDK for Rust code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1) | 
| [AWS SDK for SAP ABAP](https://docs.aws.amazon.com/sdk-for-sapabap) | [AWS SDK for SAP ABAP code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap) | 
| [AWS SDK for Swift](https://docs.aws.amazon.com/sdk-for-swift) | [AWS SDK for Swift code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/swift) | 

**Example availability**  
Can't find what you need? Request a code example by using the **Provide feedback** link at the bottom of this page.