Jonathan, Golioth’s founder and CEO, is at the Consumer Electronics Show (CES) this week (reach out here if you would like to meet)! We wanted to stay up to date with his activity during the week, and using our recently launched Golioth Location service, we were able to build and deploy a tracker in just a few hours. We even put together a public dashboard using Supabase so you can follow along as well. Continue reading to find out how we did it, and how you can build your own!
Positioning in Adverse Environments
If you have ever attended CES or other big trade shows, you know that there are few places with more RF noise than the conference floor. Furthermore, obtaining GNSS signals indoors anywhere can prove to be a challenging endeavor. When we thought of the idea for tracking Jonathan’s activity at the conference, we knew that GNSS would not be a good fit. Fortunately, Golioth Location offers network positioning based on Wi-Fi access points and cell towers, and the new Nordic Thingy:91 X includes both an LTE-M modem with the nRF9151 and a Wi-Fi radio with the nRF7002.
The Thingy:91 X is also battery powered, making it a perfect candidate for carrying to and around the conference. Avoiding the need to power the GNSS radio dramatically extends battery life, and also allows the device to spend the vast majority of time in power-saving sleep mode. It only needs to wake up on button press, quickly scan for access points, send to Golioth, then go back to sleep. Golioth’s support for DTLS Connection ID allows a secure connection to the cloud to be maintained through extended periods of sleep, further improving the situation by eliminating the need to perform an expensive handshake whenever the device wakes up.
Building a Public Dashboard
While Golioth Location allows users to view device position in the console, we wanted to build a public application that allowed for others to check in as Jonathan moves through Las Vegas. With the flexibility of Golioth Pipelines, we were able to easily route data to a PostgreSQL table using the webhook destination with Supabase’s REST API. There is an example in the documentation that demonstrates how to set this up for your own Supabase database.
To show the location points on a map, we built a minimal React application that queries Supabase and renders a map using the Google Maps Javascript API. The Supabase Realtime API streams new entries to the application, ensuring the map is updated as soon as a new location is recorded.
Try It Out for Yourself
Interested in building a similar application? Sign up for the Golioth Location private access program, and we’ll send you information on how you can get started with network positioning!
No comments yet! Start the discussion at forum.golioth.io