Individální projekty MPOA

Mikroprocesory s architekturou ARM

Uživatelské nástroje

Nástroje pro tento web


2019:lora-rn2483

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
2019:lora-rn2483 [2020/01/19 22:53]
Radek Závorka
2019:lora-rn2483 [2020/01/20 18:55] (aktuální)
Radek Závorka
Řádek 55: Řádek 55:
 {{:​2019:​ttn.png?​100}} {{:​2019:​ttn.png?​100}}
  
-TTN je budována ​jako nízkonákladová globální datová IoT síť vlastněná a provozovaná uživateli, využívající technologii LoRa. Zahrnuje uzly, brány, síťový server, správu koncových zařízení a integraci s hlavními poskytovateli cloudových služeb a dalšími IoT platformami. Vše je plně konfigurovatelné koncovým uživatelem a veškerá komunikace je zabezpečená. Do sítě je možné zaregistrovat své koncové zařízení,​ které se bude připojovat pomocí veřejných bran. Tyto brány může provozovat každý uživatel za dodržení určitých podmínek. Díky tomu se celá síť dynamicky rozrůstá. Pro bezplatné používání platí určitá omezení. Jedná se o velikost přenášených dat a četnost přenášených zpráv. Velikost zpráv je v řádu desítek až nízkých stovek bajtů a četnost vysílání je maximálně každých pět minut. Vše záleží na potřebách uživatele a možnostech sítě.+TTN je budovaná ​jako nízkonákladová globální datová IoT síť vlastněná a provozovaná uživateli, využívající technologii LoRa. Zahrnuje uzly, brány, síťový server, správu koncových zařízení a integraci s hlavními poskytovateli cloudových služeb a dalšími IoT platformami. Vše je plně konfigurovatelné koncovým uživatelem a veškerá komunikace je zabezpečená. Do sítě je možné zaregistrovat své koncové zařízení,​ které se bude připojovat pomocí veřejných bran. Tyto brány může provozovat každý uživatel za dodržení určitých podmínek. Díky tomu se celá síť dynamicky rozrůstá. Pro bezplatné používání platí určitá omezení. Jedná se o velikost přenášených dat a četnost přenášených zpráv. Velikost zpráv je v řádu desítek až nízkých stovek bajtů a četnost vysílání je maximálně každých pět minut. Vše záleží na potřebách uživatele a možnostech sítě.
  
 {{:​2019:​ttn_sim.png?​}} {{:​2019:​ttn_sim.png?​}}
Řádek 77: Řádek 77:
 TTN akceptuje dvě metody připojení,​ přičemž prefrerována je OTAA(**O**ver-**T**he-**A**ir-**A**ctivation),​ neboť si sama vyjednává šifrovací klíče a nastavení zařízení se zachová i po restartu/​vypnutí. Druhá možnost je ABP (**A**ctivation **B**y **P**ersonalisation),​ ta se doporučuje pro testovací a demonstrační účely, neboť nevyjednává spojení, což může být v případě vytížených bran časově náročné. ​ TTN akceptuje dvě metody připojení,​ přičemž prefrerována je OTAA(**O**ver-**T**he-**A**ir-**A**ctivation),​ neboť si sama vyjednává šifrovací klíče a nastavení zařízení se zachová i po restartu/​vypnutí. Druhá možnost je ABP (**A**ctivation **B**y **P**ersonalisation),​ ta se doporučuje pro testovací a demonstrační účely, neboť nevyjednává spojení, což může být v případě vytížených bran časově náročné. ​
  
-Níže přikládám screen terminálu při komunikaci s modulem po jeho nutném nastavení. Nejdříve byl zaslán příkaz ''​sys get ver'',​ na který modul odpoví verzí s datumem systému. Dále příkazem ''​mac join otaa'',​ byl dán příkaz pro připojení modulu do sítě. Ten odpoví ''​ok'',​ tzn. že rozumí příkazu a vykonal ho. Odpovědí je ''​denied''​. Ta má však 2 významy, buď modul není v síti zaregistrován,​ nebo, jak tomu bylo v tomto případě, modul neobdržel od sítě odpověď. K tomuto stavu docházelo poměrně často vlivem použití nevhodné antény. Při náhledu do konzole TTN však požadavek na autorizaci od modulu přišel a odpověď byla vyslána. Na druhý pokus se však povedlo modul do sítě připojit a modul odpovídá ''​accepted''​. Byl tedy pomocí příkazu ''​mac tx <​type>​ <​portno>​ <​data>''​ vyslán požadavek na vyslání dat. Odpovědí je ''​invalid_param'',​ jelikož je možné ​vylílat ​pouze hexadecimální data a GG není z tohoto rozsahu. Parametr ''​type''​ může být ''​cnf''​ nebo ''​uncnf'',​ tzn., že si můžeme vyžádat potvrzení přijetí dat serverem. Parametr ''​portno''​ značí číslo portu a může být z rozsahu 1 - 223. Druhým již platným pokusem jsou testovací data vyslána a potvrzena. Přihlášením do svého účtu na TTN je provedena kontrola přijetí.+Níže přikládám screen terminálu při komunikaci s modulem po jeho nutném nastavení. Nejdříve byl zaslán příkaz ''​sys get ver'',​ na který modul odpoví verzí s datumem systému. Dále příkazem ''​mac join otaa'',​ byl dán příkaz pro připojení modulu do sítě. Ten odpoví ''​ok'',​ tzn. že rozumí příkazu a vykonal ho. Odpovědí je ''​denied''​. Ta má však 2 významy, buď modul není v síti zaregistrován,​ nebo, jak tomu bylo v tomto případě, modul neobdržel od sítě odpověď. K tomuto stavu docházelo poměrně často vlivem použití nevhodné antény. Při náhledu do konzole TTN však požadavek na autorizaci od modulu přišel a odpověď byla vyslána. Na druhý pokus se však povedlo modul do sítě připojit a modul odpovídá ''​accepted''​. Byl tedy pomocí příkazu ''​mac tx <​type>​ <​portno>​ <​data>''​ vyslán požadavek na vyslání dat. Odpovědí je ''​invalid_param'',​ jelikož je možné ​vysílat ​pouze hexadecimální data a GG není z tohoto rozsahu. Parametr ''​type''​ může být ''​cnf''​ nebo ''​uncnf'',​ tzn., že si můžeme vyžádat potvrzení přijetí dat serverem. Parametr ''​portno''​ značí číslo portu a může být z rozsahu 1 - 223. Druhým již platným pokusem jsou testovací data vyslána a potvrzena. Přihlášením do svého účtu na TTN je provedena kontrola přijetí.
  
 {{:​2019:​term_acc.png}} {{:​2019:​term_acc.png}}
Řádek 86: Řádek 86:
 ===== Aplikace ===== ===== Aplikace =====
  
-Bylo využito programu STM32CubeMX,​ což je software, pomocí kterého se v grafickém rozhranní nakonfigurují jednotlivé periferie mikrokontroléru a následně je vygenerován inicializační odpovídající kód v programovacím jazyce C pro daný procesor. Pro tuto aplikaci bylo nutné ​pouze inicializovat rozhraní UART jako asynchronní s parametry uvedenými v tabulce výše pro modul RN2483. ​+Bylo využito programu STM32CubeMX,​ což je software, pomocí kterého se v grafickém rozhranní nakonfigurují jednotlivé periferie mikrokontroléru a následně je vygenerován inicializační odpovídající kód v programovacím jazyce C pro daný procesor. Pro tuto aplikaci bylo nutné inicializovat rozhraní UART jako asynchronní s parametry uvedenými v tabulce výše pro modul RN2483 ​a AD převodník pro měření napětí.
  
 Samotný kód pracuje podle následujícího blokového schématu. Samotný kód pracuje podle následujícího blokového schématu.
Řádek 106: Řádek 106:
 ====== Závěr ====== ====== Závěr ======
  
 +Byla demonstrována funkce modulu RN2483, který podporuje technologii LoRa. Tento modul byl zaregistrován do sítě TTN, kde v pětiminutových intervalech posílá hodnotu napájecího napětí mikroprocesoru STM32F4. Pro tento modul byla navržena jednoduchá DPS, aby ho bylo možné spojit s použitým vývojovým kitem STM32F4DISCOVERY. Během realizace projektu jsem řešil problémy s vyrobenou deskou, kdy došlo ke zkratu a zničení modulu. Následně jsem byl tedy nucen přistoupit k "​nadrátování"​ nového modulu, jak je vidět na videu. Jako vylepšení pro pokračování projektu bych navrhoval připojení např. teplotního čidla aby bylo možné sledovat vývoj teploty v místnosti nebo venku. Dále při reálném použití by bylo vhodné vyrobit samostatný malý plošný spoj bez použití vývojového kitu, který bude napájen z baterie a může tak být umístěn téměr kamkoliv. Pro dlouhou životnost baterie by bylo vhodné aktivování sleep módu, aby bylo odebíráno co nejméně energie.
 ---- ----
 +
 +====== Video ======
 +
 +[[https://​www.youtube.com/​watch?​v=Fnwz3t4cf6o&​feature=youtu.be|Video ukázka]]
 +----
 +
 +==== Zdrojový kód aplikace====
 +
 +{{:​2019:​xzavor03_mpoa_projekt.zip|Zdrojový soubor projektu}}
 +----
 +
  
2019/lora-rn2483.1579470801.txt.gz · Poslední úprava: 2020/01/19 22:53 autor: Radek Závorka