The Internet of Things on AWS – Official Blog
Introducing support for Public Networks with AWS IoT Core for LoRaWAN
Introduction
We recently announced a preview of public network support for AWS IoT Core for LoRaWAN, a fully-managed LoRaWAN Network Server (LNS). For this announcement, AWS has partnered with Everynet, a public LoRaWAN network provider, to simplify LoRaWAN network deployment and provide customers with an alternative to managing their own gateways. . Everynet’s national LoRaWAN network offers coverage for more than 40% of the U.S. population across 650+ cities. Everynet offers a coverage map so you can view the most up-to-date coverage and facilitate deployment of LoRaWAN devices. The preview of public network support is available in the United States and in the US East (N. Virginia) and US West (Oregon) regions.
Building solutions with public network support for AWS IoT Core for LoRaWAN will allow you to focus more on your core business which involves the collection of business data from your LoRaWAN devices. Though one LoRaWAN enabled gateway can serve hundreds of LoRaWAN devices in-range, deploying such gateways require capital expense and a team of engineers to maintain and operate them. With public network support, you can leverage public LoRaWAN networks for the same use cases for private LoRaWAN networks without the need to deploy gateways in areas that already have public LoRaWAN coverage.
Everynet is an AWS Partner that operates public LoRaWAN networks. AWS IoT Core for LoRaWAN utilizes the NetID, a 24-bit network identifier, assigned by the LoRa Alliance for identifying LoRaWAN networks. NetID is used by networks for assigning network specific addresses (i.e. DevAddr defined in section 2.6.1) to LoRaWAN devices so that uplink can be forwarded to the right (i.e. their home) network. The same NetID concept is used to route traffic from Everynet to AWS IoT Core for LoRaWAN.
In this blog, we will demonstrate how you can use public network support for AWS IoT Core for LoRaWAN.
Step 1: Enable the use of Public Networks
Prerequisites
To follow through this blog post, you will need an AWS account, access to either the US East or US West regions for AWS IoT Core for LoRaWAN, and AWS Identity and Access Management (IAM) permissions to create LPWA devices, service profiles, device profiles, and IoT wireless destinations in AWS IoT Core. Along with the permissions to create resources on your AWS account you will also need a LoRaWAN device and Everynet coverage.
To enable the use of public networks (console):
- Navigate to the AWS IoT Core for LoRaWAN console
- Go to Profiles page to create a Service profile
- Choose Add Service profile to enable Public Networks support as shown in Figure 1
- Enter a name to Service profile e.g. public-networks-profile
This is the only different step between creating private networks and using partner’s coverage for public network.
Figure 1 – Add Service Profile to enable Public Networks
Adding Device Profile and Destination (console)
- Add a Device profile based on device type and LoRaWAN region (during the preview, choose US915 under Frequency band)
- Add a Destination by navigating to the AWS IoT Console and under Manage select LPWAN devices, select Destination, and choose Add destination
- Enter a Destination name e.g. public-networks-destination
- Enter a topic eg. public_networks/topic
- Choose Create a new service role
- Select Add destination
Figure 2 – Add Destination for LPWAN device data
Step 2: Creating a device
Adding LoRaWAN Devices (console)
- Navigate to AWS IoT console and under Manage select the dropdown for LPWAN devices then choose Devices
- For LoRaWAN specification, select OTAA v1.0x
- Enter DevEUI – The 16-digit hexadecimal DevEUI value found on your wireless device
- Enter AppKey – The 32-digit hexadecimal AppKey value that your wireless device vendor provided
- Enter AppEUI – The 16-digit hexadecimal AppEUI that your wireless device vendor provided
- For Wireless device name enter public LoRaWAN device
Figure 3 – Provisioning a LoRaWAN device
- For Wireless Device profile, select the one created in previous procedure
- For Service profile, select public-networks-profile created in previous procedure
- For Destination name, select public-networks-destination as created in previous procedures
Figure 4 – Associating profiles and choosing the destination
- Choose Next
- Select Add device
You can repeat these steps to add multiple devices
Step 3: Verifying Connectivity
Checking for the latest uplink
- Open the AWS IoT console
- In the navigation pane, under Manage and then under LPWAN devices, choose Devices
- Notice under LoRaWAN devices the Last Uplink Received At column reflects the date and time of the latest uplink
Figure 5 – LoRaWAN devices from public networks
Testing the device uplink
- In the AWS IoT console, in the left menu, under Test, choose MQTT test client
- In the Subscribe to a topic tab, enter the topic as # and choose Subscribe
- Notice the raw payloads from AWS IoT Core for LoRaWAN is the same as private networks payloads except for the exclusion of gateway EUI information from public networks.
Figure 6 – LoRaWAN device payload
Customer reference
Quext is a smart apartment technology provider that is leveraging the preview for public network support in AWS IoT Core for LoRaWAN.
“At Quext, we’re focused on delivering cost-effective and streamlined smart apartment technology that boosts property values, simplifies building management and improves resident satisfaction. Access to the Everynet LoRaWAN network globally through AWS IoT Core is providing us with the most efficient and immediate way to meet this goal.”
— Tray Johnson, CTO at Quext
Cleaning up
To remove devices (console)
- Navigate to AWS IoT console and under Manage select the dropdown for LPWAN devices and choose Devices
- Select the device(s) you created and choose delete
To remove destinations (console)
- Navigate to AWS IoT console and under Manage select the dropdown for LPWAN devices and choose Destinations
- Select the destination you created and choose delete
To remove service and device profiles (console)
- Navigate to AWS IoT console and under Manage select the dropdown for LPWAN devices and choose Profiles
- Select the device profile you created and choose delete
- Select the service profile you created and choose delete
Conclusion
In this blog, we introduced and demonstrated how to use the new public network support feature for AWS IoT Core for LoRaWAN, a new feature to enable customers to use public LoRaWAN networks directly from AWS IoT for LoRaWAN. We do not advise you to run commercial workloads during the preview phase. We recommend using the public preview version of the public network feature to quickly test your current devices as well as test new deployment strategies. If you would like to learn more, please review our documentation on AWS IoT Core for LoRaWAN.