LoRa Basics Modem and LoRa Edge documentation

Use Case - Basic Asset Tracking


A key advantage of the LoRa Edge™ platform is that it can ease the development, deployment, and management of low power and cost-efficient asset tracking devices designed to operate on a LoRaWAN® network.

The Basic Asset Tracking use case described below is suitable for addressing the business needs of tracking the location of vehicles, trailers, pallets, livestock, etc. You can use Semtech’s LoRa Edge Asset Management Evaluation Kit to evaluate this use case based on the three key elements of the LoRa Edge Asset Management Platform:

The LoRa Edge LR1110 chip with LoRa Basics Modem-E is encapsulated in a sleek, streamlined, and commercial-ready end device that demonstrates the complete set of asset tracking capabilities for IoT applications.

For more information, see:


The LoRa Edge platform was specifically designed for basic asset tracking, and the system works best when all of the LoRa Cloud services are used as intended.

This use case assumes a properly-implemented LoRaWAN® network. It also assumes that the various methods for aiding the GNSS process can be applied through downlinks.

The various platform components required are shown in the following diagram:

@startumltitle LoRa Edge Asset Management Platformskinparam {    linetype ortho    LegendBackgroundColor White    TitleFontSize 36}legend left|=             |= Owner || <#00ADEF>    |  Semtech || <#ADD8E6>    |  Customer || <#D3D3D3>    |  Ecosystem |endlegendpackage "End-Device" {    component "Device application" as APP #LightBlue    component "Basics Modem(s)" as MDM #00ADEF    [APP] - [MDM]}package "LoRaWAN Infrastructure" {  component Gateway #LightGray  component "LoRaWAN Network Server" as LNS #LightGray  Gateway - LNS}cloud "LoRa Cloud" {    component "Device Join Service" as JS #00ADEF    component "Device & Application Services" as DAS #00ADEF}cloud "Application Server" {    component "LoRa Cloud Integration" as LCI #LightBlue    component "Application Logic" as APPLOGIC #LightBlue    [APPLOGIC] -u- [LCI]}' cloud "GLS" {'    [Geo Services]' }[MDM] -r- [Gateway][LNS] -r- [APPLOGIC][LNS] -u- [JS]' [MDR] -u- [Geo Services][LCI] -l- [DAS]@enduml

Prerequisites / Dependencies


This use case assumes the deployment of a functional LoRaWAN network with an appropriate application server and an integration to LoRa Cloud, as illustrated above. The LoRaWAN network should comply with the LoRaWAN L2 specification ( version 1.0.2 or a later, compatible, version).


While timeliness is not mandated by the LoRaWAN standard, it is an assumed behavior of the LoRa Edge system. Therefore, the system will not work correctly if uplink data is delayed by more than 30 seconds.

Prerequisites for LoRa Basics Modem:

  • The end device must be built on modem version 2.x.x.

  • The end-device must include an LR1110 chip and be provisioned on an appropriate join server or LoRaWAN network server.

Prerequisites for LoRa Basics Modem-E:

  • The end device must be built on modem version 1.0.7.

  • The LR1110 device must have been claimed.

Step-by-Step Procedure

  1. The prerequisites for a LoRaWAN network, Semtech’s LoRa Cloud services, and device provisioning must be in place.

  2. The device must be activated (started up) within radio coverage of a LoRaWAN network, and the device application must perform the required modem initialization.

  3. The device application commands the Basics Modem to join the network.

  4. Assuming that automatic GNSS almanac updates were enabled during modem initialization, LoRa Basics Modem communicates with the network to update the GNSS almanac.

  5. Assuming that application layer clock synchronization (ALC Sync) was enabled at modem initialization, LoRa Basics Modem communicates with the network to acquire the correct time.

  6. If the previous steps are successful, the device application waits (loops) until the clock synchronization and almanac update are started before initiating GNSS scans. (Wi-Fi signals can be scanned immediately.) The results are then sent to the application server.

  7. To use the lowest power position solving operations of the LoRa Edge platform, the device application must provide an approximate latitude and longitude for the device. This needs to be accurate to within +/- 150km. Often, this can simply be the latitude and longitude of the receiving or beaconing gateway.

  8. At this point, the modem is completely up-to-date and ready for normal operation. To reliably and efficiently transfer the raw positioning data to the LoRa Cloud Device & Application Services (which are used for determining the true latitude and longitude of the device) the device application shall initialize a reliable stream of data.

  9. Having reached the steady state operation for asset tracking, the device application should initiate an asssisted GNSS scan and store the results.

  10. Alternatively (or additionally) the device application can initiate a passive Wi-Fi scan and store the results.

  11. Having collected and processed either or both the GNSS and Wi-Fi scan data, the end-device application tags the data collections and places them into the stream buffer.

  12. The LoRa Basics Modem and LoRa Edge platform stream the data to the LoRaWAN network. The LoRa Cloud integration server parses the data to determine the correct LoRa Cloud API to use to either recover the original data from the stream, or to resolve the raw data into a precise latitude and longitude that can be used by the Application Server.

@startuml  uc_basic_tracking_flowparticipant "Device(Basics Modem(s))" as MDM #LightBlueparticipant "LoRaWAN Network" as LNS  #LightGraybox Application Server #LightBlue    participant "Application Logic" as APP #LightBlue    participant "LoRa Cloud Integration" as LCI #LightBlueend boxbox LoRa Cloud Services #00ADEF     participant "<color #000000>Device Join Services</color>" as JS #00ADEF    participant "<color #000000>Device App Services</color>" as DAS #00ADEFend boxlegend left|=             |= Owner || <#00ADEF>    | Semtech || <#ADD8E6>    | Customer || <#D3D3D3>    | Ecosystem |endlegend== Device Startup == group Modem Initialization    MDM -> MDM : Hardware Parameters    MDM -> MDM : LoRaWAN Parameters (Class and Region)    MDM -> MDM : Device Message Parameters    MDM -> MDM : SetDmInfoField(GNSS_ALMANAC_STATUS)    MDM -> MDM : ALC Sync Enableendgroup Join Scenario    MDM -> LNS ++ : Join Request    LNS -> JS ++ : Join Request    JS -> LNS -- : Join Accept    LNS -> MDM -- : Join Acceptendgroup Almanac Update    MDM -> LNS : Data(DmStatus)    group New Session         LNS -> APP : Join Notification    note left    First successful uplink with     new session keys defines the     beginning of a new session.    end note        APP -> LCI : Join Notification        LCI -> DAS : Join Notification    end    LNS -> APP : Data(DmStatus)    APP -> LCI ++ : Data(DmStatus)    LCI -> DAS ++ : Data(DmStatus)    DAS -> LCI -- : Data(Almanac)    LCI -> APP -- : Data(Almanac)    APP -> LNS : Data(Almanac)    LNS -> MDM : Data(Almanac)endgroup ALC Clock Synchronization    MDM -> LNS ++ : Data(ALC Sync Req)    LNS -> APP ++ : Data(ALC Sync Req)    APP -> LCI ++ : Data(ALC Sync Req)    note left    ALC Sync Req must be received    by Device App Services within     30 seconds.    end note    LCI -> DAS ++ : Data(ALC Sync Req)    DAS -> LCI -- : Data(ALC Sync Resp)    LCI -> APP -- : Data(ALC Sync Resp)    APP -> LNS -- : Data(ALC Sync Resp)    LNS -> MDM -- : Data(ALC Sync Resp)    loop until valid time        MDM -> MDM : GetTime(...)    endendgroup Assistance Position    MDM -> MDM : GnssSetAssistancePosition(...)    note right    The application must    provide the assistance    position.    end noteendMDM -> MDM : StreamInit(...)note rightThis stream will be usedfor transporting the GNSSand Wi-Fi Scan results.end note== Steady State Operation ==loop    group GNSS Scan Scenario        MDM -> MDM : GnssAssistedMD(...)    end    group WiFi Scan Scenario        MDM -> MDM : WiFiPassiveScanMD(...)    end    group ROSE Scenario        MDM -> MDM : SendStreamData(GnssResults)        MDM -> MDM : SendStreamData(WiFiResults)             MDM -> LNS : Data(StreamData)            LNS -> APP : Data(StreamData)            APP -> LCI : Data(StreamData)            LCI -> DAS : StreamData            group Possible Response from Device App Services                DAS -> LCI : GnssResults                LCI -> DAS ++ : GnssResults                DAS -> LCI -- : Position Solution GNSS                LCI -> APP : Position Solution GNSS            end            LCI -> DAS : StreamData            group Possible Response from Device App Services                DAS -> LCI : WiFiResults                LCI -> DAS ++ : WiFiResults                DAS -> LCI -- : Position Solution WiFi                LCI -> APP : Position Solution WiFi            end    endend@enduml


The LoRa Edge platform is a multifaceted technical solution with the fundamental capabilities required for implementing an asset management solution. Here, we have documented many of the details and best-practices that will lead to success. Nevertheless, problems may arise.

You can find a wealth of information and documents to help you solve any problems you encounter at both www.semtech.com and on the LoRa Developers Portal. Additionally, Semtech maintains a LoRa Developer’s Forum at https://lora-developers.semtech.com/knowledge-base/forum/. In the Forum, you can find community support for technical questions.

If none of these methods are sufficient to resolve a technical issue, Semtech may be able to provide direct support. To for direct support, submit a support request to https://semtech.force.com/ldp/ldp_support