LoRa Basics Modem and LoRa Edge documentation

Use Case - Basic Asset Tracking

Introduction

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 Tracker Reference Design and evaluation kits to evaluate this use case based on the three key elements of the LoRa Edge Platform:

  • The LR1110 chip

  • The LoRa Basics™ Modem software. Programmed into the LR1110 chip, converting an LR1110 transceiver into a LoRa Basics Modem-E device or as a library built into the end-device application.

  • The LoRa Cloud™ Services.

The LR1110 chip with LoRa Basics Modem-E is a sleek, streamlined, and commercial-ready end device that enables a complete set of asset tracking capabilities for IoT applications. The LoRa Basics Modem-E provides the fastest, most economical implementation of the end device for the LoRa Edge Platform.

For more information, see:

Background

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    sequenceMessageAlign center    defaultFontName "Fira Sans"}legend left|=             |= Owner || <#00ADEF>    |  Semtech || <#ADD8E6>    |  Customer || <#D3D3D3>    |  Ecosystem |endlegendpackage "End Device" {    component "Device Application" as APP #LightBlue    component "LoRa Basics™ Modem(s)" as MDM #00ADEF    [APP] -d- [MDM]}rectangle "LoRaWAN® \nInfrastructure" {  component "  Gateway  " as Gateway #LightGray  component "LoRaWAN Network Server" as LNS #LightGray  [Gateway] -r- [LNS]}cloud "LoRa Cloud™ Services" {    component "Join Server" as JS #00ADEF    component "Modem & Geolocation Services" as MGS #00ADEF    [MGS] -[hidden]d- [JS]}cloud "Application Server" {    component "LoRa Cloud Integration" as LCI #LightBlue    component "Application Logic" as APPLOGIC #LightBlue    [APPLOGIC] -u- [LCI]}[MDM] -d- [Gateway][LNS] -r- [APPLOGIC][LCI] -l- [MGS][LNS] -u- [JS]@enduml

Prerequisites / Dependencies

Common:

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.3 or a later, compatible, version).

Note

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.1.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 LoRa Basics Modem to join the network.

  4. Assuming that automatic Almanac update over-the-air was enabled during modem initialization, LoRa Basics Modem communicates with the network to update the GNSS almanac.

  5. Assuming that Clock synchronization over-the-air (Clock 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 Modem & Geolocation Services (which are used for determining the true latitude and longitude of the device) the device application may 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 may places them into a 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 "End Device(LoRa 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>Join Server</color>" as JS #00ADEF    participant "<color #000000>Modem & Geolocation 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 : Clock Sync (ALC Sync Enable)endgroup Join Scenario    MDM -> LNS ++ : Join Request    LNS -> JS ++ : Join Request    JS -> LNS -- : Join Accept    LNS -> MDM -- : Join Acceptendgroup Almanac update over-the-air    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 LoRaWAN     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 Clock synchronization over-the-air    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 Modem Service Protocol                DAS -> LCI : GnssResults                LCI -> DAS ++ : GnssResults                note right                Submit GnssResults                 to LR1110 GNSS                 positioning protocol                end note                DAS -> LCI -- : Position Solution GNSS                LCI -> APP : Position Solution GNSS            end            LCI -> DAS : StreamData            group Possible Response from Modem Service Protocol                DAS -> LCI : WiFiResults                LCI -> DAS ++ : WiFiResults                note right                Submit WiFiResults                 to LR1110 WiFi                 positioning protocol                end note                DAS -> LCI -- : Position Solution WiFi                LCI -> APP : Position Solution WiFi            end    endend@enduml

Support

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. For direct support, submit a support request to https://semtech.force.com/ldp/ldp_support