LoRa Basics™ Modem User Manual v3.4 documentation

LoRa Basics Modem Integration with LoRa Cloud

LoRa Cloud™ is a set of services that provide simple solutions to common tasks related to LoRaWAN® networks and LoRa®-enabled devices. These tasks include comprehensive device telemetry, device and application configuration, clock synchronization, and advanced data transport services with configurable robustness against packet loss and transparent data fragmentation. LoRa Cloud services simplify the process of developing managed endpoint solutions and make LoRaWAN technology more accessible to application developers.

Some of the services provided by LoRa Cloud are:

  1. Periodic info messages

    • System status, firmware version

    • Charge, temperature

    • Downlink signal quality

    • Uptime, time since last downlink

    • Device EUI, Join EUI

    • Application-specific status bytes

  2. Management commands

    • Mute, rejoin

    • Soft reset / factory reset

    • Set Adaptive Data Rate profile

    • Change reporting interval of periodic info messages

    • Retrieve Crash Log

  3. Advanced protocols

    • Advanced Transport Services

      • Large file upload (LFU)

      • Reliable Octet Stream Encoding (ROSE)

    • Clock synchronization over-the-air

To integrate the LoRa Cloud services into a solution, the end device may submit periodic uplinks with information about its state, which are then used to update the representation of the device in the LoRa Cloud. These uplinks are processed by the LoRaWAN Network Server or the LoRaWAN Application Server, and subsequently submitted to the LoRa Cloud through calls to the LoRa Cloud API endpoints as illustrated in figure 3.1. Uplinks that must be submitted to the LoRa Cloud are identified by means of the port number.

When an uplink destined for the LoRa Cloud is received by the LoRaWAN Network Server or the LoRaWAN Application Server, the payload and other fields, such as the device EUI, must be extracted from the uplink and then submitted to the LoRa Cloud by means of a call to the appropriate LoRa Cloud API endpoint. The response obtained by the LoRaWAN Network Server or the LoRaWAN Application Server from the LoRa Cloud as a result of the API call may contain a downlink payload. If a downlink is present in the LoRa Cloud API call response, then said downlink must be sent back to the device.

A detailed description of the LoRa Cloud APIs can be found in the LoRa Cloud on-line documentation. Examples of the end device interaction with LoRa Cloud can be found in the LoRa Basics Modem SDK User Manual and associated SDK (SWSD001).

LoRa Basics™ Modem Network Architecture.

LoRa Basics™ Modem Network Architecture

Creation of the uplinks required by the LoRa Cloud and processing of the resulting downlinks is done by the LBM Device Management component. The information that is sent to the LoRa Cloud, as well as the send periodicity, can be tuned through the Device Management fields and functions of the LBM Device Management module.

Semtech provides several LoRaWAN Application Server examples that illustrate, among other features, uplink and downlink processing:

1. node-red-contrib-loracloud-utils provides a Node-RED based LoRaWAN Application Server with LoRa Cloud integration.

2. SWNW001 is an AWS Lambda based LoRaWAN Application Server. Developed in Python, this Application Server uses the Serverless Framework <https://www.serverless.com/> and the AWS IoT Core Wireless to interface between the LoRa Edge™ Tracker Reference Design and the LoRa Cloud.

3. SWNW003 is a LoRaWAN Application Server implemented as an Azure Serverless Function. Programmed in Python, SWNW003 uses an Azure IoT Hub to interface between the LoRa Edge Tracker Reference Design and the LoRa Cloud.

For a detailed description of the interaction between an end node and the LoRa Cloud Modem & Geolocation Services please refer to the LoRa Basics™ Modem and LoRa Edge™ documentation available in the LoRa Developer Portal.