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:
Periodic info messages
System status, firmware version
Downlink signal quality
Uptime, time since last downlink
Device EUI, Join EUI
Application-specific status bytes
Soft reset / factory reset
Set Adaptive Data Rate profile
Change reporting interval of periodic info messages
Retrieve Crash Log
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).
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.