Skip to main content

Wio-E5 开发套件

note

本文档由 AI 翻译。如您发现内容有误或有改进建议,欢迎通过页面下方的评论区,或在以下 Issue 页面中告诉我们:https://github.com/Seeed-Studio/wiki-documents/issues

pir

LoRaWAN® 是 LoRa Alliance® 授权使用的标志。LoRa® 是 Semtech Corporation 或其子公司的商标。

Wio-E5 开发套件是一个紧凑的开发工具集,可帮助您释放 Wio-E5 STM32WLE5JC 的强大性能。套件包括一个 Wio-E5 开发板、一根天线(EU868/US915)、一根 USB Type-C 数据线和一个 2*AA 3V 电池座。

Wio-E5 开发板内嵌 Wio-E5 STM32WLE5JC 模块,支持全球频段的 LoRaWAN® 协议。它引出了 Wio-E5 的全部 GPIO,支持多种数据协议和接口,包括 RS-485、Grove、母/公接头等。这是快速测试和快速原型设计 LoRa® IoT 项目的理想选择。

Wio-E5 开发板内嵌 Wio-E5 STM32WLE5JC 模块,这是全球首款将 LoRa RF 和 MCU 芯片集成到单一小芯片中的模块,并通过了 FCC 和 CE 认证。它由 ARM Cortex-M4 内核和 Semtech SX126X LoRa® 芯片驱动,支持全球频段的 LoRaWAN® 和 LoRa® 协议,以及 (G)FSK、BPSK、(G)MSK 和 LoRa® 调制。

在此处了解更多关于 Wio-E5 的信息。

Wio-E5 开发板在空旷区域的传输距离可达 10 公里。板载 Wio-E5 模块的睡眠电流低至 2.1 uA(WOR 模式)。它采用工业标准设计,工作温度范围为 -40 ℃ ~ 85℃,高灵敏度范围为 -116.5 dBm ~ -136 dBm,输出功率在 3.3V 时可达 +20.8dBm。

Wio-E5 开发板还具有丰富的接口。为了充分发挥 Wio-E5 模块的功能,Wio-E5 开发板引出了 Wio-E5 的全部 28 个引脚,并提供了丰富的接口,包括 Grove 接口、RS-485 端子、公/母针脚接头,方便您连接不同接口和数据协议的传感器和模块,节省焊接时间。您还可以通过连接 2 节 AA 电池的电池座为开发板供电,在缺少外部电源时实现临时使用。这是一款用户友好的开发板,适用于轻松测试和快速原型设计。

由于 Wio-E5 是一款带有 MCU 的 LoRaWAN® 芯片,主要有以下三种使用方式:

1: 通过 USB 将 Wio-E5 开发板连接到 PC,并通过 AT 指令控制

开发板内置 USB 转 UART 功能,您只需使用 USB Type-C 数据线将 Wio-E5 开发板连接到 PC,并使用串口通信软件发送 AT 指令并读取数据。

2: 通过 UART 将 Wio-E5 开发板连接到另一块主板,并通过 AT 指令控制

例如,通过 UART 将 Wio-E5 开发板连接到 Seeeduino XIAO 和扩展板,并通过 Arduino IDE 串口监视器发送 AT 指令并读取数据。

3: 使用 SDK 开发用户应用程序

通过使用 STM32Cube Programmer(由 STMicroelectronics 官方提供的 SDK)开发带有 MCU 功能的 LoRa® 开发板。要下载此 SDK 资源,请在下方的学习和文档资源中查找。

凭借上述所有卓越功能,Wio-E5 开发板将成为物联网设备开发、测试、原型设计以及在远距离、超低功耗物联网场景(如智能农业、智能办公和智能工业)中的应用的优秀选择。

如果您对 LoRa® 和 LoRaWAN® 技术不熟悉,请详细查看此博客 LoRapedia

特性

  • 超低功耗和高性能

  • 轻松测试和快速原型设计

  • 全 GPIO 引出至丰富接口,包括 RS-485、Grove 等

  • 支持全球 LoRaWAN® 和 LoRa® 频率计划

  • 长距离传输范围可达 10 公里(空旷区域理想值)

硬件概览

pir

pir

规格参数

参数规格
尺寸Wio-E5 开发板:85.6*54mm  包装:200*130*50mm
电压 - 输入3-5V(电池)/ 5V(USB Type-C)
电压 - 输出EN 3V3 / 5V
功率 - 输出在 3.3V 时可达 +20.8dBm
频率EU868 / US915 / AU915 / AS923 / KR920 / IN865
协议LoRaWAN®
灵敏度-116.5dBm ~ -136dBm
接口USB Type-C / JST2.0 / Grove*3(IIC*2/UART*1)/ RS485 / SMA-K / IPEX
调制LoRa®、(G)FSK、(G)MSK、BPSK
工作温度-40℃ ~ 85℃
电流LoRa-E5 模块睡眠电流低至 2.1uA(WOR 模式)
零件清单:
Wio-E5 开发板 *1
天线(EU868/US915)*1
USB TypeC (20cm) *1
2*AA 3V 电池盒 *1

应用场景

  • Wio-E5 模块的便捷测试
  • 使用 Wio-E5 快速构建 LoRa® 设备原型
  • 任意远距离无线通信应用开发
  • LoRa® 和 LoRaWAN® 应用学习与研究

pir

应用说明

1. 出厂 AT 固件

Wio-E5 系列内置了 AT 指令固件,支持 LoRaWAN® Class A/B/C 协议和广泛的频率计划:EU868/US915/AU915/AS923/KR920/IN865。借助此 AT 指令固件,开发者可以轻松快速地构建原型或应用。

AT 指令固件包含用于 DFU 的引导加载程序和 AT 应用程序。"PB13/SPI_SCK/BOOT" 引脚用于控制 Wio-E5 停留在引导加载程序中或跳转到 AT 应用程序。当 PB13 为高电平时,模块将在复位后跳转到 AT 应用程序,默认波特率为 9600。当 PB13 为低电平时(按下 Wio-E5 开发套件上的 "Boot" 按钮),模块将停留在引导加载程序中,并以 115200 波特率每秒发送一次 "C" 字符。

note
  • 出厂 AT 固件已设置为 RDP(读取保护)等级 1,开发者需要先使用 STM32Cube Programmer 移除 RDP。请注意,将 RDP 回归到等级 0 会导致闪存存储器被完全擦除,且无法恢复出厂 AT 固件。
  • Wio-E5 模块上的 "PB13/SPI_SCK/BOOT" 引脚只是一个普通 GPIO 引脚,并非 MCU 的 "BOOT0" 引脚。此 "PB13/SPI_SCK/BOOT" 引脚在出厂 AT 固件的引导加载程序中用于决定跳转到 APP 或停留在引导加载程序(用于 DFU)。实际的 "BOOT0" 引脚未引出到模块,因此在开发低功耗应用时需特别注意。

2. 时钟配置

2.1 HSE

  • 32MHz TCXO

  • TCXO 电源:PB0-VDD_TCXO

2.2 LSE

  • 32.768KHz 晶体振荡器

3. 射频开关

Wio-E5 模块仅通过 RFO_HP 进行传输:

  • 接收:PA4=1, PA5=0

  • 传输(高输出功率,SMPS 模式):PA4=0, PA5=1

入门指南

快速开始使用 AT 指令

准备工作

  • 步骤 1. 通过 Type-C 数据线将 Wio-E5 开发套件连接到 PC

  • 步骤 2. 打开串口工具(例如 Arduino 串口监视器),选择正确的 COM 端口,将波特率设置为 9600,并选择 Both NL & CR

  • 步骤 3. 尝试发送 "AT",您将看到响应。

pir

基本 AT 指令

  • AT+ID // 读取所有信息,包括 DevAddr(ABP)、DevEui(OTAA)、AppEui(OTAA)

  • AT+ID=DevAddr // 读取 DevAddr

  • AT+ID=DevEui // 读取 DevEui

  • AT+ID=AppEui // 读取 AppEui

  • AT+ID=DevAddr,"devaddr" // 设置新的 DevAddr

  • AT+ID=DevEui,"deveui" // 设置新的 DevEui

  • AT+ID=AppEui,"appeui" // 设置新的 AppEui

  • AT+KEY=APPKEY,"16 bytes length key" // 更改应用会话密钥

  • AT+DR=band // 更改频段计划

  • AT+DR=SCHEME // 检查当前频段

  • AT+CH=NUM, 0-7 // 启用通道 0~7

  • AT+MODE="mode" // 选择工作模式:LWOTAA、LWABP 或 TEST

  • AT+JOIN // 发送 JOIN 请求

  • AT+MSG="Data to send" // 用于发送无需服务器确认的字符串格式帧

  • AT+CMSG="Data to send" // 用于发送必须由服务器确认的字符串格式帧

  • AT+MSGHEX="xx xx xx xx" // 用于发送无需服务器确认的十六进制格式帧

  • AT+CMSGHEX="xx xx xx xx" // 用于发送必须由服务器确认的十六进制格式帧

连接并向 The Things Network 发送数据

  • 步骤 1. 访问 The Things Network 网站并注册新账户

  • 步骤 2. 登录后,点击您的个人资料并选择 Console

pir

  • 步骤 3. 选择一个集群以开始添加设备和网关

pir

  • 步骤 4. 点击 Go to applications

pir

  • 步骤 5. 点击 + Add application

pir

  • 步骤 6. 填写 Application ID 并点击 Create application

pir

注意: 此处 Application nameDescription 并非必填字段。如果 Application name 留空,默认将使用与 Application ID 相同的名称。

以下是新创建的应用程序

pir

  • 步骤 7. 点击 + Add end device

pir

  • 步骤 8. 点击 Manually,手动输入注册凭据

pir

  • 步骤 9. 根据您的地区选择 Frequency plan。同时确保您使用的频率与将连接此设备的网关频率一致。选择 MAC V1.0.2 作为 LoRaWAN® 版本,并选择 PHY V1.0.2 REV B 作为 区域参数版本。这些设置符合 Wio-E5 的 LoRaWAN® 协议栈。

pir

  • 步骤 10. 当 Wio-E5 模块仍然可以通过串口控制台访问时,在串口监视器上发送以下 AT 命令:

    • AT+ID=DevEui 获取设备 EUI
    • AT+ID=AppEui 获取应用 EUI
    • AT+KEY=APPKEY,"2B7E151628AED2A6ABF7158809CF4F3C" 设置应用密钥

输出结果如下:

Tx: AT+ID=DevEui
Rx: +ID: DevEui, 2C:F7:F1:20:24:90:03:63
Tx: AT+ID=AppEui
Rx: +ID: AppEui, 80:00:00:00:00:00:00:07
Tx: AT+KEY=APPKEY,"2B7E151628AED2A6ABF7158809CF4F3C"
Rx: +KEY: APPKEY 2B7E151628AED2A6ABF7158809CF4F3C
  • 步骤 11. 将上述信息复制并粘贴到 DevEUIAppEUIAppKey 字段中。End device ID 字段将在填写 DevEUI 时自动填充。最后点击 Register end device

pir

  • 步骤 12. 在 TTN 控制台中注册您的 LoRaWAN® 网关。请参考此处提供的说明。

  • 步骤 13. 输入以下 AT 命令以连接到 TTN:

// 如果使用 US915
AT+DR=US915
AT+CH=NUM,8-15

// 如果使用 EU868
AT+DR=EU868
AT+CH=NUM,0-2

AT+MODE=LWOTAA
AT+JOIN

串口监视器上的输出如下:

Tx: AT+DR=US915
Rx: +DR: US915
Tx: AT+CH=NUM,8-15
Rx: +CH: NUM, 8-15

Tx: AT+MODE=LWOTAA
Rx: +MODE: LWOTAA

Tx: AT+JOIN
Rx: +JOIN: Start
+JOIN: NORMAL
+JOIN: Network joined
+JOIN: NetID 000013 DevAddr 26:01:5F:66
+JOIN: Done

如果您在串口控制台上看到 +JOIN: Network joined,这表示您的设备已成功连接到 TTN!

您还可以在 End devices 页面上检查设备状态。

pir

  • 步骤 14. 输入以下 AT 命令以向 TTN 发送数据:
// 向 TTN 发送字符串 "HELLO"
Tx: AT+MSG=HELLO
Rx: +MSG: Start
+MSG: FPENDING
+MSG: RXWIN2, RSSI -112, SNR -1.0
+MSG: Done
// 发送十六进制 "00 11 22 33 44"
Tx: AT+MSGHEX="00 11 22 33 44"
Rx: +MSGHEX: Start
+MSGHEX: Done

有关 AT 命令的更多信息,请参考 Wio-E5 AT Command Specification

使用 STM32Cube MCU Package 开发

本节适用于 Wio-E5 开发套件,旨在使用 STM32WL 系列(SDK)的 STM32Cube MCU Package 构建多个应用程序。

注意: 我们已更新库以支持 v1.1.0,这是 STM32WL 系列的 STM32Cube MCU Package 的最新版本。

note

请先阅读 Erase Factory AT Firmware 部分,因为如果需要使用 SDK 进行编程,我们需要擦除工厂 AT 固件。擦除工厂 AT 固件后无法恢复。

准备工作

软件:

硬件:

  • 连接到 LoRaWAN® 网络服务器(例如 TTN)的 LoRaWAN® 网关

  • 一根 USB Type-C 数据线和一个 ST-LINK。将 Type-C 数据线连接到开发板的 Type-C 接口以供电和进行串口通信。将 ST-LINK 连接到 SWD 引脚,连接如下图所示:

connection

GPIO 配置概览

  • 由于 Wio-E5 系列的硬件设计与 ST 官方的 STM32WL55JC 开发板 NUCLEO-WL55JC 略有不同,开发者需要重新配置一些 GPIO,以适配 SDK 示例到 Wio-E5 系列。我们已经重新配置了 GPIO,但我们认为有必要指出差异。
SDK 示例标签NUCLEO-WL55JC 的 GPIOWio-E5 开发套件的 GPIO
RF_CTRL1PC4PA4
RF_CTRL2PC5PA5
RF_CTRL3PC3None
BUT1PA0PB13 (Boot 按钮)
BUT2PA1None
BUT3PC6None
LED1PB15None
LED2PB9PB5
LED3PB11None
DBG1PB12PA0 (D0 按钮)
DBG2PB13PB10
DBG3PB14PB3
DBG4PB10PB4
UsartUsart2(PA2/PA3)Usart1(PB6/PB7)

应用程序

现在我们将探索使用 STM32WL 系列(SDK)的 STM32Cube MCU Package 为 Wio-E5 开发套件构建的几个应用程序。

LoRaWAN® 终端节点

此应用程序将连接 Wio-E5 开发套件到 TTN(The Things Network),并在连接到 LoRaWAN® 网关后发送数据。

  • 步骤 1. 点击此处访问 Seeed-Studio/LoRaWan-E5-Node 仓库,并将其下载为 ZIP 文件。

pir

  • 步骤 2. 解压 ZIP 文件并导航到 LoRaWan-E5-Node > Projects > Applications > LoRaWAN > LoRaWAN_End_Node > STM32CubeIDE

  • 步骤 3. 双击 .project 文件。

  • 步骤 4. 右键点击项目并选择 Properties

pir

  • 步骤 5. 导航到 C/C++ Build > Settings > MCU Post build outputs,勾选 Convert to Intel Hex file (-O ihex) 并点击 Apply and Close

pir

  • 步骤 6. 点击 Build 'Debug',编译应无任何错误。

build

pir

现在我们将修改 Device EUIApplication EUIApplication KEYLoRawan Region

  • 步骤 7. 请按照此指南设置您的 TTN 应用程序,获取您的 Application EUI 并将其复制到 LoRaWAN/App/se-identity.h 中的宏定义 LORAWAN_JOIN_EUI。例如,这里的 Application EUI 是 80 00 00 00 00 00 00 0x07
// LoRaWAN/App/se-identity.h

/*!
* App/Join server IEEE EUI (big endian)
*/
#define LORAWAN_JOIN_EUI { 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07 }
  • 步骤 8. 同样,您可以通过设置 LoRaWAN/App/se-identity.h 中的宏定义 LORAWAN_DEVICE_EUILORAWAN_NWK_KEY 来修改您的 Device EUIApplication Key。确保 LORAWAN_DEVICE_EUILORAWAN_NWK_KEY 与 TTN 控制台中的 Device EUIApp Key 一致。
// LoRaWAN/App/se-identity.h

/*!
* end-device IEEE EUI (big endian)
*/
#define LORAWAN_DEVICE_EUI { 0x2C, 0xF7, 0xF1, 0x20, 0x24, 0x90, 0x03, 0x63 }

/*!
* Network root key
*/
#define LORAWAN_NWK_KEY 2B,7E,15,16,28,AE,D2,A6,AB,F7,15,88,09,CF,4F,3C

pir

  • 步骤 9. 默认的 LoRaWAN® 区域是 EU868,您可以通过设置 LoRaWAN/App/lora_app.h 中的宏定义 ACTIVE_REGION 来修改它。
// LoRaWAN/App/lora_app.h

/* LoraWAN application configuration (Mw is configured by lorawan_conf.h) */
/* Available: LORAMAC_REGION_AS923, LORAMAC_REGION_AU915, LORAMAC_REGION_EU868, LORAMAC_REGION_KR920, LORAMAC_REGION_IN865, LORAMAC_REGION_US915, LORAMAC_REGION_RU864 */
#define ACTIVE_REGION LORAMAC_REGION_US915

pir

  • 步骤 10. 完成上述修改后,重新构建示例并将其编程到您的 Wio-E5。打开 STM32CubeProgrammer,将 ST-LINK 连接到您的电脑,按住设备的 RESET 按钮,然后点击 Connect 并释放 RESET 按钮

pir

  • 步骤 11. 确保 Read Out Protection 为 AA,如果显示为 BB,请选择 AA 并点击 Apply

pir

  • 步骤 12. 现在,进入 Erasing & Programming 页面,选择您的 hex 文件路径(例如:C:\Users\user\Downloads\LoRaWan-E5-Node\Projects\Applications\LoRaWAN\LoRaWAN_End_Node\STM32CubeIDE\Debug\LoRaWAN_End_Node.hex),按照下图选择编程选项,然后点击 Start Programming

pir

编程完成后,您将看到消息 Download verified successfully

  • 步骤 13. 如果您的 LoRaWAN® 网关和 TTN 已设置,Wio-E5 在复位后将成功加入!每 30 秒会向 TTN 发送一个确认的 LoRaWAN® 数据包。如果加入成功,以下日志将打印在串口监视器上(这里使用 Arduino 串口监视器):

pir

  • 恭喜!现在您已将 Wio-E5 连接到 LoRaWAN® 网络!您现在可以继续开发更多令人兴奋的 LoRaWAN® 终端节点应用程序!

注意: Wio-E5 仅支持高功率输出模式,因此您不能在 radio_board_if.h 中使用以下宏定义:

#define RBI_CONF_RFO     RBI_CONF_RFO_LP_HP
// 或
#define RBI_CONF_RFO RBI_CONF_RFO_LP

即使 RBI_CONF_RFOradio_board_if.h 中定义为 RBI_CONF_RFO_LP_HP,它也不会被使用,因为 USE_BSP_DRIVER 已定义,并且 BSP_RADIO_GetTxConfig() 函数返回 RADIO_CONF_RFO_HP

FreeRTOS LoRaWAN®

此应用程序也将 Wio-E5 开发套件连接到 TTN(The Things Network),并在连接到 LoRaWAN® 网关后发送数据。与之前的 LoRaWAN® 终端节点应用程序的区别在于,前者运行在裸机上,而此应用程序运行在 FreeRTOS 下。

  • 步骤 1. 点击这里访问 Seeed-Studio/LoRaWan-E5-Node 仓库并将其下载为 ZIP 文件。

pir

  • 步骤 2. 解压 ZIP 文件并导航到 LoRaWan-E5-Node > Projects > Applications > FreeRTOS > FreeRTOS_LoRaWAN

  • 步骤 3. 双击 .project 文件。

  • 步骤 4. 参考之前 LoRaWAN® 终端节点 应用程序的 步骤 4 - 步骤 13,将 Wio-E5 开发套件连接到 TTN!

FreeRTOS LoRaWAN® AT

此应用程序也将 Wio-E5 开发套件连接到 TTN(The Things Network),并在连接到 LoRaWAN® 网关后发送数据。与之前的 FreeRTOS LoRaWAN® 应用程序的区别在于,您可以使用 AT 命令。

  • 步骤 1. 点击这里访问 Seeed-Studio/LoRaWan-E5-Node 仓库并将其下载为 ZIP 文件。

pir

  • 步骤 2. 解压 ZIP 文件并导航到 LoRaWan-E5-Node > Projects > Applications > FreeRTOS > FreeRTOS_LoRaWAN_AT

  • 步骤 3. 双击 .project 文件

  • 步骤 4. 参考之前 LoRaWAN® End Node 应用中的 步骤 4 - 步骤 12

  • 步骤 5. 打开一个串口监视器,例如 Arduino Serial Monitor,你将看到以下输出

pir

  • 步骤 6. 输入 AT? 并按 ENTER 键即可查看所有可用的 AT 命令

pir

  • 步骤 7. 如果你仍然想更改 Device EUIApplication EUIApplication KEYLoRawan Region,可以使用 AT 命令进行更改。然而,在本示例中,这些参数已经在 se-identity.hlora_app.h 中设置好了

  • 步骤 8. 输入 AT+JOIN=1,当加入成功时,你将看到以下输出!

pir

注意: 此处应使用 AT+JOIN=(Mode) 格式。Mode 对应于 0 表示 ABP1 表示 OTAA

FreeRTOS 低功耗

此应用程序将在 Wio-E5 开发套件上启用低功耗模式。一旦应用程序被烧录,开发板将正常消耗电能 2 秒,然后进入低功耗模式 2 秒,如此循环。

  • 步骤 1. 点击 这里 访问 Seeed-Studio/LoRaWan-E5-Node 仓库并下载为 ZIP 文件

pir

  • 步骤 2. 解压 ZIP 文件并导航到 LoRaWan-E5-Node > Projects > Applications > FreeRTOS > FreeRTOS_LowPower

  • 步骤 3. 双击 .project 文件

  • 步骤 4. 右键点击项目并选择 Properties

pir

  • 步骤 5. 导航到 C/C++ Build > Settings > MCU Post build outputs,勾选 Convert to Intel Hex file (-O ihex) 并点击 Apply and Close

pir

  • 步骤 6. 点击 Build 'Debug',编译应无错误

pir

pir

  • 步骤 7. 打开 STM32CubeProgrammer,将 ST-LINK 连接到你的电脑,按住设备的 RESET 按钮,然后点击 Connect 并释放 RESET 按钮

pir

  • 步骤 8. 确保 Read Out Protection 为 AA,如果显示为 BB,请选择 AA 并点击 Apply

pir

  • 步骤 9. 现在,进入 Erasing & Programming 页面,选择你的 hex 文件路径(例如:C:\Users\user\Downloads\LoRaWan-E5-Node\Projects\Applications\FreeRTOS\FreeRTOS_LowPower\Debug\FreeRTOS_LowPower.hex),按照下图选择编程选项,然后点击 Start Programming

pir

编程完成后,你将看到消息 Download verified successfully

  • 步骤 10. 将 Wio-E5 开发套件连接到电脑并接入功率计。你会注意到开发板上的红色 LED 每秒闪烁一次,开发板在正常和低功耗状态之间切换(功率计上的电流在低功耗状态下会下降 1 秒,然后在正常工作状态下恢复 1 秒)

pir

低功耗

此应用程序也将在 Wio-E5 开发套件上启用低功耗模式。与之前的 FreeRTOS 低功耗应用程序的区别在于,前者运行在 FreeRTOS 上,而此应用程序运行在裸机环境下。

  • 步骤 1. 点击 这里 访问 Seeed-Studio/LoRaWan-E5-Node 仓库的 qian 分支并下载为 ZIP 文件

pir

  • 步骤 2. 解压 ZIP 文件并导航到 LoRaWan-E5-Node > Projects > Applications > LowPower

  • 步骤 3. 双击 .project 文件

  • 步骤 4. 参考之前 FreeRTOS LowPower 应用程序的 步骤 4 - 步骤 10,你将在功率计上看到相同的输出!

资源

Wio-E5 开发板数据表:

Wio-E5 数据手册:

Wio-E5 认证:

相关 SDK:

技术支持与产品讨论

请将任何技术问题提交到我们的 论坛

感谢您选择我们的产品!我们致力于为您提供多种支持,以确保您使用我们的产品时获得顺畅的体验。我们提供了多种沟通渠道,以满足不同的偏好和需求。

Loading Comments...