“STM32 + LoRa” 准备和配置参数

[English]

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;

 

准备

 

配置步骤

LoRa节点的LoRaWAN例程代码是一个STM32CubeIDE项目,下面是基本的配置步骤.

  • 正确下载并安装STM32CubeIDESTM32CubeProgramme.

  • 双击.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–OTAA

      false–ABP

  • prepareTxFrame中填入你要发送的数据.

现在,把程序下载到你的开发板上,如果一切正常,它应该可以正常运行.