AWS IOT compatibility
implement compatibility with Amazon Web Services IOT through an MQTT connection with certificates. (#1099)
This commit is contained in:
1 parent
4b53a30af4
commit
dcbce352be
22 files changed
+160
-5
No files matched your search
@@ -0,0 +1,109 @@
|
||||
# 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
|
||||
```json
|
||||
{
|
||||
"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](../upload/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.
|
||||
|
||||

|
||||
Reference in new issue
Block a user