Antenna Hungária LoRaWAN

 ( VincentV | 2019. szeptember 10., kedd - 15:58 )

Hírolvasás szintjén régóta követem a projektet, de pár napja erőt vettem magamon, és gondoltam kipróbálom a gyakorlatban is. Előre szeretném leszögezni, hogy nincs nagyon Lora-s tapasztalatom, azért is vágtam bele ebbe a kis hobbi projektbe, mert tanulni (is) szeretnék. Regisztráltam itt: https://www.ahrt.hu/hu/fejlesztoknek, tehát van egy accountom amivel be tudok jelentkezni az AH Loriot szerverére. Ezen kívül van egy ilyen devboardom: TTGO T-BEAM.

Arduino IDE-ben próbálkozok, némi olvasgatás után az lmic nevű lora libraryt kezdtem használni, illetve néhány arra épülő példa alapján szeretnék teszt packeteket küldeni az AH hálózatába. Sajnos a neten fellelhető doksik és példakódok szinte mindegyike a TTN (The Things Network) használatáról szól, úgy vettem észre, hogy a Loriotnál használt terminológiák és megoldások egy picit ettől eltérnek. Tulképpen már az alapoknál elakadok, az sem teljesen tiszta, hogy az AH-s dashboardon kapott ID-ket és kulcsokat (euid, appkey, nwskey, appskey) hogyan és milyen formában (pl. milyen byte orderrel) kellene az lmic-el megetetni.

Valaki próbálta már az AH megoldását hasonló hw-vel (occso' kínai rádiómodul + esp alap)? Működhet egyáltalán ilyen eszközzel a dolog? Érdekelnének a tapasztalatok, és ezer kérdésem lenne :)

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

sub

Én próbáltam pár hónapja, de idő hiányában feladtam a dolgot nagyjából pont itt és így.

--
https://iotguru.live

Ez is TTN-re épül sajnos. Ráadásul az AH-nál van egy plusz paraméter (appkey), illetve a byte order továbbra is kérdéses. Pl. az appskey, nwskey esetén a Loriot írja a dashboardon hogy ezeket ne piszkáld, mert AES kulcsok, de pár lmic-es példában mégis csinálnak rajtuk little -> big endian konverziót, merthogy az lmic-nek az kell. Akkor most kell vagy nem? Ha igen, akkor melyiket? Na és a deviceid -t?

Persze nem panaszkodni akarok, jó infó források ezek (van egy csomó egyéb TTN-re épülő példakód, sokat lestem már belőlük), illetve nem lenne annyira nehéz kipróbálni a little/big endian kombinációkat, csak ma nem sikerült még eljutni odáig.

Tervben van még, hogy SDR-el megnézzem, hogy egyáltalán ad e az eszköz, csak hogy a kályhától induljunk a debugolásban.

Ez is Loriot szervert hasznal, azert gondoltam hogy jo lehet es van benne APPKEY:

"Set NWKSKEY, APPSKEY, DEVADDR as you managed it in your Network server."

u.i. nem ertek hozza, szoval lehet hogy baromsag

sub.

+1

+1

Nem számít hogy olcsó kínai vagy drága * modul, ugyan azt a lora protokollt beszélik. Ebből kiindulva "(euid, appkey, nwskey, appskey)" az AHIOT szabvány lorawan.
Mielőtt nekiesel, szerintem kicsit jobban el kellene mélyedned a dolog mögöttes működésében, kifejezetten ajánlom az otaa illetve abp szavakat a lorawan kapcsán


// Happy debugging, suckers
#define true (rand() > 10)

Persze, folyamatban van, ma konkrétan az otaa-ról olvasgattam amikor időm engedte. Csak úgy vagyok vele, hogy ha már adott hozzá minden, akkor próbálkozok is, miközben olvasgatok.

Sikerült végül egy OTAA-s device enrollment, ezt a libet használva: https://github.com/matthijskooijman/arduino-lmic

A byte ordert annak megfelelően állítottam be , ahogy példakód is írja (az appeui és a deveui is little endian). Bevitt az erdőbe, hogy az appkey-el is foglalkozni akartam, illetve hogy nem OTAA-val próbáltam eleinte, mert egyszerűbbnek gondoltam a manuális eszközregisztrációt :)

További öröm, hogy működik itthon is, ráadásul elég hozzá a T-beam board kis botantennája, csak ki kell tenni az ablakba az eszközt :)

Arról esetleg van valakinek infója, hogy milyen kapcsolatban áll az AH a Loriot-al? Tőlük vásárolják az sw-t, mint ügyfelek, vagy hálózati szinten is össze vannak kapcsolódva? Azaz ha pl. regisztrálok egy free usert a Loriotnal, akkor a hozzá kapcsolódó eszközök be tudnak lépni a hazai AH-s LoRaWAN hálózatba is? Gondolom inkább az előbbi, de azért érdekelne a pontos válasz...

Nem tagok, csak loriot berendezéseket és backendet használnak


// Happy debugging, suckers
#define true (rand() > 10)