LoRaWAN
Iotconnect for LoRaWAN
Iotconnect for LoRaWAN is a fully managed feature that enables customers to connect wireless devices that use low-power long-range wide area network (LoRaWAN) protocol with the Iotconnect services.
Document will detailed about how to build a private LoRaWAN network with Iotconnect for LoRaWAN. Once your LoRaWAN network is set up, you will learn how to integrate data from your LoRaWAN devices with your AWS applications and how to build IoT solutions on top of the data from your LoRaWAN devices.
LoRaWAN Devices
LoRaWAN devices exchange data with cloud-hosted applications. LoRaWAN devices use a LoRaWAN protocol on a data link communication layer and LoRa protocol on a physical communication layer. AWS IoT Core for LoRaWAN supports all devices that comply to 1.0.x or 1.1 LoRaWAN specifications standardized by LoRa Alliance.
A LoRaWAN device typically contains one or more sensors and or actors. Telemetry data from the sensors are sent by devices through LoRaWAN gateways to the cloud-hosted applications. To control the actors, cloud-hosted applications can send commands to LoRaWAN devices through LoRaWAN gateways.
LoRaWAN Gateways
A LoRaWAN gateway is a device that connects LoRaWAN end devices to the AWS cloud. Software called LoRa Basics Station running on your gateway is a prerequisite for connecting your gateway to AWS IoT Core for LoRaWAN. LoRa Basics Station is open source software that is maintained by Semtech Corporation, available at GitHub . The minimum required version of LoRa Basics Station software is 2.0.4.
Iotconnect secure services
To optimize energy consumption, LoRaWAN devices perform binary encoding of the data before sending. Many cloud-hosted applications are designed to process structured data (e.g. in JSON). If we want to process telemetry from the LoRaWAN devices in the cloud-hosted applications, a transformation from binary to e.g. JSON is necessary. This transformation process is called “binary decoding”.
Similarly, if the cloud-hosted application needs to send command to the LoRaWAN device, a transformation from a structured format (e.g. JSON) into binary format is necessary. This process is called “binary encoding”.
Iotconnect secure service provide both cloud-to-device “binary encoding” and “binary decoding” as well.
Iotconnect for loRaWAN extracts the message payload and invokes the Iot rule previously assinged to the LoraWAN end-device via destination.
Iotconnect cloud services
- IotconnectLambda function and related IAM permissions
- IotconnectRule and related IAM resources to allow publishing on the MQTT topics
- Permission for the Iotconnectto invoke the Iotconnect Lambda function during the rul execution.
Board that we support
Limitation
Here are some general considerations and limitations related to Iotconnect for LoRaWAN, but it’s crucial to check the latest AWS documentation for the most up-to-date information:
Device Compatibility:
- Iotconnecte for LoRaWAN supports devices that are compliant with the LoRaWAN 1.0.3 specification.
Regional Availability:
- Some AWS services and features are region-specific. Ensure that Iotconect for LoRaWAN is available in the AWS region you are planning to use.
Payload Size:
- LoRaWAN has limitations on payload size.Iotconnect for LoRaWAN adheres to these limitations, and you need to ensure that your device messages comply with the LoRaWAN payload constraints.
Device Message Rate:
- There might be limitations on the rate at which devices can send messages. AWS IoT Core for LoRaWAN may have restrictions to prevent abuse or excessive usage.
Integration with Other AWS Services:
- While Iotconnectfor LoRaWAN integrates with other AWS services, there may be specific limitations or considerations when using certain features in conjunction with LoRaWAN.
Data Retention:
- Iotconnectfor LoRaWAN may have limitations on data retention policies, including the duration for which messages are stored.
Security and Authentication:
- Ensure that your LoRaWAN devices are configured with the appropriate security measures, such as secure key management and authentication, to comply with best practices.
Template Management
A template is a pre-defined structure required to manage LoRaWAN devices and their associated properties. The structure helps you to provision your IoT system to take care of the entire device management system with a seamless data flow.
IoTConnect’s template feature will help you with the following:
- Add and manage devices.
- Define associated data captured by the device in the form of attributes.
- Set commands to allocate the actions you want the device to perform.
Create Template
To create a template:
Go to Devices > Wireless Device > Templates.
Click Create Template.
Complete the required fields:
(Screen: Create Template)
Create at least one attribute of your choice, which will lead to create a template for your LoRaWAN devices. The same attribute must exist in your device source code explain in the below topics.
(Screen: Create Attribute)
Create a LoRaWAN Gateway
To create a LoRaWAN gatway device for your organization:
- From the left navigation, mouseover theDevices Click Wireless Device.
- Along the bottomcenter toward the left, select LoRaWAN gateway.
- Enter data in the following fields:
(Screen: Create Template)
- GatewayName: Enter the display name for a Gateway
- EUI Code: Provide the gateway EUI that you identified in the previous section
- Frequency Band: Choose a frequency band for the geographic region e.g. US915 for North America, EU868 for Europe
you created and stored gateway credentials. And you will the get the certificate file under the zip to onboard your gateway as well .Upload the following files to your gateway:
- <gateway id>.cert.pem: Gateway device certificate file
- <gateway id>.private.key: Gateway device private key file
Create a LoRaWAN device
To create a LoRaWAN device for your organization:
- From the left navigation, mouseover theDevices Click Wireless Device.
- Along the top and toward the right, select Create
- Enter data in the following fields:
(Screen: Create Device)
- Transmission type :Select for LoRaWAN.
- Unique ID:Enter the unique ID of a device.
- Display Name:Enter the display name for a device.
- Device Profile Name: a descriptive name of your choice for this profile, e.g. “Workshop device profile of”
- DevEUI: Unique identifier assigned by the manufacturer
- AppEUI: Shared secret between device and the application
- AppKey: Uniquely identifies a join server (was renamed to JoinEUI in OTAA v.1.1)
- Max EIRP: please enter the default value 15
- Class Specification: select your choice of Class A,Class B,Class C
- Gateway: Select the associate gateway
- Mac version: this parameter should specify the most recent version of LoRaWAN specification supported by your device. Unless device documentation states otherwise, please select 1.0.3.
- Regional Parameters Version: please select RP002-1.0.1, unless specified otherwise in your device documentation
- Device Manufacturer:Select your device OEM
- Entity:Select the entity for your device.
- Template:Select the template for your device.
- Notes:You can add required notes for a device.
LoRaWAN Telemetry
Below is a normal message that a device should send to report its sensor value will be visible at live data section.While sending telemetry data, your device can send a few or all sensor (Template attribute) values. It is not required always to send all sensor ( Template attributes) values.
(Screen: Telemetry)
LoRaWAN Command
Each device command has facility to make sure that command is reached and executed on device. In this
case json property “ack” will be true. That means there IoTConnect is expecting acknowledgement back,
for that you must send acknowledgement message with following status success/failed.
(Screen: Command)