Developing Applications

We’ve looked at the LoRa® technology and examined the LoRaWAN® standard and network architecture. Implementing such a network, however, has no value unless you can extract the data collected by the end devices,  or cause the device to respond to a command.

For this to work, you need to connect the network server to an application that has features relevant to your use case. Typical IoT features include dashboards showing data visualizations, modifiable rules that allow actions to be configured such as sending an SMS after a device sends an event, and device management.

The application could be a configurable, off-the-shelf Internet of Things platform, such as Cayenne or ThingsBoard. Additionally, you can compose a hybrid off-the-shelf and bespoke application using components of a cloud provider such as Amazon Web Services (AWS), Microsoft Azure, or Google Cloud Platform (GCP). You could even run your own servers and write your own code for an entirely bespoke application.

There are several ways to integrate network servers with applications. In this section we cover the most widely-offered options for integration between your network server and your applications.  You can explore all these integrations using the Semtech Network Server. You can use this hosted and FREE environment to build and prototype with, or conversely, set up your own network server following the How to Build and Deploy a Network Using the LoRaWAN Protocol guide and you’re set. The integrations listed in this module are available in either instance, as both are based on ChirpStack, an open-source LoRaWAN Network Server.

The Semtech Network Server is intended to help you develop and prototype solutions that are compatible with the LoRaWAN standard, so that you can get your IoT ideas off of the ground quickly and easily. You can connect up to ten devices and three gateways, giving you a hosted environment for building and testing your solutions before you go into production.

Read through the Semtech Network Server User Guide to get started with the Semtech Network Server.

Note

When using the LoRaWAN standard, there is no guarantee that the messages sent will be picked up by the gateways or the end devices. This being the case, it is important to take packet loss and network latency into account when designing your application.

For example, imagine you have a system which sends a downlink to turn off a water valve and shut off an irrigation system, which, once the valve has closed, is followed by an uplink sent from the hardware indicating the closed status.  For this example, also imagine that the application used to monitor this behavior has a user interface (UI) that shows the status of these events.

When the downlink is sent to shut the valve off, the UI indicates to the user that the process has started but is not complete. Only when a status uplink is received confirming the valve is actually closed should the UI indicate to the user that the state of the valve is closed.

The UI could also allow the user to try again. In this case, the user would watch and wait for the water to shut off, and then initiate another downlink if the process does not complete in a reasonable time.

Last modified: Monday, February 6, 2023, 8:50 PM