Individální projekty MPOA

Mikroprocesory s architekturou ARM

Uživatelské nástroje

Nástroje pro tento web


2019:lora-stm

Toto je starší verze dokumentu!


LoRaWAN stack I-CUBE-LRWAN

Vypracoval: Pavel Němec


Zadání

Prostudujte funkci softwarového balíku I-CUBE-LRWAN. K vhodnému vývojovému kitu s procesorem STMicroelecotrnics připojte komunikační modul RFM95W, který obsahuje čip kompatibilní s SX1276. Portujte stack I-CUBE-LRWAN na vybraný vývojový kit a demonstrujte LoRaWAN komunikaci v síti The Things Network.

Úvod

LoRa

LoRa je technologie umožňující v IoT komunikovat se zařízeními na velké vzdálenosti (více než 10 km) s malou spotřebou energie a za nízkou cenu, čímž vyplňuje mezeru dosavadních technologií. Není cílem přenášet velké množství dat jako jsou videa nebo hlas. Technologie je spíše zaměřena na přenos malého množství dat (například ze senzorů nebo posílání jednoduchých příkazů). V Evropě se pro přenos informací využívají frekvence 433 MHz a 868 MHz.

SEM VLOŽIT OBRÁZEK LoRa

Zdroj

Koncové zařízení se připojuje do sítě LoRaWAN díky bránám umístěným po celém světě. Z nich pak data pokračují dále na aplikační server, realizovaný například v The Things Network.

SEM VLOŽIT OBRÁZEK LoRaWAN Zdroj

The Things Network

The Things Network je nízkonákladová síť pro IoT budovaná jednotlivými uživateli. Její použití je vcelku jednoduché a intuitivní.

I-CUBE-LRWAN

Softwarový balík I-CUBE-LRWAN je založen na STM32 HAL knihovnách a umožňuje komunikaci podle specifikace protokolu LoRaWAN. Podporované vývojové desky STM32 lze vidět v následující tabulce:

SEM VLOŽIT OBRÁZEK Availability Zdroj

1 Dostupné v STM32Cube, takže portace je jednoduchá.

Byla zvolena vývojová deska F4 (konkrétně NUCLEO-F429ZI).

Koncové zařízení

Třídy

Koncová zařízení se dělí do tří tříd: A, B a C. Do třídy A spadají zařízení napájené z baterie, které vyšlou signál v uplinku a následně ve dvou časových oknech přijímají data. Zařízení třídy B jsou rovněž napájeny z baterie a mají o něco vyšší spotřebu a časová okna pro příjem dat mohou být otevřeny i v případě přijetí tzv. beacon z brány v definovaném časovém slotu. Zařízení třídy C nebývají napájeny baterií ale zdrojem, mají největší spotřebu energie a jsou schopny přijímat data prakticky kdykoliv mimo okamžik vysílání. Ve zvolené konfiguraci je možné realizovat i koncové zařízení třídy C.

Aktivace

Jsou dva způsoby aktivace OTAA (Over-the-air activation) a ABP (Activation by personalization). V případě OTAA je v zařízení i aplikačním serveru uložen tajný klíč (AppKey). Během připojovacího procesu aplikační server navíc vygeneruje další dva klíče pro zašifrování příkazů a dat. V případě ABP jsou tyto dva klíče předem uloženy do paměti koncového zařízení a lze tedy komunikovat s aplikačním serverem přímo. V The Things Network lze zvolit, která z těchto dvou metod bude použita.

Realizace

Registrace v The Things Network

The Things Network se používá pro komunikaci se zařízením, proto je potřeba si zde vytvořit účet a v konzoli vytvořit novou aplikaci a v ní zaregistrovat nové zařízení. Systém pak pro dané zařízení vygeneruje potřebné klíče v závislosti na zvolené aktivační metodě.

SEM VLOŽIT OBRÁZKY The Things Network

Software

Po stažení softwarového balíku I-CUBE-LRWAN lze vyzkoušet ukázkové projekty v něm obsažené. Jelikož projekty jsou určeny pro jiné vývojové prostředí (μVision) a jinou desku, posloužily především pro inspiraci. Jako vývojové prostředí bylo zvoleno STM32 Cube IDE. Po vytvoření projektu pro zvolenou vývojovou desku (Nucleo-F429ZI) se přidají soubory ze softwarového balíku I-CUBE-LRWAN. Především budou potřeba hlavní funkce pro komunikaci v síti LoRaWAN (složka Middlewares/LoRaWAN). Popis jednotlivých souborů a návod k použití se nachází v tomto souboru. Lze také použít soubory z ukázkových projektů, například Projects\STM32L476RG-Nucleo\Applications\LoRa\End_Node. V souboru Commissioning.h je potřeba zvolit aktivační metodu a přepsat klíče klíči vygenerovanými v The Things Network.

Proběhla spousta pokusů dát nějak potřebné soubory dohromady a upravit v nich, co bylo třeba, nicméně komunikaci na Nucleo-F429ZI s modulem RFM95W se bohužel mi nepodařilo zprovoznit v žádném vývojovém prostředí.

2019/lora-stm.1579384100.txt.gz · Poslední úprava: 2020/01/18 22:48 autor: Pavel Němec