AWS IoT Core Device Location is a new managed feature of AWS IoT Core that enables customers to choose the appropriate location technology that works within their business and engineering constraints, without relying on Global Positioning System (GPS) hardware. With location data, customers can optimize business processes, simplify and automate maintenance efforts, and unlock new business use cases such as asset tracking solutions across several industry verticals including retail, farming, transportation and more.
Location information is important for Internet of Things (IoT) applications. Historically, GPS has been widely used for locating an IoT device, but not all IoT devices can be equipped with a GPS hardware due to its high power requirements, relatively larger device footprint, and higher integration costs. New technologies such as cloud-assisted Global navigation satellite system (GNSS), WiFi, and cellular triangulation have become popular alternatives to obtain location data for IoT devices. However, the challenge with these technologies is that they do not directly provide location data in a usable format. This means you will have to first calculate the Geo-coordinates based on data received from devices running on one of these technologies, and then use a mapping service to place a dot on the map. AWS IoT Core Device Location is integrated with solutions offered by AWS Partners, such as Semtech, HERE, and MaxMind. Their technology enables the use of cloud-assisted GNSS, WiFi scan, cellular triangulation, and reverse IP lookup techniques to determine Geo-coordinates for a device in a standard format. You can use the new Location Action feature from AWS IoT Core Rules Engine, launched in Oct 2022, to route the Geo-coordinates to Amazon Location Service where you can add maps and points of interest, track resources, define Geo-fencing models, and visualize device location information.
AWS IoT core Device location is generally available for AWS IoT Core. In this blog, we will look at how you can use AWS IoT Core for LoRaWAN and AWS IoT Core Device Location to calculate location data (i.e. Geo-coordinates), when the devices do not have a built-in GPS module. Subsequently, we will discuss how you can use AWS IoT Rule Location action and Amazon Location Service to build a location-based application.
LoRaWAN is a Low Power Wide Area (LPWA) protocol for battery-operated, remote monitoring and control applications, standardized by LoRa Alliance. LoRaWAN technology provides robust indoor and outdoor coverage for IoT applications. Lately, LoRaWAN has been applied to a variety of applications including smart water metering, smart buildings, safety and compliance monitoring, smart agriculture, health monitoring, smart electrical metering, construction and mining operations, and smart homes.
Integration with AWS IoT Core for LoRaWAN
AWS IoT Core for LoRaWAN is a fully-managed feature that allows you to connect and manage wireless devices that use LoRaWAN connectivity with the AWS Cloud. Using AWS IoT Core for LoRaWAN, you can setup a private LoRaWAN network by connecting the LoRaWAN devices and gateways to the AWS Cloud. This eliminates the undifferentiated work and operational burden of managing a Network Server(NS), and enables you to quickly connect and secure LoRaWAN device fleets at scale.
The sections below illustrate how devices connect and publish data to AWS IoT Core for LoRaWAN and AWS IoT Core Device Location, gather decoded location data from various log-stream sources, and use third party location solvers to show a dot on the map without developing custom code or application.
Figure 1 – Architecture for AWS IoT Core Device Location
The devices communicate to AWS IoT Core for LoRaWAN. The payload is processed by AWS IoT Core Device Location which resolves the position to give you the location of your tracker. An IoT Rule is triggered upon the incoming data from the tracker and sent to Amazon Location Service to see the location point on the map.
We have partnered with three original equipment manufacturers (OEM) who have developed LoRaWAN trackers that are qualified to work AWS IoT Core Device Location without the need to write custom code or application.
RYODEN and SMK developed an edge device that uses energy harvesting feature, and lower communication costs, thanks to the use of LoRaWAN technology. This device connects to AWS IoT Core for LoRaWAN from their LoRaWAN gateway to reduce the server maintenance resources. Using the GNSS Solver function, the solution is also capable of supporting the asset tracking feature.
MIKROTIC has developed asset trackers based on AWS IoT Core Device Location. Their devices are expected to be made available for shipment in 2023.
Using AWS IoT Core Device Location
AWS IoT Core permissions to provisioning IoT things
AWS IoT Core for LoRaWAN compatible gateway device
AWS IoT Core location compatible device
Step 1: Setup LoRaWAN gateway referring to the instructions LoRaWAN gateway in AWS IoT Core for LoRAWAN
Step 2: Provision LoRaWAN device
Add a wireless device
For LoRaWAN specification, select OTAA v1.0x
Provide DevEUI – The 16-digit hexadecimal DevEUI value found on your wireless device.
Provide AppKey – The 32-digit hexadecimal AppKey value that your wireless device vendor provided.
Provide AppEUI – The 16-digit hexadecimal AppEUI that your wireless device vendor provided.
Figure 2 – Add device details
For Wireless device name, enter ‘tracker’
For Wireless device profile, refer to add device profiles section
Figure 3 – Device profile
Figure 4 – Add destination
5. Choose Next
6. In the Geo-location section, enable activate positioning
7. Select Add device
Figure 5 – Activate positioning
Step 3: Verify device connectivity
After the device is added, navigate back to LoRaWAN devices list, check if the device is sending up-links.
Figure 6 – LoRaWAN devices
Step 4: Visualize your tracker
After you have added the device in AWS IoT Core for LoRaWAN, the tracker GNSS/WiFi scan will resolve and provide Geo-location output. Check the location of your tracker in the map that is embedded in the device details page shown below. Here you can see the latitude and longitude, and a blue pin on the map representing your tracker’s location.
Figure 7 – Tracker location on map
In this blog, we have introduced AWS IoT Core Device Location, a new managed feature that allows customers to choose the appropriate location technology that works within their business and engineering constraints, without relying on GPS hardware. Getting started with Device Location on AWS IoT Core is quick and easy. Customers can use AWS IoT console or API to calculate the Geo-coordinates by specifying the desired type of Location Solver and passing along the corresponding wireless data (e.g. GNSS scan data, MAC addresses from WiFi scan, etc.) to the location solver API. Please see developer guide for details. Once location data are calculated, customers can store them in AWS IoT Core Device Shadow or any topic of their choice.
To start building asset tracking solution using IoT Core for Device Location for a LoRaWAN use-case, refer to the workshop that was built for re:Invent 2022.
To get started with hands on workshop, please use this workshop to bootstrap the setup using cloud formation template which decodes certain tracker payloads and resolves the position.
About the authors
Sunitha Eswaraiah is a Solutions Architect at Amazon Web Services (AWS) and is based out of Stockholm. She is supporting customers in Nordics on their digital transformation and cloud journey. She has 10+ years of experience as a data engineer and as a backend developer. Now she started to specialise in building IoT solutions. Prior to AWS, she worked for Gartner and Verizon in India.
Syed Rehan is a Sr. Global IoT Evangelist at Amazon Web Services (AWS) and is based out of London. He is covering global span of customers working with developers and decision makers at large enterprises to drive the adoption of AWS IoT services. Syed has in-depth knowledge of IoT and cloud and works in this role with global customers ranging from start-up to enterprises to enable them to build IoT solutions with the AWS Eco system.
Andrew Chen is Senior Product Manager (Technical) for AWS IoT Core. He is responsible for connectivity-related features, with a goal to connect billions of devices to AWS IoT Core. He has 10+ years of experience as a hardware engineer and as a product manager. He manages the Device Gateway and AWS IoT Core for LoRaWAN services on product strategy, roadmap planning, business analysis and insights, customer engagement, and other product management areas.