“STM32 + LoRa” 准备和配置参数
LoRa Node 151基于STM32L151CCU6](https://www.st.com/resource/en/datasheet/stm32l151cc.pdf),Turtle Board基于STM32L432KC,我们公司正在逐步将IDE替换为STM32CubeIDE,这是STMicroelectronics官方刚刚为自己的MCU推出的开发工具.基于Eclipse,包括代码跟踪,代码编写,编译,下载,单步调试,并与CubdeMX集成.
摘要
无论使用何种LoRa管理平台,都需要DevEui, AppKey, 等.并确保它与服务器上的相关设置一致.
以下参数对于OTAA模式至关重要:
DevEui – Mote device IEEE EUI (big endian), 8 bytes;
AppEui – Application IEEE EUI (big endian), 8 bytes;
AppKey – AES encryption/decryption cipher application key, 16 bytes;
以下参数对于ABP模式至关重要:
NwkSKey – AES encryption/decryption cipher network session key, 16 bytes;
AppSKey – AES encryption/decryption cipher application session key, 16 bytes;
DevAddr – Device address on the network (big endian), uint32_t;
准备
正确安装STM32CubeIDE和STM32CubeProgrammer](https://www.st.com/zh/development-tools/stm32cubeprog.html) correctly.
A standard LoRaWAN gateway with at least 8 channels (based on SX1301/8 base band chip will be OK), and make sure your gateway had already connected to a LoRa server.
一个STM32 LoRa节点( LoRa Node 151 , Turtle Board),一根高质量的Micro-USB数据线和一个ST-LINK.
配置步骤
LoRa节点的LoRaWAN例程代码是一个STM32CubeIDE项目,下面是基本的配置步骤.
正确下载并安装
STM32CubeIDE
和STM32CubeProgramme
.双击
.project
文件,打开这个工程.
第一次运行时,可能会出现以下对话框,单击是,然后单击确定.
修改宏定义:设置工作频段、工作模式和调试打印
ACTIVE_CLASS
CLASS_A
CLASS_B
–目前不支持CLASS_C
ACTIVE_REGION
LORAMAC_REGION_AS923
LORAMAC_REGION_AU915
LORAMAC_REGION_CN470
LORAMAC_REGION_CN779
LORAMAC_REGION_EU433
LORAMAC_REGION_EU868
LORAMAC_REGION_KR920
LORAMAC_REGION_IN865
LORAMAC_REGION_US915
LORAMAC_REGION_US915_HYBRID
LORAMAC_REGION_AU915_SB2
LORAMAC_REGION_AS923_AS1
LORAMAC_REGION_AS923_AS2
REGION_EU868
设置为与ACTIVE_REGION
对应的频段USE_DEBUGGER
如果定义
USE_DEBUGGER
,默认串口(PA9-TX, PA10-RX)将打印调试信息.如果删除
USE_DEBUGGER
,则不会打印调试信息.
在
main.c
文件中将DEVICE_EUI
,APPLICATION_KEY
,APPLICATION_EUI
修改为你需要的值.在
main.c
文件中将userChannelMask
,overTheAirActivation
和其他参数设置为你需要的值.overTheAirActivation
true
–OTAAfalse
–ABP
在
prepareTxFrame
中填入你要发送的数据.
现在,把程序下载到你的开发板上,如果一切正常,它应该可以正常运行.
你或许需要:如何将固件下载到STM32 LoRa节点(LoRa Node 151,Turtle Board).