LoRaWAN© is a low-power, low-bandwidth, long-range radio protocol used by many devices to send their data over the air. This protocol is specifically designed for battery powered devices with little to no installation cost.
LoRaWAN© devices broadcast their data to reachable LoRaWAN© gateways, which forward the messages on the LoRaWAN© operator network. The operator de-duplicates the messages from multiple gateways and hand over the message to the “LoRaWAN© application”. In our scenario, the “LoRaWAN© application” is Scaleway IoT Hub.
Actility is a LoRaWAN© operator which can build a public or private LoRaWAN© network.
In this tutorial we are going to:
First, we need a Hub. Its role will be to distribute messages from your LoRaWAN© devices to the intended targets. Please follow this procedure to create an IoT Hub if you don’t have one already. The hub’s name and plan does not matter for this tutorial.
The Actility platform will connect as a MQTT device to exchange data on IoT Hub. This means that we need to add a Device to the IoT Hub. Please follow this procedure to create a device.
Deny Insecureconnections setting to provide maximum security.
Once done, copy the
Device ID and download the
private key files, you will need them to set up the Actility backend.
Now IoT Hub is ready to exchange messages with Actility, let’s configure the Actility side:
Applications > Createand choose MQTT.
<prefix>/things/<LoRaWAN device ID>/uplink. Type in
You can check the application is up and running by going to the application page and verifying the
Deployment Status box is set to
Opened. When it is, your LoRaWAN© network is now connected to your IoT Hub.
It is time to see messages flowing on IoT Hub:
Allow Insecureconnections setting. Secured connections are not supported over Web Sockets, which the
MQTT Webclientbutton. The client will open and automatically connect.
Add New Topic Subscriptionin the
my-app/things/+/uplinkas the topic, this will instruct IoT Hub to send you uplink messages from all devices
Subscriptionsblock and the messages from your LoRa devices will start showing in the
Congratulations! Messages are flowing as expected.
You could leverage the power of IoT Hub to build a dashboard to display your data in a few easy steps:
loratable with the following fields:
time(timestamp type) and
my-app/things/+/uplink. Your query should look like
INSERT INTO lora (time, data) VALUES (NOW(), $PAYLOAD).
SELECT time, data->'DevEUI_uplink'->'payload'->'batteryLevel' as batteryLevel FROM lora WHERE $__timeFilter(time).
That’s it! Your LoRaWAN© devices data is now backed by a production-grade dashboard!