littlebot
Published on 2025-04-07 / 0 Visits
0

【源码】基于AWS IoT Device SDK for Embedded C的Azure Sphere设备项目

项目简介

本项目基于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间的安全通信。

项目的主要特性和功能

  1. 安全性:Azure Sphere MCU有硬件Root - of - Trust,提供设备证书生命周期管理服务(AS3),保证设备与云安全连接。
  2. MQTT通信:通过MQTT协议和AWS IoT Core通信,支持JITR机制实现设备零触点配置。
  3. HTTP通信:支持HTTP通信,含文件上传和下载功能,通过预签名URL实现授权访问。
  4. AWS IoT Shadow服务:用该服务实现设备状态同步,允许设备经MQTT连接和AWS IoT平台同步状态。
  5. 设备证书管理:借助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】