Files
OpenMQTTGateway/docs/integrate/aws_iot.md
Florian dcbce352be AWS IOT compatibility
implement compatibility with Amazon Web Services IOT through an MQTT connection with certificates. (#1099)
2021-11-07 07:44:50 -06:00

2.5 KiB

Integrate AWS IOT

Create a thing

  • From AWS console, search for IOT core
  • Create a Thing and name it, this name will be used as the OpenMQTTGateway name.

Create a policy

  • Add this json code to the policy
{
  "Version": "2021-11-01",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "iot:Connect",
        "iot:Publish",
        "iot:Subscribe",
        "iot:Receive",
        "greengrass:Discover"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}

Create a certificate

  • Create a new certificate

  • Download certificates and key

Attach Policy with certificate

Activate certificate and attach it to Thing

Find AWS EndPoint

Gather the information for OpenMQTTGateway configuration

Now you should have the following information for the OpenMQTTGateway configuration:

  • Root certificate
  • Client certificate
  • Client key
  • End point url
  • Gateway name

Modify OpenMQTTGateway configuration

With Arduino IDE, you can update the following field into User_config.h with the information gathered:

  • Gateway_Name
  • MQTT_SERVER "xxxxxx.iot-eu-amazonaws.com"
  • MQTT_PORT "8883"
  • AWS_IOT true
  • ss_server_cert with the root certificate
  • ss_client_cert with the client certificate
  • ss_client_key with the Client key
  • MQTT_SECURE_SELF_SIGNED 1
  • MQTT_SECURE_DEFAULT true

With PlatformIO you can directly leverage the environment esp32dev-ble-aws

Build and upload

Connect to a wifi Access point see portal

Enter your credentials and verify that Secure connection is marked.

Verify that you receive data in AWS

  • Go to things
  • Click on the thing created
  • Go to Activity
  • Click on MQTT Test Client
  • Subscribe to +/#

You should see messages coming.