Bridging data to AWS IoT through the public network with EMQX Cloud

This article will introduce how to use the EMQX Cloud data integration feature to bridge data to AWS IoT through the public network so that you can easily use AWS Lambda, Amazon Kinesis, Amazon S3, Amazon Machine Learning, Amazon DynamoDB, Amazon CloudWatch, AWS CloudTrail, and Amazon Elasticsearch Service with built-in Kibana integration to build IoT applications. Collect, process, and analyze data generated by interconnected devices without managing any infrastructure.

Introduction to AWS IoT

Amazon IoT Core is a hosted cloud platform that makes it easy for connected devices to securely interact with cloud applications and other devices. Amazon IoT can support billions of devices and trillions of messages and can process and securely route them to Amazon Cloud Technologies endpoint nodes and other devices. With Amazon IoT, your applications can track and communicate with all your devices at all times, even when they are not connected.

(1) Broad and deep: AWS has broad and deep IoT services from the edge to the cloud, providing local data collection and analysis capabilities as well as data management and rich analytics integration services on the cloud designed for IoT.

(2) Multiple layers of security: including preventive security mechanisms (such as encryption and access control of device data), continuous monitoring and auditing of security configurations, etc.

(3) Superior AI integration: AWS brings AI and IoT together to make devices smarter. Multiple machine learning frameworks are supported.

(4) Proven at scale: AWS IoT is built on a scalable, secure, and proven cloud infrastructure that scales to billions of different devices and trillions of messages.

EMQX Cloud is a fully managed cloud-native MQTT service from EMQ that connects to massive numbers of IoT devices and integrates with various databases and business systems.

As the world’s first fully managed MQTT 5.0 public cloud service, EMQX Cloud provides a one-stop O&M colocation and a unique isolated environment for MQTT messaging services.

In the era of the Internet of Everything, EMQX Cloud can help users quickly build industry applications for the IoT field and can help users quickly build industry applications for the IoT field, and easily realize the collection, transmission, calculation, and persistence of IoT data.

EMQX Cloud is available in dozens of countries and regions around the world, providing low-cost, secure, and reliable cloud services for 5G and Internet of Everything applications, with infrastructure computing facilities provided by cloud providers.

For more information, please visit the EMQX Cloud website or view the EMQX Cloud documentation.

Bridging Data to AWS IoT with EMQX Cloud

On the EMQX Cloud deployment details page, enable the value-added service, NAT Gateway, to facilitate public network access to AWS IoT.

  1. Create a transaction

Go to the AWS IoT control panel, find Manage — Transactions, and click Create Transaction to create a transaction named emqx.

2. Create and download the certificate

After creating a transaction, you can directly create a certificate.

After the certificate is created, you need to download the certificate on this page for two-way authentication when the device is connected.

3. Create a policy and associate it with a certificate

Find Security-Policy, create a policy named emqx-bridge, and write the policy with the following configuration.

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iot:Connect",
"Resource": "arn:aws:iot:us-east-1:845523974165:client/emqx-bridge_*"
},
{
"Effect": "Allow",
"Action": "iot:Publish",
"Resource": "arn:aws:iot:us-east-1:845523974165:topic/emqx/bridge"
},
{
"Effect": "Allow",
"Action": "iot:Receive",
"Resource": "arn:aws:iot:us-east-1:845523974165:topic/emqx/bridge"
},
{
"Effect": "Allow",
"Action": "iot:RetainPublish",
"Resource": "arn:aws:iot:us-east-1:845523974165:topic/emqx/bridge"
},
{
"Effect": "Allow",
"Action": "iot:Subscribe",
"Resource": "arn:aws:iot:us-east-1:845523974165:topicfilter/emqx/bridge"
}
]
}

After you finish creating the policy, you need to associate it with the certificate created in the previous step.

4. Obtain the public connection address of AWS IoT

In the settings, get the connection address endpoint for the device connection.

Go to the EMQX Cloud deployment page and click Data Integration — MQTT Bridge.

Fill in the resource details for AWS IoT on the Resources page.

After confirming the resources are available, configure the rules to filter and process the data.

Once the rules are configured, you need to configure the response action, which is to bridge the data to AWS IoT.

After completing Create Resource — Add Rule — Add Action, you can view the information on the details page.

To view the created rules, click on Monitoring to see the current number of successful bridge monitoring is 0, which is the initialization status.

Test Verification

  1. Use the Python SDK to connect to the EMQX Cloud deployment and send messages to the topic emqx/bridge.

2. Connect to AWS IoT using MQTTX, subscribe to emqx/bridge, and receive messages from the EMQX Cloud deployment.

3. Check the rule monitoring in the EMQX Cloud console to check the success of bridging data to AWS IoT.

Summary

Now we have completed the process of bridging data to AWS IoT over the public network using EMQX Cloud data integration. EMQX Cloud’s flexible data integration capabilities, combined with AWS IoT’s rich application ecosystem, will enable users to create an IoT application in minutes.

Originally published at https://www.emqx.com.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
EMQ Technologies

EMQ is an open-source IoT data infrastructure software provider, delivering the world’s leading open-source MQTT message broker and stream processing database.