项目简介
本项目基于AWS IoT Device SDK for Embedded C,在Azure Sphere MT3620 MCU上实现与AWS IoT Core的安全连接。集成了MQTT、HTTP通信以及AWS IoT Shadow服务,展示Just - in - time - registration(JITR)机制,达成设备零触点配置,保障设备与AWS IoT Core间的安全通信。
项目的主要特性和功能
- 安全性:Azure Sphere MCU有硬件Root - of - Trust,提供设备证书生命周期管理服务(AS3),保证设备与云安全连接。
- MQTT通信:通过MQTT协议和AWS IoT Core通信,支持JITR机制实现设备零触点配置。
- HTTP通信:支持HTTP通信,含文件上传和下载功能,通过预签名URL实现授权访问。
- AWS IoT Shadow服务:用该服务实现设备状态同步,允许设备经MQTT连接和AWS IoT平台同步状态。
- 设备证书管理:借助AWS Lambda函数和IoT规则,实现设备证书注册和更新,管理设备证书生命周期。
安装使用步骤
环境准备
- 安装Azure Sphere SDK(最低版本22.02)。
- 安装Visual Studio Code或Visual Studio 2019。
- 安装AWS CLI和boto3 SDK。
设备设置
- 配置Azure Sphere硬件并连入互联网。
- 启用开发模式:
bash azsphere device enable - development
- 获取并记录Azure Sphere租户ID:
bash azsphere tenant show - selected
AWS环境配置
- 在AWS IAM服务创建有AdministratorAccess权限的用户,记录访问ID和密钥。
- 使用AWS CLI配置凭证文件:
bash aws configure
- 运行预配置脚本创建AWS IoT资源:
bash python script/preconfigure.py
- 在AWS IoT控制台的设置页面记录自定义端点URL。
编译部署
- 用Visual Studio 2019打开项目,加载CMakeLists.txt文件。
- 修改
app_manifest.json
文件中的IoT核心端点、S3存储桶和租户ID。 - 修改
demo_config.h
文件中的IoT核心端点和S3预签名URL。 - 生成缓存并编译项目,生成.imagepackage文件。
- 通过调试方式运行应用程序。
验证结果
- 在AWS IoT控制台的管理/设备页面查看已注册的Azure Sphere设备。
- 检查设备影子状态同步情况。
- 在S3控制台查看上传的文件内容。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】