This repository is a fork from the SUPL-3GPP-LPP-client made by Ericsson. It contains additional support for Septentrio GNSS receiver to provide location data information.
The primary goal of this repository is to facilitate the use of the LPP protocol over SUPL with a Septentrio GNSS receiver, facilitating the delivery of OSR RTCM corrections.
To get started with the SUPL-3GPP-LPP-client and a Septentrio receiver, follow the getting started guide.
This guide contains instruction on how to build and use the client as well as instructions on how to set up the receiver and modem.
The following setup was tested and is confirmed to work with the 3GPP LPP client.
- SBC : Raspberry Pi 4B (OS: Raspberry PI OS 64bit - 2023/05/03)
- GNSS Receiver : Septentrio Mosaic-Go
- Modem : D-Link DWM-222 (HW Ver: A2, SW Ver: 2.0.1 EU)
The SUPL (Secure User Plane Location) protocol is an IP protocol designed to transmit essential information for Assisted GPS (A-GPS) over a mobile network.
LTE positioning protocol (LPP) is a point-to-point protocol that allows multiple connections to different devices and is used to position the target device. LPP provides support for GNSS based positioning, network based positioning and hybrid – a combination of both GNSS and network based positioning.
You can buy a Mosaic-GO receiver directly from digikey (link).
SUPL-3GPP-LPP-client is an example client for that connects to a location server using SUPL and requests assistance data using 3GPP LPP (Release 16.4). The code contains libraries for building a custom client for your specific needs. The example client is written in C++ and is designed to be portable and easy to use. It should be sufficient to get started or use as a simple client for testing.
The source code for the ASN.1 definitions from 3GPP LPP Release 16.4 are generated by ASN.1 C (https://github.com/vlm/asn1c). All other code is in C++ and should be portable to must unix-like systems. The example client is tested on Ubuntu 20.04 and Raspberry PI OS (32-bit) with gcc-4.8.
See LICENSE file.