×

INDI Library v2.0.7 is Released (01 Apr 2024)

Bi-monthly release with minor bug fixes and improvements

How to use smartphone GPS with INDI-GPSD

  • Posts: 83
  • Thank you received: 6
I read the documentation you provided and I have 2 questions:

(1) Will kstar time be also set from the GPS device or will it use the OS system time ?

In the doc you say: "After a GPS fix is captured, the driver shall update the Location & Time properties [...]. For KStars/Ekos, no additional action is necessary."

but in Kstar setting there are 2 check boxes and I am wondering which one would needs to be set or are they just ignored when using this new module ?



(2) will this new module work if the RPI is configured as a WIFI access point ? (I read in the previous comments conflicting answers)

Thanks! this is a super cool feature and I appreciate the time spent on this by all of you. Another win for the project :)
"Some people are so poor, all they have is money"
SW Black Diamond 80ED | SW150MAK | Newton SW 200/1000 | Orion 50mm Guider with Helical Focuser |Sirius EQ-G Rowan Belt Mode
Canon 1000D moded | ZWO ASI185MC | Baader Mark III Zoom
INDI | Stellarmate on RPI3B+ | Stellarium | Pixinsight
Last edit: 6 years 5 months ago by Yannic Delisle.
6 years 5 months ago #20435
Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 2877
  • Thank you received: 812
So if you are connected to INDI and you use any GPS driver, it will change both the time and the geographic coordinates in KStars. This is also true if you use the advanced KStars setting to update time and location from the "device" instead of "computer when you connect your mount.

I know this because just the other day, we accidentally had that setting backwards when we connected a mount and the KStars sky shifted dramatically because the location in the device was way off. I also know this is true of the GPS indi driver because when I had a NMEA server incorrectly report the time, the KStars time changed by 4 hours and the sky rotated. (On that note, watch out for the NMEA GPS app on the iPhone, they report the UTC time incorrectly)

It should be noted however that the change is temporary, if you look at the Geographic setting in the menu in KStars, it does not change your location for good. What the GPS driver does, is update your location in KStars while INDI is connected so that you have more accurate information for your observing session.
6 years 5 months ago #20436

Please Log in or Create an account to join the conversation.

  • Posts: 2877
  • Thank you received: 812
I think I was posting at the same time as you. For the advanced setting, I believe that Computer vs. device option is really for getting the location and time from the mount, not for the gps driver. I have that setting set to "computer" and I am using the NMEA driver and it still works.
6 years 5 months ago #20437

Please Log in or Create an account to join the conversation.

  • Posts: 83
  • Thank you received: 6
I fear that there could be some conflicts here. I read on another thread on Astroberry that "if you don't have Internet connection NTP gets time from GPSD" and I read here that Jasem did not want to use GPSD.

Hopefully Kaczorek and Jasem are talking to each other ;) or there is no chance that this could cause issue if I use the new module on Astroberry ? I have a hard time connecting all the dots between all this GPSD/NMEA and all, but I it would be nice to clarify this either as a non-issue or address both scenrios in the documentation if it is not already there ...
"Some people are so poor, all they have is money"
SW Black Diamond 80ED | SW150MAK | Newton SW 200/1000 | Orion 50mm Guider with Helical Focuser |Sirius EQ-G Rowan Belt Mode
Canon 1000D moded | ZWO ASI185MC | Baader Mark III Zoom
INDI | Stellarmate on RPI3B+ | Stellarium | Pixinsight
Last edit: 6 years 5 months ago by Yannic Delisle.
6 years 5 months ago #20438

Please Log in or Create an account to join the conversation.

This is a separate driver for those who do not have a GPS dongle and want to use their mobile phone as the GPS. If you have GPS dongle, use GPSD.
The following user(s) said Thank You: Yannic Delisle
6 years 5 months ago #20439

Please Log in or Create an account to join the conversation.

  • Posts: 983
  • Thank you received: 375
We talk to each other sometimes ;) But seriously... Kudos to Jasem for indi-gpsnmea driver. It fills the gap for people who use mobile phone's gps for setting location and time in KStars/Ekos. indi-gpsd does pretty much the same, however it is based on different approach. Both of the drivers set time and location (over INDI server) to other INDI drivers (e.g. mount) and clients (e.g. KStars), but:

indi-gpsnmea:
  • reads gps data stream from mobile phone's gps
  • requires network connection of the source of gps data stream i.e. phone running app, which enables gps sharing
  • does not set operating system time/date based on gps source
  • it is operating system independent

indi-gpsd:
  • reads gps data stream from gpsd service
  • requires gpsd service is running and properly configured as a systemwide service
  • ntpd service can read from gpsd service to synchronize operating system time/date to gps source
  • it is operating system dependent and can be used only on linux

There's no conflict between the two - NTP gets time from GPSD to set operating system time/date, not INDI drivers' and clients' time/date.
We can consider merging these drivers at some point in time, but for now you should run either indi-gpsnmea or indi-gpsd. Using both drivers at the same time makes no sense.
The following user(s) said Thank You: Jasem Mutlaq, Yannic Delisle
6 years 5 months ago #20442

Please Log in or Create an account to join the conversation.

Great answer! It's now part of the documentation for both drivers to avoid any confusion in the future! Now it would be nice if the GPS NMEA driver can also set the system time, but due to escalated privileges required for this, it's not possible now unless it goes via another program that can set this without root.
The following user(s) said Thank You: Radek Kaczorek
6 years 5 months ago #20444

Please Log in or Create an account to join the conversation.

  • Posts: 1309
  • Thank you received: 226
Regarding setting Linux system time with GPS/NTP server, from my experience the NTP daemon will not sync the system time if it is too far off automatically. It considers the time to be in error. My solution is to run a python script to force the system time to sync with the NMEA source. NTP will then keep in sync. My script requires Sudo, perhaps it can be improved or a replacement integrated? Because if Kstars/INDI can keep my system clock set, that is one less thing to do when I power on a Raspberry Pi.
Time sync script:
import os
import sys
import time
from gps import *
 
print 'Attempting to access GPS time...'
 
try:
	gpsd = gps(mode=WATCH_ENABLE)
except:
	print 'No GPS connection present. TIME NOT SET.'
	sys.exit()
 
while True:
	gpsd.next()
	if gpsd.utc != None and gpsd.utc != '':
		gpstime = gpsd.utc[0:4] + gpsd.utc[5:7] + gpsd.utc[8:10] + ' ' + gpsd.utc[11:19]
		print 'Setting system time to GPS time...'
		os.system('sudo date -u --set="%s"' % gpstime)
		print 'System time set.'
		sys.exit()
	time.sleep(1)

It also requires configuration of ntp.conf with the addition of these lines.
server 127.127.28.0 minpoll 4
fudge  127.127.28.0 time1 0.183 refid NMEA
server 127.127.28.1 minpoll 4 prefer
fudge  127.127.28.1 refid PPS
6 years 5 months ago #20445

Please Log in or Create an account to join the conversation.

  • Posts: 447
  • Thank you received: 30
I tried this driver today.

It will work fine without GPSD! !

But time was registered a little bit.

Tried environment
OrangePi 2 plus (WiFi AP mode)
ubuntu 16.04
iPad 2 (GPS model)
GPS 2 IP

I attach photos.
The following user(s) said Thank You: Jasem Mutlaq
6 years 5 months ago #20454
Attachments:

Please Log in or Create an account to join the conversation.

Thanks for testing! The GPS NMEA driver does not change system not. At least not yet.
6 years 5 months ago #20455

Please Log in or Create an account to join the conversation.

  • Posts: 2877
  • Thank you received: 812

Yes, It does not use gpsd, Jasem wanted to avoid that. The phone's NMEA server communicates straight to the INDI driver. This of course means that currently the system time is not updated, just the time in KStars.
6 years 5 months ago #20456

Please Log in or Create an account to join the conversation.

  • Posts: 447
  • Thank you received: 30
Connecting without using GPSD is a big improvement!
(Connection with smartphone is not complicated)

I did not have enough words.
A time offset is sent.
The ipad time is the same as the screen time on the upper right, but in my environment, it will be registered in about 5 minutes in another time.
6 years 5 months ago #20459

Please Log in or Create an account to join the conversation.

Time to create page: 1.029 seconds