stm32-hotspot/STM32-Sidewalk-SDK

GitHub: stm32-hotspot/STM32-Sidewalk-SDK

STM32-Sidewalk-SDK是专为STM32WBAxx微控制器设计的Amazon Sidewalk SDK,用于开发物联网应用。

Stars: 8 | Forks: 2

# 使用STM32开发Amazon Sidewalk应用程序 **意法半导体** ## 目录 1. [简介](#introduction) 2. [ST Sidewalk SDK](#st-sidewalk-sdk) 3. [配置Sidewalk设备](#provision-a-sidewalk-device) 4. [设备设置](#devices-setup) 5. [资源](#resources) ## 简介 ### 亚马逊 Sidewalk Amazon Sidewalk提供无缝的广域网络覆盖,为Sidewalk设备提供支持,通过利用Amazon网关显著扩展了物联网节点访问。通过采用Amazon Sidewalk协议,它解锁了位于物联网设备通信范围内的Amazon Echo网关,从而增强了连接性和通信。该网络通过多个网关访问促进资产跟踪,扩展了系统的范围并提高了可靠性。 Amazon利用其现有的设备,如Echo和Ring,创建了一个免费使用的广域网络。该网络是安全的,消息端到端加密,确保数据隐私和安全。Amazon Sidewalk覆盖了90%的美国人口,尽管目前仅在美 国可用。它非常适合非关键、低带宽应用,使其成为各种物联网用例的理想解决方案。 我们的Amazon Sidewalk SDK支持这些不同的用例中的大多数,为开发人员提供了一个灵活且强大的平台,用于构建和部署他们的物联网应用程序。这种全面的支持确保Amazon Sidewalk网络可以有效地用于各种应用,从而增强整体物联网生态系统。 ### Sidewalk网关 大多数最新的Amazon Echo和Amazon Ring设备都内置了Amazon Sidewalk网关功能。这些功能可以通过用户应用程序启用或禁用。重要的是,这些网关永远不会访问设备发送的消息;它们只是将来自您的端设备的消息转发到您的AWS账户。 Amazon Sidewalk网关支持多种通信协议,包括BLE(低功耗蓝牙)、SubGHz-FSK(同步,HDR)和SubGHz-CSS(异步,LDR)。这些网关共享消费者互联网带宽的一部分,最大为80Kbps,以提供对一组Sidewalk启用设备的连接性。

Picture7

Sidewalk网络通过三种类型的调制解调器运行: - BLE(低功耗蓝牙):需要最低BLE 4.2,没有安全功能,支持1M PHY和2M PHY。 - SubGHz-FSK:频率移位键控调制。 - SubGHz-CSS(LoRa):跳频扩频调制。 这种共享带宽和多协议支持确保Sidewalk启用设备可以在网络中保持连接并有效地进行通信。

Picture8

### Amazon Sidewalk覆盖范围 Amazon Sidewalk提供广泛的覆盖范围,根据Amazon的数据,覆盖了90%的美国人口。 - [https://coverage.sidewalk.amazon/](https://coverage.sidewalk.amazon/)

Picture9

### Amazon Sidewalk终端设备 Amazon Sidewalk终端设备提供灵活的连接选项和无缝的数据传输: - 它们可以使用BLE或SubGHz-FSK进行配置 - 物联网数据可以通过蓝牙LE、LoRa或SubGHz-FSK传输 - Sidewalk数据通过Amazon网关路由到AWS服务器 - 数据随后通过AWS服务器访问和可视化 - 当连接到您自己的Amazon Sidewalk网关(同一账户)时,您的设备没有数据限制。 - 当您的设备处于漫游模式(连接到其他网关)时,每月使用的数据量由客户(而非设备)限制在500MB。

Picture10

### Amazon Sidewalk不同用例 | 用例 | 配置 | 通信 | 设备 | 描述 | 项目 | |-------------|-------|------|------------------------|--------------------------------|------| | BLE Only | BLE | BLE | STM32WBAxx | 短距离,适合高吞吐量传输(例如,OTA镜像交付) | sid_ble | | FSK Only | FSK | FSK | STM32WBAxx + S2-LP 或 STM32WBAxx + STM32WLx5 | 中距离,适合中等吞吐量传输 | sid_900 | | BLE + CSS | BLE | BLE/CSS | STM32WBAxx + STM32WLx5 | 与内存使用相比最佳范围 | sid_900 | | BLE + FSK | BLE/FSK | BLE/FSK | STM32WBAxx + S2-LP 或 STM32WBAxx + STM32WLx5 | 中距离,添加BLE支持以用于更高吞吐量用例(例如,OTA) | sid_900 | | BLE + FSK + CSS | BLE/FSK | BLE/FSK/CSS | STM32WBAxx + STM32WLx5 | 最佳范围,与Sidewalk功能相比具有更多灵活性 | sid_900 | 另外,对于FSK和CSS用例,可以使用Semtech SX126x或LR11xx收发器代替STM32WLx5。

Picture11

Picture12

### 第三方设备支持 ST还提供对多个第三方设备的支持,这些设备与ST的Sidewalk SDK库无缝集成。这些设备包括SX126x和LR11xx,它们都是SubGHz无线电收发器,旨在通过支持的Amazon设备与Sidewalk服务接口。 **SX126x**是一个SubGHz无线电收发器,支持LoRa和FSK通信协议。该设备能够与Sidewalk服务接口,为各种物联网应用提供可靠和高效的数据传输。它支持多种通信协议确保了多功能性和与广泛用例的兼容性。 **LR11xx**是另一个SubGHz无线电收发器,支持LoRa和FSK通信协议。除了其通信功能外,LR11xx还集成了GNSS扫描仪和WiFi接入点MAC地址扫描仪。这些附加功能可以实现精确的位置跟踪和增强的连接选项,使LR11xx成为需要高级功能的物联网应用的强大而灵活的解决方案。 通过支持这些第三方设备,意法半导体扩大了开发人员可用的硬件选项范围,使他们能够根据特定的应用需求选择最佳组件。与Semtech设备的集成确保开发人员可以利用Sidewalk SDK的全部潜力,创建强大可靠的物联网解决方案。

Picture13

## ST Sidewalk SDK ### 意法半导体Sidewalk开发包 Sidewalk SDK是Amazon提供的Sidewalk SDK v1.19.4.20的集成,专门为STM32WBAxx微控制器运行而设计。此包提供了一套全面的工具和服务,以促进Amazon Sidewalk应用程序的开发。 SDK的一个关键特性是包含示例,例如Sidewalk通信应用程序。此应用程序演示了如何使用多种不同类型的无线电通信发送字符串,为开发人员提供了在应用程序中实现各种通信协议的实用见解。 Sidewalk配置服务是SDK的另一个关键组件。这些服务包括一个API,用于在设备内部生成和存储AWS证书,确保安全且经过身份验证的通信。此外,SDK提供经过认证的无线电服务和配置,用于蓝牙低功耗(BLE)、频率移位键控(FSK)和长距离(LoRa)通信协议,这对于可靠和高效的数据传输至关重要。 为了支持开发过程,提供了一些合格的开发板作为Sidewalk终端节点。这些包括: - **Nucleo-WBA55CG/Nucleo-WBA65RI + Nucleo-WL55CJ1**:这种双MCU配置提供了一个强大的平台,用于开发和使用Sidewalk应用程序,同时能够在两个MCU上同时运行用户应用程序,同时进行Sidewalk通信。 - **Nucleo-WBA55CG/Nucleo-WBA65RI + X-Nucleo-S2915A1**:此配置展示了使用ST的S2-LP收发器(支持BLE和FSK Sidewalk链路)的成本效益平台。 - **Nucleo-WBA55CG/Nucleo-WBA65RI + SX1262MB2CAS**:此配置支持流行的SX126x收发器系列,用于FSK和CSS(LoRa)链路。 - **Nucleo-WBA55CG/Nucleo-WBA65RI + LR1110MB1LCKS**:此组合旨在利用LR11xx收发器系列的增强功能,如附近的WiFi扫描和GNSS定位。 此外,意法半导体通过其地区现场应用工程师(FAE)提供支持。这确保开发人员可以访问必要的资源和帮助,以成功实施他们的Sidewalk应用程序,解决在开发过程中可能出现的任何挑战。 ### 工具先决条件 - STM32CubeProgrammer v2.18.0+ - STM32CubeIDE v1.18.0+ - 串行行接口软件,例如TeraTerm - AWS账户 ### Sidewalk SDK预构建库 Sidewalk堆栈作为一组预编译的静态库提供,每个库都使用不同的配置配置文件构建,针对特定的用例进行了定制。以下堆栈变体可用: - `sidewalk_sdk_basic` - 常规Sidewalk堆栈,具有减少的功能集,以实现更小的闪存和RAM占用 - `sidewalk_sdk_full` - 常规Sidewalk堆栈,包含所有功能,并在运行时可配置 - `sidewalk_dut` - Amazon的专有应用程序代码,用于`sid_dut`应用程序 - `sidewalk_sdk_qa` - 专门为`sid_dut`应用程序构建的Sidewalk SDK的特殊版本。启用额外的QA功能,这些功能在正常应用程序中不需要 - `sidewalk_halo_diagnostics` - Amazon的专有应用程序代码,用于`sid_diagnostics`应用程序 - `sidewalk_sdk_diagnostics` - 专门为`sid_diagnostics`应用程序构建的Sidewalk SDK的特殊版本。启用额外的物理级诊断功能,这些功能在正常应用程序中不需要 此外,每个堆栈变体都编译了可配置的无线电链路支持,允许最终用户通过仅包含其应用程序所需的无线电接口来优化闪存和RAM使用。以下无线电链路配置可用: - `default` – 包括对所有三个无线电链路的支持:BLE、FSK和CSS(LoRa) - `ble` – 仅支持BLE无线电链路 - `ble_fsk` – 支持BLE和FSK无线电链路 - `ble_lora` – 支持BLE和CSS(LoRa)无线电链路 - `fsk` – 仅支持FSK无线电链路 - `fsk_lora` – 支持FSK和CSS(LoRa)无线电链路 标准Sidewalk堆栈构建针对最小化闪存和RAM占用进行了优化,因此库中不包括内部日志功能(注意:应用程序级日志仍然完全受支持)。对于需要诊断或调试功能的场景,具有`_with_logs`后缀的替代库变体可用。这些变体与其对应的标准构建在功能上相同,唯一的区别是添加了内部日志功能。这种添加功能会导致闪存占用略有增加。为了在Sidewalk SDK评估期间增强可观察性,提供的STM32CubeIDE参考项目默认配置为使用启用日志记录的变体。 STM32CubeIDE中的预构建SDK库以配置STM32WBAxx设备

Picture17b Picture17a

### STM32WBAxx上的Sidewalk端口 STM32WBAxx上的Sidewalk端口包括`ble_adapter`,用于将Sidewalk专有API映射到意法半导体的BLE堆栈,以及`serial_bus`,用于将SPI通信驱动程序映射到物理SPI传输驱动程序和外围设备。

Picture18

### Sidewalk SDK应用程序 Sidewalk SDK包括几个应用程序,旨在演示和评估Sidewalk解决方案的各个方面: | 应用程序 | 范围/描述 | |----------|------------| | [sid_900](/apps/st/stm32wba/sid_900/) | 通过初始化无线电、同步、注册和发送字符串,演示终端节点与AWS Sidewalk云之间的连接。 - 多种无线电配置(BLE-FSK、BLE-FSK、BLE-LoRa、FSK-LoRa、FSK-only) - Sidewalk应用程序开发的起点 | | [sid_application_install_manager](/apps/st/stm32wba/sid_application_install_manager/) | 为STMicroelectronics Sidewalk SDK开发的加密引导加载程序 | | [sid_ble](/apps/st/stm32wba/sid_ble/) | 与sid_900类似的应用程序,但仅使用BLE链路。此应用程序可以在STM32WBAxx主机上运行,而无需任何外部亚GHz无线电 | | [sid_demo](/apps/st/stm32wba/sid_demo/) | 具有Web UI的双向Sidewalk通信的端到端示例。更多信息可以在[这里](https://github.com/aws-samples/aws-iot-core-for-amazon-sidewalk-sample-app)找到 | | [sid_diagnostics](/apps/st/stm32wba/sid_diagnostics/) | 通过CLI命令测试和验证无线电,用于CLI命令到STM32WBAxx设备的无线电评估。 - 应用程序也用于制造配置过程 | | [sid_dut](/apps/st/stm32wba/sid_dut/) | 通过CLI和Sidewalk API评估Sidewalk解决方案。 - Sidewalk API:无线电初始化、连接、注册、重置 - 通过Sidewalk链路发送数据 | | [sid_dut_ble_coexistence](
标签:Amazon Sidewalk, AWS, DPI, Echo, MCU, Ring, STM32, STM32WBAxx, 低功耗应用, 内核驱动, 安全通信, 客户端加密, 嵌入式系统, 广域网, 应用开发, 开发工具包, 数据加密, 物联网, 网络协议, 网络连接, 设备管理, 资产追踪