LoraWan TTN device libraries, which one to use?

For the device side, if you search on arduino library manager, you will found a lot of libs with very similar names, arduino LMIC, LMIC arduino, lorawan LMIC...etc.

if you look on git, there are plenty more...very confusing...

I found this good discussion on TTN forum, it gives a clear view of available ones, and their stories, differences.(2020/10/14)

 https://www.thethingsnetwork.org/forum/t/overview-of-lorawan-libraries-howto/24692

Currently there are 2 major parents of this kind of libraries:

1. LMiC from IBM  ‘LoRa MAC in C’  , which is a very old one.

2. Semtech LoRaMac-node 

the complication: 

1. LMIC has been ported to different frameworks.

2. on arduino, the lib mustly work with most MCU supported by arduino. But soem are adapted to specified MCU platform and sometimes different Mac chip.

3. Some of this lib is no longer supported, so you need to find the most updated.

4. Lora spec is upgrading, (slowly getting bigger). So not updated lib will not have the latest feature. For example the support of OTAA, device class B/C, and the one bother me the most is the region support,mine is AS2. most of the lib based on lora 1.02, already have better region supports, such as AS923(which is AS1)

good thing is that there is not much lib dependency on LMIC. But as the versions are so confusing, it's better to use platform IO.

But before select your lib, hardware seems to be a essential question, since the lora is getting bigger, some hardware will not able to support all functions, such as 8 bits arduino 328 based board.

As for a TTN node, low current on sleep mode is very important, since the devices are mostly powered by battery.  Recent 32bits MCU perform very good on this point, much better than arduino 328. 

considering above points, using arduino 328 as loraWan node is workable, but you need to limit the functions(such as OTAA, it could only support ABP mode), carefully select your lib(some can be too big for 328p). And watch out the power consumption.


留言

這個網誌中的熱門文章

Heltec ESP32+OLED+Lora, hardware testing

micro SD card for ESP32, on lolin32 with OLED and heltec 32 lora oled

Install Network Time Protocol(NTP) on BeagleBone with Angstrom linux and set local time zone