diff --git a/src/Glossary.tex b/src/Glossary.tex index 826b248..7535944 100644 --- a/src/Glossary.tex +++ b/src/Glossary.tex @@ -432,3 +432,6 @@ % sidereal % slew % sky chart +% PPS (gps) +% gpsd +% List of Software ? diff --git a/src/Ground_Stations.tex b/src/Ground_Stations.tex index 2e43ac8..e15c582 100644 --- a/src/Ground_Stations.tex +++ b/src/Ground_Stations.tex @@ -73,7 +73,7 @@ can be seen in Figure \begin{center} \centering \includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{video-enclosure-mount-tripod.png} - \caption{SatNOGS-Optical ground station prototype.} + \caption{SatNOGS Optical ground station prototype.} \label{fig:video-enclosure-mount-tripod} \index{telescope}\index{tripod}\index{mount}\index{enclosure} \end{center} diff --git a/src/Software.tex b/src/Software.tex index 76c99f7..50b92ed 100644 --- a/src/Software.tex +++ b/src/Software.tex @@ -328,7 +328,7 @@ Software that can be used with telescope tracking mounts: \item [INDI] --- Main client/server used by other applications. \item [KStars] --- Sky charts, INDI control. \item [Ekos] --- Application used within KStars for remote control - of telescopes and related hardware via \gls{INDI}. + of \glspl{telescope} and related hardware via \gls{INDI}. \item [Stellarium] --- Sky charts, has \gls{INDI} plugin. \item [Other INDI] --- Many more applications work with \gls{INDI}. \item [INDIGO] --- Positions itself as a next-generation INDI (?). @@ -386,10 +386,31 @@ hardware described in section \ref{sec:hardware-mounts}, page \pageref{sec:hardw For the purposes here, described below will be using KStars with a Sky-Watcher tracking mount with INDI and Ekos. -It will be used in sidereal tracking mode, where the stars will appear as +See figure \ref{fig:video-enclosure-mount-tripod}, page \pageref{fig:video-enclosure-mount-tripod} +for a photo of the setup used with KStars below. + +The telescope mount will be used in sidereal tracking mode, +where the stars will appear as ``points'', and the \glspl{satellite} will appear as trails. +The mount is not used in a satellite tracking mode. +Sidereal is the ``standard'' tracking mode of \glspl{telescope}. \index{Sky-Watcher}\index{INDI}\index{Ekos} +KStars is the ``main'' application, but it depends on other key parts. +\gls{INDI} is the protocol that KStars uses for telescope control. +\gls{INDI} itself is a collection of applications. +While KStars has the main sky chart and Ekos is launched within it, +the actual mount control is done with the Ekos application. +While it may sound complex, all of this is set up pretty easily in +\gls{Debian}. + +\begin{minted}{sh} +# Quick and dirty from memory, something like: +sudo apt update +sudo apt install kstars indi-bin indi-eqmod indi-gpsd +\end{minted} + + \begin{sidewaysfigure}[p!] \begin{center} \includegraphics[keepaspectratio=true,height=1.00\textheight,width=1.00\textwidth,angle=0]{kstars-skychart.png} @@ -417,3 +438,94 @@ It will be used in sidereal tracking mode, where the stars will appear as \end{center} \end{sidewaysfigure} + +\section{GNSS} +\label{sec:software-overview} +\index{GNSS}\index{GPS}\index{Galileo}\index{GLONASS}\index{Beidou} +\index{gpsd} + +\gls{GNSS} is used for time synchornization and for (somewhat) +accurately determining the location of the observation. + +\gls{GNSS} collectively includes the USA \gls{GPS}, Europe's Galileo, +Russia's GLONASS, and China's Beidou, as well as other +regional systems. +\index{GPS}\index{Galileo}\index{GLONASS}\index{Beidou} + +A basic, widely available \gls{COTS} USB \gls{GNSS} device +with a basic (or no!) \gls{antenna} plugged into the embedded +computer can get time and location accurate enough for the +purposes here. See various U-Blox devices, for example. +\index{COTS}\index{USB} + +In \gls{Debian} \gls{GNSS} service with a USB device can be provided +by the \texttt{gpsd} application. + +\begin{minted}{sh} +sudo apt install gpsd gpsd-tools +\end{minted} + +Edit the configuration file, \texttt{/etc/default/gpsd} like: + +\begin{minted}{sh} +DEVICES="/dev/ttyACM0" +GPSD_OPTIONS="-Gn" +USBAUTO="false" +\end{minted} + +This will start a \texttt{gpsd} daemon listening on all interfaces, +so it can be used by other computers on the network (such as if +acquire and process are on different machines). Using the +device \texttt{/dev/ttyACM0} can be problematic if there are multiple +\texttt{/dev/ttyACM*} devices. Perhaps something like this could be +used in that case: + +\begin{minted}{sh} +DEVICES="/dev/serial/by-id/usb-u-blox_AG_-_www.u-blox.com_u-blox_GNSS_receiver-if00" +\end{minted} + +Even with \texttt{gpsd} configuration listening on all IPs, +don't think \texttt{systemd} won't do what it likes. So +you may have to do: + +\begin{minted}{sh} +systemctl edit --full gpsd.socket +\end{minted} + +And create a configuration like this (I have IPv6 disabled, in this case): + +\begin{minted}{sh} +[Unit] +Description=GPS (Global Positioning System) Daemon Sockets + +[Socket] +ListenStream=/run/gpsd.sock +# ListenStream=[::]:2947 +ListenStream=0.0.0.0:2947 +SocketMode=0600 +BindIPv6Only=no + +[Install] +WantedBy=sockets.target +\end{minted} + +(Re)start: + +\begin{minted}{sh} +sudo systemctl restart gpsd.service gpsd.socket +\end{minted} + +Test all is good: + +\begin{minted}{sh} +gpsmon -n +# or +cgps -u m +\end{minted} + +Enable to start on boot: + +\begin{minted}{sh} +sudo systemctl enable gpsd.service gpsd.socket +\end{minted} +