亚马逊 AWS IoT物联网解决方案

AWS IoT 提供将您的物联网设备连接到其他设备和 AWS 云服务的云服务。 AWS IoT 提供设备软件,可帮助您将物联网设备集成到 AWS IoT基于解决方案的解决方案中。如果您的设备可以连接 AWS IoT,则 AWS IoT 可以将它们连接到 AWS 提供的云服务。

在这里插入图片描述

设备预调配文档

aws-iot-device-sdk-embedded-C

在这里插入图片描述

demo_config.h配置


#define PROVISIONING_TEMPLATE_NAME "smart_ipcamera_claim_template"
#define  CLAIM_CERT_PATH "/dev/shm/embedApplication/aws_iot_sdk_embeded/fp_certificate.pem.crt"
#define  CLAIM_PRIVATE_KEY_PATH "/dev/shm/embedApplication/aws_iot_sdk_embeded/fp_private.pem.key"
#define DEVICE_SERIAL_NUMBER "7ce1d106-07bf-4740-8738-73926f9e2741"

#define  AWS_IOT_ENDPOINT "atwwuuu2m6zxs-ats.iot.us-east-2.amazonaws.com"
#define  ROOT_CA_CERT_PATH "/dev/shm/embedApplication/aws_iot_sdk_embeded/root-CA.crt"

配置的模版名称为smart_ipcamera_claim_template

在这里插入图片描述

###模板配置内容

{
  "Parameters": {
    "SerialNumber": {
      "Type": "String"
    },
    "AWS::IoT::Certificate::Id": {
      "Type": "String"
    }
  },
  "Resources": {
    "certificate": {
      "Properties": {
        "CertificateId": {
          "Ref": "AWS::IoT::Certificate::Id"
        },
        "Status": "Active"
      },
      "Type": "AWS::IoT::Certificate"
    },
    "policy": {
      "Properties": {
        "PolicyName": "smart_ipcamera_claim_policy"
      },
      "Type": "AWS::IoT::Policy"
    },
    "thing": {
      "OverrideSettings": {
        "AttributePayload": "MERGE",
        "ThingGroups": "DO_NOTHING",
        "ThingTypeName": "REPLACE"
      },
      "Properties": {
        "AttributePayload": {},
        "ThingGroups": [],
        "ThingName": {
          "Fn::Join": [
            "",
            [
              "model_Y_",
              {
                "Ref": "SerialNumber"
              }
            ]
          ]
        },
        "ThingTypeName": "model_Y"
      },
      "Type": "AWS::IoT::Thing"
    }
  },
  "DeviceConfiguration": {
    "Foo": "Bar"
  }
}

内容解析参考


运行日志

/dev/shm/embedApplication/aws_iot_sdk_embeded/cmake-build-debug-develop_amd_linux_docker_enviroment/bin/fleet_provisioning_with_csr_demo
[INFO] [PKCS11] [core_pkcs11_mbedtls.c:1466] PKCS #11 successfully initialized.
[INFO] [PKCS11] [core_pkcs11_mbedtls.c:2924] Creating a 0x3 type object.
[INFO] [FLEET_PROVISIONING_DEMO] [pkcs11_operations.c:770] Writing certificate into label "Claim Cert".
[INFO] [PKCS11] [core_pkcs11_mbedtls.c:2924] Creating a 0x1 type object.
[INFO] [FLEET_PROVISIONING_DEMO] [fleet_provisioning_with_csr_demo.c:536] Establishing MQTT session with claim certificate...
[INFO] [FLEET_PROVISIONING_DEMO] [fleet_provisioning_with_csr_demo.c:548] Established connection with claim credentials.
[INFO] [PKCS11] [core_pkcs11_mbedtls.c:5717] NOTE: define GENERATED_PRIVATE_KEY_WRITE_PATH in order to have the private key written to disk.
[INFO] [FLEET_PROVISIONING_DEMO] [fleet_provisioning_with_csr_demo.c:256] Received accepted response from Fleet Provisioning CreateCertificateFromCsr API.
[INFO] [FLEET_PROVISIONING_DEMO] [fleet_provisioning_with_csr_demo.c:625] Received certificate with Id: 9bd420fbe0f319654731e1eb66a7fac07ca81db77659a91021435f5c83594319
[INFO] [FLEET_PROVISIONING_DEMO] [pkcs11_operations.c:770] Writing certificate into label "Device Cert".
[INFO] [PKCS11] [core_pkcs11_mbedtls.c:2924] Creating a 0x1 type object.
[INFO] [FLEET_PROVISIONING_DEMO] [fleet_provisioning_with_csr_demo.c:283] Received accepted response from Fleet Provisioning RegisterThing API.
[INFO] [FLEET_PROVISIONING_DEMO] [fleet_provisioning_with_csr_demo.c:700] Received AWS IoT Thing name: model_Y_7ce1d106-07bf-4740-8738-73926f9e2741
[INFO] [FLEET_PROVISIONING_DEMO] [fleet_provisioning_with_csr_demo.c:726] Establishing MQTT session with provisioned certificate...
[INFO] [FLEET_PROVISIONING_DEMO] [fleet_provisioning_with_csr_demo.c:741] Sucessfully established connection with provisioned credentials.
[INFO] [PKCS11] [core_pkcs11_mbedtls.c:2008] Successfully closed PKCS #11 session.
[INFO] [PKCS11] [core_pkcs11_mbedtls.c:1511] PKCS #11 was successfully uninitialized.
[INFO] [FLEET_PROVISIONING_DEMO] [fleet_provisioning_with_csr_demo.c:764] Demo iteration 1 is successful.
[INFO] [FLEET_PROVISIONING_DEMO] [fleet_provisioning_with_csr_demo.c:783] Demo completed successfully.
[INFO] [FLEET_PROVISIONING_DEMO] [fleet_provisioning_with_csr_demo.c:810] NOTE: define DOWNLOADED_CERT_WRITE_PATH in order to have the certificate written to disk.

Process finished with exit code 0

设备类型model_Y 自动注册设备

在这里插入图片描述

更多推荐