0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用CubeMX創(chuàng)建STM32WL板子的LoRaWAN應(yīng)用

STM32單片機(jī) ? 來源:STM32單片機(jī) ? 作者:STM32單片機(jī) ? 2022-07-08 13:09 ? 次閱讀

引言

本篇 LAT 介紹使用 CubeMX 創(chuàng)建基于采用 STM32WLE5JC/STM32WL55JC 的 STM32WL 板子 的 LoRaWAN 應(yīng)用。

其中,參考使用了 STM32Cube_FW_WL_V1.0.0ProjectsNUCLEOWL55JCApplicationsLoRaWANLoRaWAN_End_Node 創(chuàng)建一個 WLE5Jx_EndNode 的例子。

關(guān)于不同 MCU 間的移植可參考

UM1718 11.9 Switching to another MCU

UM1718 15 Tutorial 5: Exporting current project configuration to a compatible MCU

需要提前準(zhǔn)備的環(huán)境:

c2e688b8-fdd8-11ec-ba43-dac502259ad0.png

1.配置 CubeMX

1.1 配置 CubeMX 并下載 CubeWL

可以使用 CubeMX 默認(rèn)安裝的倉庫目錄也可以自定義倉庫目錄,本例使用自定義的倉庫目錄C:UsersgongwSTM32CubeRepositoryCubeWL,如下Help=>Updater Settings=>Repository Forlder=>C:UsersgongwSTM32CubeRepositoryCubeWL=>OK

c2f98440-fdd8-11ec-ba43-dac502259ad0.png

c30c69de-fdd8-11ec-ba43-dac502259ad0.png

選擇 Manage software installations 中的 Install or remove embedded software packages 下的

“INSTALL / REMOVE”

c322ca76-fdd8-11ec-ba43-dac502259ad0.png

c341be04-fdd8-11ec-ba43-dac502259ad0.png

點(diǎn)Refresh 更新數(shù)據(jù)庫

c369052c-fdd8-11ec-ba43-dac502259ad0.png

Fresh 結(jié)束后,點(diǎn)開 STM32WL 左側(cè)的黑色三角,選中 STM32WL 下版本 1.0.0 的 STM32Cube

MCU Package for STM32WL Series,點(diǎn) Install Now

c37f2e74-fdd8-11ec-ba43-dac502259ad0.png

點(diǎn)擊 Close

1.2 CubeMX 新建項(xiàng)目

打開 STM32CubeMX,在 New Project 下有三中選擇, 請根據(jù)需求選擇 New Project 的方式!

c39ad386-fdd8-11ec-ba43-dac502259ad0.png

1.2.1 Start My project from MCU

第 1 種可使用于所有的 WL 產(chǎn)品,只能生成和配置的用戶自定義(User Defined)的LoRaWAN/SigFox/SUBGHZ 應(yīng)用,不能生成 CubeWL 中 AT_Slave/EndNode/PingPong demo

1.2.2 Start My project from BOARD

第 2 種適用于 NUCLEO-WL55JC1 和 NUCLEO-WL55JC1 兩種 Demo 板,只能生成和配置的用

戶自定義(User Defined)的LoRaWAN/SigFox/SUBGHZ 應(yīng)用,不能生成 CubeWL 中AT_Slave/EndNode/PingPong demo

1.2.3 Start My project from EXAMPLES

第 3 種適用于生成 CubeWL 中 NUCLEO-WL55JC1 和 NUCLEO-WL55JC1 的 Examples,可生成和配置 CubeWL 中AT_Slave/EndNode/PingPong demo

1.2.4 Start My project from MCU STM32WLEx

在 New Project 下選擇,”Start My project from MCU ”下的”ACCESS TO MCU SELECTOR“

c3aac462-fdd8-11ec-ba43-dac502259ad0.png

c3bbc50a-fdd8-11ec-ba43-dac502259ad0.png

c3d48e82-fdd8-11ec-ba43-dac502259ad0.png

c3e8ba06-fdd8-11ec-ba43-dac502259ad0.png

c4000300-fdd8-11ec-ba43-dac502259ad0.png

c40e6486-fdd8-11ec-ba43-dac502259ad0.png

c429c85c-fdd8-11ec-ba43-dac502259ad0.png

c447767c-fdd8-11ec-ba43-dac502259ad0.png

c4650c82-fdd8-11ec-ba43-dac502259ad0.png

1.3 CubeMX 導(dǎo)入?yún)⒖柬?xiàng)目

c4a063ea-fdd8-11ec-ba43-dac502259ad0.png

c4b7d14c-fdd8-11ec-ba43-dac502259ad0.png

c4cd5f76-fdd8-11ec-ba43-dac502259ad0.png

c4d9d35a-fdd8-11ec-ba43-dac502259ad0.png

此時再查看 File =>Import Project 選項(xiàng),變?yōu)榛疑?,表示新?xiàng)目已被配置,不能再 import 參考項(xiàng)

目。

c4f997ee-fdd8-11ec-ba43-dac502259ad0.png

1.4 CubeMX 配置項(xiàng)目

1.4.1 CubeMX 配置 Project Manager

選擇 Project Manager

1.4.1.1 配置 Project

選擇右側(cè) Project 并配置如下:

c5175036-fdd8-11ec-ba43-dac502259ad0.png

c5294a52-fdd8-11ec-ba43-dac502259ad0.png

注意:

通過 Browse 選擇 Project 保存的目錄

項(xiàng)目名稱 WLEx_AT_Slave 創(chuàng)建在STM32Cube_FW_WL_V1.0.0ProjectsNUCLEO

WL55JCApplicationsLoRaWAN 下,和LoRaWAN_End_Node 同級目錄,即C:UsersgongwSTM32CubeRepositoryCubeWLSTM32Cube_FW_WL_V1.0.0ProjectsNUCLEO-

WL55JCApplicationsLoRaWANWLEx_AT_Slave,以便于與 LoRaWAN_End_Node 進(jìn)行比較

配置 Application Structure 為 Advanced 與 basic 有什么區(qū)別?

Application Structure 為 Advanced 時目錄結(jié)構(gòu)分類分級目錄更清晰。

Application Structure 為 Basic 時,所有的*.h 都在 WLEx_AT_SlaveInc 目錄下,所有的*.c 在

WLEx_AT_SlaveSrc 目錄下。

一旦生成過一次代碼后目錄結(jié)構(gòu)就無法更改了?。?!

c5407f6a-fdd8-11ec-ba43-dac502259ad0.png

1.4.1.2 配置 Code Generator

選擇右側(cè) Code Generator 并配置如下,選擇”Add necessary library files as reference in the toolchain projectconfiguration file “,這樣將不生成 Drivers 和 Middlewares 目錄。

選擇 Generated files 下的“Generate peripheral initialization as a pair of ‘.c/.h’ per peripheral”

c55144c6-fdd8-11ec-ba43-dac502259ad0.png

c565aeac-fdd8-11ec-ba43-dac502259ad0.png

注意:

Copy all used library Package (如復(fù)制 DriversSTM32WLxx_HAL_Driver 下的所有驅(qū)動)

WLEx_AT_Slave 復(fù)制到其他目錄下,還能工作

Copy only the necessary library files(如僅復(fù)制 DriversSTM32WLxx_HAL_Driver 下使用到的驅(qū)動)WLEx_AT_Slave 復(fù)制到其他目錄下,還能工作

Add necessary library files as reference in the toolchain project configuration file(不生成 Drivers 和Middlewares 目錄,僅參考DriversSTM32WLxx_HAL_Driver 下的所有驅(qū)動)

WLEx_AT_Slave 復(fù)制到其他目錄下,不能工作

參考 UM1718 4.9 Project Manager view

c582ecc4-fdd8-11ec-ba43-dac502259ad0.png

3.配置外設(shè)

2.1 使能外設(shè)

2.1.1 Middleware=>LORAWAN

Middleware=>LORAWAN=>Mode 中勾選Enabled,LORAWAN 功能就使能了,同時SIGFOX 和 SUBGHZ_PHY 就失能了,默認(rèn)界面如下,后續(xù)再繼續(xù)配置 LORAWAN 應(yīng)用。

c5972392-fdd8-11ec-ba43-dac502259ad0.png

2.1.2 Timers=>RTC 使能

Timers=>RTC=>勾選 Activate Clock Source,并配置 Alarm A 為 Internal Alarm A

c5b5a560-fdd8-11ec-ba43-dac502259ad0.png

2.2 RTC

配置 Alarm A 為 Internal Alarm A

c5c7c1d2-fdd8-11ec-ba43-dac502259ad0.png

Clock Configuration => RTC Clock Mux=>LSE

在 Clock Configuration 中檢查 RTC Clock Mux 是否配置為 LSE

c5e11042-fdd8-11ec-ba43-dac502259ad0.png

Timer =>RTC=>Users Constants

c5f3a2b6-fdd8-11ec-ba43-dac502259ad0.png

c61c6930-fdd8-11ec-ba43-dac502259ad0.png

c6348880-fdd8-11ec-ba43-dac502259ad0.png

Timer =>RTC=>Parameter Settings

c646824c-fdd8-11ec-ba43-dac502259ad0.png

Timer =>RTC=>NVIC Settings

c6657260-fdd8-11ec-ba43-dac502259ad0.png

Middleware => LORAWAN => Platform Settings => Timer Server => RTC

c691db5c-fdd8-11ec-ba43-dac502259ad0.png

2.3 DebugLine

Connectivity=>LPUART1 (AT_Slave)

c6a8215a-fdd8-11ec-ba43-dac502259ad0.png

c6cca58e-fdd8-11ec-ba43-dac502259ad0.png

c6e0ad18-fdd8-11ec-ba43-dac502259ad0.png

c6f7adc4-fdd8-11ec-ba43-dac502259ad0.png

c70e5e84-fdd8-11ec-ba43-dac502259ad0.png

c71bbe6c-fdd8-11ec-ba43-dac502259ad0.png

c7320cf8-fdd8-11ec-ba43-dac502259ad0.png

c757a72e-fdd8-11ec-ba43-dac502259ad0.png

Clock Configuration =>USART2 Clock Mux => SYSCLK

c77378fa-fdd8-11ec-ba43-dac502259ad0.png

Middleware => LORAWAN => LoRaWAN middleware => radio_board_if =>Activate Debug Line

c7847880-fdd8-11ec-ba43-dac502259ad0.png

Platform Settings => VCOM => USART2

c79665e0-fdd8-11ec-ba43-dac502259ad0.png

2.4 System Core => GPIO (RF SW CTRL / BUTTON / LED)

2.4.1 RF_CTRL

NUCLEO-WL55JC

c7b547c6-fdd8-11ec-ba43-dac502259ad0.png

c7d6892c-fdd8-11ec-ba43-dac502259ad0.png

c7f3f322-fdd8-11ec-ba43-dac502259ad0.png

c81fca92-fdd8-11ec-ba43-dac502259ad0.png

2.4.2 LED

配置控制 LED 的 GPIO

c8350fec-fdd8-11ec-ba43-dac502259ad0.png

c8583b84-fdd8-11ec-ba43-dac502259ad0.png

2.4.3 BUT

配置控制 BUTTON 的 GPIO

c875381a-fdd8-11ec-ba43-dac502259ad0.png

c8944c8c-fdd8-11ec-ba43-dac502259ad0.png

c8b73166-fdd8-11ec-ba43-dac502259ad0.png

c8d7bfda-fdd8-11ec-ba43-dac502259ad0.png

2.4.4 DBG

c8ed6a24-fdd8-11ec-ba43-dac502259ad0.png

c9056228-fdd8-11ec-ba43-dac502259ad0.png

2.4.5 SWD(可選)

需使能 Trace and Debug => DEBUG => JTAG and Trace => Serial Wire

c91dad6a-fdd8-11ec-ba43-dac502259ad0.png

c933421a-fdd8-11ec-ba43-dac502259ad0.png

2.4.6 Middleware=>LORAWAN=>Platform Settings

Board resources => LED & BUTTON

Radio => RF SW CTRL

Debug = > Debug Line

c9543894-fdd8-11ec-ba43-dac502259ad0.png

2.5 ADC

Analog=>ADC

c99bec52-fdd8-11ec-ba43-dac502259ad0.png

c9c84324-fdd8-11ec-ba43-dac502259ad0.png

Middleware=>LORAWAN=>Platform Settings => Vrefint T calibration => ADC (EndNode)

3 STM32WL Templates Patches for CubeMX

STM32WL Templates 在如下目錄,如需要可自行定制自己的 Templates

c9f5cc7c-fdd8-11ec-ba43-dac502259ad0.png

針對不同的客戶定制化的板子,硬件外設(shè)配置不一致,客戶可根據(jù)需要定制化自己的外設(shè)配置。

從 NUCLEO-WL55JC(BGA73) 移植到STM32WLExCxUx(QFN48)定制化的板子上,射頻開關(guān)(RF SW CTRL),按鍵(BUTTON), LED 的配置會不一樣,可能導(dǎo)致編譯錯誤,如想生成的代碼不會產(chǎn)生編譯錯誤,需要編輯一下 STM32WL的 template。

3.1 CubeMX template patches for stm32wl

請參考

ca06a286-fdd8-11ec-ba43-dac502259ad0.png

3.2 CubeMX Updates from v6.1.1 to v6.2.0

ca25e876-fdd8-11ec-ba43-dac502259ad0.png

ca5e08b4-fdd8-11ec-ba43-dac502259ad0.png

ca6bdfca-fdd8-11ec-ba43-dac502259ad0.png

4.驗(yàn)證

4.0 參考工程

ca7e0ce0-fdd8-11ec-ba43-dac502259ad0.png

4.1 生成代碼 GENERATE CODE

此時,可以先選擇 GENERATE CODE生成 Project,(如需,請自己選擇項(xiàng)目保存的目錄)

ca8eb34c-fdd8-11ec-ba43-dac502259ad0.png

caa22422-fdd8-11ec-ba43-dac502259ad0.png

cac31394-fdd8-11ec-ba43-dac502259ad0.png

可選擇 Open Project 使用 IDE 直接打開 Project。

或選擇 Open Folder 后,還需再選擇 EWARMProject.eww 打開 Project

cada57f2-fdd8-11ec-ba43-dac502259ad0.png

4.2 編譯并下載

用 IAR 打開STM32Cube_FW_WL_V1.0.0ProjectsNUCLEO

WL55JCApplicationsLoRaWANWLEx_AT_SlaveEWARMProject.eww如果 IAR 之前已經(jīng)打開了 WLEx_AT_Slave,在每次重新生成代碼時都如有如下提示,選擇“Yes

to All”

cb80ab5c-fdd8-11ec-ba43-dac502259ad0.png

按 F7 或選擇 Project=>Make(F7)來編譯工程,如果編譯無錯誤,選擇

Project=>Download=>Download Active Application 下載 WLEx_AT_Slave 應(yīng)用

5 接入 cn1.LoRiot Network Server

如果不需要將 WL 的 Sensor 數(shù)據(jù)轉(zhuǎn)發(fā)到 cn1.LoRiot Network Server 網(wǎng)絡(luò)服務(wù)器上,可跳過此步驟。

如果需要將 WL 的 Sensor 數(shù)據(jù)轉(zhuǎn)發(fā)到 cn1.LoRiot Network Serve 網(wǎng)絡(luò)服務(wù)器上,需用 CubeMX 重新配置下

LORAWAN 的一些參數(shù)。

5.1 WL Sensor End Device 信息更改

5.1.1 配置 REGION_EU868

默認(rèn)配置即可

cbb00672-fdd8-11ec-ba43-dac502259ad0.png

5.1.2 配置 REGION_CN470

cbc2efe4-fdd8-11ec-ba43-dac502259ad0.png

cbe1ec6e-fdd8-11ec-ba43-dac502259ad0.png

cc06d920-fdd8-11ec-ba43-dac502259ad0.png

cc1d2a5e-fdd8-11ec-ba43-dac502259ad0.png

cc4deb58-fdd8-11ec-ba43-dac502259ad0.png

cc72adbc-fdd8-11ec-ba43-dac502259ad0.png

5.2 配置 DevEUI, AppEUI 和 AppKey

在 LoRaWANAppse-identity.h 中更改設(shè)備信息 DevEUI, AppEUI 和 AppKey

cc8bc306-fdd8-11ec-ba43-dac502259ad0.png

DevAddr 不需要設(shè)置靜態(tài)地址,可以配置的

cca9d882-fdd8-11ec-ba43-dac502259ad0.png

ccbc9328-fdd8-11ec-ba43-dac502259ad0.png

5.3 轉(zhuǎn)發(fā)到 myDevuces Cayenne 應(yīng)用服務(wù)器(可選)

cccfa134-fdd8-11ec-ba43-dac502259ad0.png

5.4 WL Sensor End Device 信息獲取和確認(rèn)

其中包含更新過的 WLE5Jx_EndNode.ioc

用 IAR 編譯 ProjectsNUCLEO-WL55JCApplicationsLoRaWANWLE5Jx_EndNodeEWARMProject.eww,并下載

到 WL 中,注意 STLINKv3 的設(shè)置。

連接 WL 串口到 PC,PC 端打開串口,配置如下,然后重啟 WL,會看到 DEV EUI,APP EUI,APP KEY

Open a terminal emulation software such as Tera Term and configure it with the following settings:

– Port: (Virtual COM port number assigned to the board)

– Baud rate: 115200

– Data: 8 bit

– Parity: none

– Stop: 1 bit

cce44d50-fdd8-11ec-ba43-dac502259ad0.png

cd06932e-fdd8-11ec-ba43-dac502259ad0.png

cd1ac240-fdd8-11ec-ba43-dac502259ad0.png

cd3c79c6-fdd8-11ec-ba43-dac502259ad0.png

cd594aa6-fdd8-11ec-ba43-dac502259ad0.png

cd8a2f86-fdd8-11ec-ba43-dac502259ad0.png

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17148

    瀏覽量

    351195
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10900

    瀏覽量

    356005
  • lorawan
    +關(guān)注

    關(guān)注

    3

    文章

    319

    瀏覽量

    23824
  • CubeMx
    +關(guān)注

    關(guān)注

    0

    文章

    31

    瀏覽量

    1340

原文標(biāo)題:工程師筆記|CubeMX創(chuàng)建STM32WLE5Jx LoRa EndNode+cn1.LoRiot應(yīng)用

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    STM32CubeMX STM32WL不能配置LoRaWAN的原因?

    STM32CubeMX 中使用STM32WL配置LoRaWAN時不能配置,請問為什么?
    發(fā)表于 04-02 07:47

    請問STM32WL V1.2.1 Application LoRaWAN Endnode 如何降低 Stopmode 2 下的功耗呢?

    STM32WL V1.2.1 Application LoRaWAN Endnode如何降低Stopmode 2下的功耗呢?求大神解答
    發(fā)表于 12-01 07:36

    新手求助在STM32CubeMX中為STM32WL創(chuàng)建新項(xiàng)目失敗

    我今天在 STM32CubeMX 中為 STM32WL 創(chuàng)建一個新項(xiàng)目,我想使用定時器外設(shè)的“注冊回調(diào)”功能。所以我啟用了回調(diào)功能并生成了項(xiàng)目。當(dāng)我打開它時,沒有定義回調(diào)符號。我開始四處挖掘,發(fā)現(xiàn)
    發(fā)表于 12-01 06:53

    使用stm32wl MCU開始一個新項(xiàng)目時LoRaWAN被鎖定的原因?

    當(dāng)我嘗試使用 stm32wl MCU 開始一個新項(xiàng)目時,我看到 LoRaWAN 被鎖定在 cubeMX 中。當(dāng)我導(dǎo)入一個預(yù)配置項(xiàng)目時,我看到它已啟用,但我不知道是否必須先啟用一些其他外圍設(shè)備才能啟用
    發(fā)表于 12-06 07:41

    使用CubeMX創(chuàng)建基于STM32WL的LoRa應(yīng)用

    本篇 LAT 介紹使用 CubeMX 創(chuàng)建基于 STM32WL 的 LoRa 應(yīng)用。
    的頭像 發(fā)表于 07-18 09:05 ?5718次閱讀

    用于 STM32WL 系列 LoRa?調(diào)制的 RSSI 和 SNR

    用于 STM32WL 系列 LoRa?調(diào)制的 RSSI 和 SNR
    發(fā)表于 11-21 08:11 ?0次下載
    用于 <b class='flag-5'>STM32WL</b> 系列 LoRa?調(diào)制的 RSSI 和 SNR

    面向STM32WL系列的STM32CubeWL入門

    STM32CubeWL 將開發(fā) STM32WL 微控制器應(yīng)用所需的所有通用內(nèi)置軟件組件聚集在單一軟件包中。根據(jù)STM32Cube 計劃,這套組件具有高度可移植性,不僅在 STM32WL
    發(fā)表于 08-31 11:15 ?3次下載

    STM32WL FUOTA應(yīng)用設(shè)計

    電子發(fā)燒友網(wǎng)站提供《STM32WL FUOTA應(yīng)用設(shè)計.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 15:01 ?2次下載
    <b class='flag-5'>STM32WL</b> FUOTA應(yīng)用設(shè)計

    STM32WL安全特性介紹

    電子發(fā)燒友網(wǎng)站提供《STM32WL安全特性介紹.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 15:03 ?0次下載
    <b class='flag-5'>STM32WL</b>安全特性介紹

    STM32WL LoRa RF測試

    電子發(fā)燒友網(wǎng)站提供《STM32WL LoRa RF測試.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 14:45 ?2次下載
    <b class='flag-5'>STM32WL</b> LoRa RF測試

    STM32WL使用STM32CubeMX創(chuàng)建LoRa節(jié)點(diǎn)應(yīng)用

    電子發(fā)燒友網(wǎng)站提供《STM32WL使用STM32CubeMX創(chuàng)建LoRa節(jié)點(diǎn)應(yīng)用.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 14:46 ?1次下載
    <b class='flag-5'>STM32WL</b>使用<b class='flag-5'>STM32CubeMX</b><b class='flag-5'>創(chuàng)建</b>LoRa節(jié)點(diǎn)應(yīng)用

    STM32WL LoRa例程介紹

    電子發(fā)燒友網(wǎng)站提供《STM32WL LoRa例程介紹.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 14:49 ?2次下載
    <b class='flag-5'>STM32WL</b> LoRa例程介紹

    STM32WL軟件簡介

    電子發(fā)燒友網(wǎng)站提供《STM32WL軟件簡介.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 14:51 ?1次下載
    <b class='flag-5'>STM32WL</b>軟件簡介

    STM32WL硬件簡介

    電子發(fā)燒友網(wǎng)站提供《STM32WL硬件簡介.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 14:53 ?2次下載
    <b class='flag-5'>STM32WL</b>硬件簡介

    應(yīng)用筆記 | STM32WL LoRa節(jié)點(diǎn)入網(wǎng)失敗問題分析總結(jié)

    關(guān)鍵字:STM32WL,LoRaWAN,入網(wǎng),OTAA ? 目錄預(yù)覽 1.引言 2.LoRaWAN網(wǎng)絡(luò)架構(gòu) 3.創(chuàng)建CubeMX工程 4.移
    的頭像 發(fā)表于 09-27 17:10 ?2329次閱讀