SOLVED How to Supply Windows Location Services with NMEA GPS Data Via MQTT

Joined
May 19, 2023
Messages
2
Reaction score
0
Greets Everyone,

I have a question about getting my lattePanda Delta 3 864 with Windows 10 Pro to use NMEA GPS data fed to a locally served Eclipse MQTT server/(broker-deprecated). I have a Beitian BN-880 connected to a PI Pico W that feeds GPS data to a MQTT server running on Windows 10 Pro on the lattePanda. It works great! But I want Windows Location Services to use that GPS data exclusively (for now, more further down). This is for a Car Computer.

The lattePanda Delta 3 has 2 M.2 slots and I have a cell module in one of them. I am sure once it is within service range, Windows will use it to assist for its location service. But I would prefer to use the GPS segments posted in my locally served MQTT server.

Is there a process for providing Windows Location Services with the option to use my source exclusively? And how should I present it? Are there python adapters out there? Or C++?

My MQTT server is the heart of all subsystem messages and lives on the core Windows 10 system in the car. Node Red with Dashboard also lives on this system and acts as the GUI.

I am not asking for this to be done for me at all. I would just like a nice breadcrumb trail to follow so I can get this part of my project done.

Thank you so very much for your valuable time!!!
 
Joined
Dec 19, 2022
Messages
7
Reaction score
1
To configure Windows Location Services to use the GPS data from your locally served MQTT server, you would need to develop a custom solution. Here are the general steps you can follow:

  1. Extract and process MQTT GPS data: Write a script in a programming language like Python or C++ to subscribe to the MQTT server and extract the GPS data published by your PI Pico W. Parse the data and store it in a format that can be utilized by Windows Location Services.
  2. Develop a Location Sensor driver: Windows Location Services requires a sensor driver to interface with external GPS data. You would need to develop a custom sensor driver that acts as an intermediary between Windows Location Services and your MQTT-based GPS data. This driver should provide the necessary interfaces and functionality to feed the GPS data to the operating system.
  3. Register the custom sensor driver: Once the custom sensor driver is developed, you need to register it with the Windows operating system. This involves creating the necessary registry entries and configuring the driver to be recognized by Windows Location Services.
  4. Test and validate: Install and test the custom sensor driver to ensure that Windows Location Services successfully uses your MQTT-based GPS data as the exclusive source for location information.
Please note that developing a custom sensor driver and integrating it with Windows Location Services can be a complex task that requires expertise in driver development and Windows internals. You may need to consult relevant documentation and resources for detailed implementation guidance.
 
Joined
May 19, 2023
Messages
2
Reaction score
0
Thank you manbit for your reply! I marked this as solved, although it really is not for me yet. Your well-written advice certainly gives me a blueprint to follow in order to get this accomplished, and that is more than I expected. And albeit vague, those are great search points to research and develop. I am neither an expert in driver development or Windows internals though, so this task may be beyond me at the moment.

I was worried about this post, like a dropped crab pot I forgot to put bait in. I am glad I kept cruising back here to check on it as there was indeed a catch in it.

This issue, with getting my system to use my developed GPS source for location on Windows 10 being so complex, has me considering developing a parallel platform on Linux along-side to see which is more viable. Node Red will work on both platforms and is my visual interface for this system, and Python certainly works on Linux. Whether or not I use WSL or go full-out Linux on the Panda is a decision I have not made yet. I am considering getting the LattePanda Sigma that can run parallel to my Delta 3. If I do go this route, at least on my bench, I will load one with Linux and the other with the licensed Windows 10 Pro I am already using on the Delta 3. I still have 4 months to complete this adventure so back tracking a bit on the Eclipse MQTT server, the Node Red server, and other considerations will not set me back too much. I wanted Windows for ease of setup, but hurdles like the Windows Location Services have me wondering if Linux was not the way to go.

Sorry for the long-winded reply. But I do want to say thank you, sincerely, for replying to my 2-week-old plea for advice and assistance! I appreciate your valuable time very much!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top