https://wiki.satnogs.org/api.php?action=feedcontributions&user=Bmorchard&feedformat=atomSatNOGS Wiki - User contributions [en]2024-03-29T12:11:59ZUser contributionsMediaWiki 1.32.0https://wiki.satnogs.org/index.php?title=Troubleshooting&diff=2737Troubleshooting2019-08-20T13:13:24Z<p>Bmorchard: </p>
<hr />
<div><br />
==Client troubleshooting==<br />
<br />
===Client not showing up on the network?===<br />
<br />
*Check that you have ticked the "Is it operational?" checkbox on the groundstation page.<br />
*Check your settings and ensure that the API token and station ID are correct. You can get these from your profile page on the SatNOGS network site. If you have accounts in both dev and prod, make sure you're using the token and station ID from the right environment.<br />
*Check your SATNOGS_NETWORK_API_URL. It should point to https://network.satnogs.org/api/ (prod) or https://network-dev.satnogs.org/api/ (dev).<br />
*Check your network connectivity. Can you ping network.satnogs.org or network-dev.satnogs.org? Try running <code>curl https://network.satnogs.org</code> or <code>curl https://network-dev.satnogs.org</code>.<br />
*Check the logs for an error (<code>journalctl -f -u satnogs-client.service</code> or <code>less /var/log/supervisor/satnogs-error.log</code>) and post to our forums at https://community.libre.space<br />
<br />
==="satnogsclient - ERROR - Cannot connect to socket 127.0.0.1:4533"===<br />
<br />
The client is trying to connect to rotctld but is unable to.<br />
<br />
*If you have a no-rotator setup, ensure that satnogs-client is configured as such; see the [[Raspberry Pi 3]] page for info on how to do this.<br />
<br />
*If you do have a rotator, ensure that rotctld is running.<br />
<br />
<br /><br />
<br />
===Some uploads missing & Doppler-correction not working properly===<br />
The station/client might have a clock offset. This causes a Doppler shift on the waterfall and some observations don't start because of a conflict between the time on the PC of the station and the time of the SatNOGS Network.<br />
<br />
==Signal troubleshooting==<br />
<br />
===Blank or solid purple waterfall?===<br />
At the first sign of trouble, put your station into testing mode. This way bad waterfalls do not get uploaded to the database.<br />
<br />
*Make sure the RTLSDR gain is set correctly. If set too high, a blank waterfall can result. If set to low, same. Test a value between 7 and 15. <br />Check your gain value is valid. Wrong values can result in blank waterfalls. For for example '7.7.' will result in errors (and a blank waterfall - there is an extra '.' at the end). <br /><code>journalctl -u satnogs-client.service</code> It might be a big file, but work through it and look for errors. <br /><code>df -h</code> Ensure there is sufficient hard drive space. If temp files can not be created, the waterfall might be blank. <br />Run <code>rtl_test</code> for about 30 seconds and make sure you can connect with the dongle and that there are no errors.<br />
<br />
===Not receiving anything?===<br />
<br />
*Make sure the satellite you are testing observations against is active and recently received by others on [https://network.satnogs.org our production network site]. If you click on a satellite name, a popup will appear and give you the option to click on "Past Observations". If everything in the past shows red, then the problem is likely with that satellite.<br />
<br />
*SO-50 is a good satellite to use for testing as it is a strong FM voice signal assuming you have UHF capabilities. Schedule using "PE0SAT - Mode V/U FM Voice - 436.794 MHz". Here is an example to compare against: https://network.satnogs.org/observations/3334/<br />
<br />
*ISS is a good test for VHF as the APRS digipeater is alive again (as of this writing; check [https://www.issfanclub.com/ issfanclub.com] for up-to-date information). When you schedule it, be sure to select the APRS downlink.<br />
<br />
*If you're using an rtlsdr, check that it can be seen and is operating correctly by running rtl_test. Let it run for 30 seconds or so, then hit Ctrl-c to kill it:<br />
<br />
<pre><br />
pi@raspberrypi:~ $ rtl_test <br />
Found 1 device(s):<br />
0: Realtek, RTL2838UHIDIR, SN: 00000001<br />
<br />
Using device 0: Generic RTL2832U OEM<br />
Found Rafael Micro R820T tuner<br />
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6 <br />
[R82XX] PLL not locked!<br />
Sampling at 2048000 S/s.<br />
<br />
Info: This tool will continuously read from the device, and report if<br />
samples get lost. If you observe no further output, everything is fine.<br />
<br />
Reading samples in async mode...<br />
^CSignal caught, exiting!<br />
<br />
User cancel, exiting...<br />
Samples per million lost (minimum): 0<br />
</pre><br />
<br />
*You can also try a manual run of satnogs_fm_demod.py to make sure that works:<br />
<br />
<pre><br />
$ cd /tmp<br />
$ satnogs_fm_demod.py --rx-sdr-device=rtlsdr --rx-freq=444000000 --file-path=./audio-out.ogg --waterfall-file-path=./waterfall.dat<br />
</pre><br />
<br />
Let it run for a minute or so. If everything is working, this should create an .ogg file and a .dat file of non-zero size (probably a few MB each). <br />
<br />
[[File:Waterfall_3519_2017-04-24T04-48-48_resized.png|frame|Check your location!]]<br />
===Observations seem off-frequency?===<br />
<br />
*'''PPM drift''' While newer SDR devices are very good and stable, there still may be some PPM drift to compensate for if you notice that signals are consistently off center. The SATNOGS_PPM_ERROR setting in /etc/supervisord.d/satnogs.ini can be used to correct for this.<br />
*'''Clock sync''' Make sure your clock is synced. Ensure ntp is configured and running (especially with the Raspberry Pi which lacks a real time clock)<br />
*'''Wrong location''' If your signal seems to be on but drifts at the apex like in this image, check to make sure your Latitude, Longitude, and Elevation coordinates are set properly and in the right format.<br />
<br />
[[File:Rf noise.png|alt=RF Noise|left|thumb|400x400px|Too much RF Noise]]<br />
<br />
===RF Noise===<br />
If you notice a noise in the waterfall every time motors are spinning, you will need to:<br />
<br />
*Twist each pair or the motor wire<br />
*Add proper grounding<br />
*Add capacitor to the DC input of drivers<br />
*wrap the motors wire with adhesite aluminum and then connect it to GND on driver side<br />
*add ferites to motors wires</div>Bmorchardhttps://wiki.satnogs.org/index.php?title=Troubleshooting&diff=2736Troubleshooting2019-08-20T13:12:32Z<p>Bmorchard: Formatting</p>
<hr />
<div><br />
==Client troubleshooting==<br />
<br />
===Client not showing up on the network?===<br />
<br />
*Check that you have ticked the "Is it operational?" checkbox on the groundstation page.<br />
*Check your settings and ensure that the API token and station ID are correct. You can get these from your profile page on the SatNOGS network site. If you have accounts in both dev and prod, make sure you're using the token and station ID from the right environment.<br />
*Check your SATNOGS_NETWORK_API_URL. It should point to https://network.satnogs.org/api/ (prod) or https://network-dev.satnogs.org/api/ (dev).<br />
*Check your network connectivity. Can you ping network.satnogs.org or network-dev.satnogs.org? Try running <code>curl https://network.satnogs.org</code> or <code>curl https://network-dev.satnogs.org</code>.<br />
*Check the logs for an error (<code>journalctl -f -u satnogs-client.service</code> or <code>less /var/log/supervisor/satnogs-error.log</code>) and post to our forums at https://community.libre.space<br />
<br />
==="satnogsclient - ERROR - Cannot connect to socket 127.0.0.1:4533"===<br />
<br />
The client is trying to connect to rotctld but is unable to.<br />
<br />
*If you have a no-rotator setup, ensure that satnogs-client is configured as such; see the [[Raspberry Pi 3]] page for info on how to do this.<br />
<br />
*If you do have a rotator, ensure that rotctld is running.<br />
<br />
<br /><br />
<br />
===Some uploads missing & Doppler-correction not working properly===<br />
The station/client might have a clock offset. This causes a Doppler shift on the waterfall and some observations don't start because of a conflict between the time on the PC of the station and the time of the SatNOGS Network.<br />
<br />
==Signal troubleshooting==<br />
<br />
===Blank waterfall?===<br />
At the first sign of trouble, put your station into testing mode. This way bad waterfalls do not get uploaded to the database.<br />
<br />
*Make sure the RTLSDR gain is set correctly. If set too high, a blank waterfall can result. If set to low, same. Test a value between 7 and 15. <br />Check your gain value is valid. Wrong values can result in blank waterfalls. For for example '7.7.' will result in errors (and a blank waterfall - there is an extra '.' at the end). <br /><code>journalctl -u satnogs-client.service</code> It might be a big file, but work through it and look for errors. <br /><code>df -h</code> Ensure there is sufficient hard drive space. If temp files can not be created, the waterfall might be blank. <br />Run <code>rtl_test</code> for about 30 seconds and make sure you can connect with the dongle and that there are no errors.<br />
<br />
===Not receiving anything?===<br />
<br />
*Make sure the satellite you are testing observations against is active and recently received by others on [https://network.satnogs.org our production network site]. If you click on a satellite name, a popup will appear and give you the option to click on "Past Observations". If everything in the past shows red, then the problem is likely with that satellite.<br />
<br />
*SO-50 is a good satellite to use for testing as it is a strong FM voice signal assuming you have UHF capabilities. Schedule using "PE0SAT - Mode V/U FM Voice - 436.794 MHz". Here is an example to compare against: https://network.satnogs.org/observations/3334/<br />
<br />
*ISS is a good test for VHF as the APRS digipeater is alive again (as of this writing; check [https://www.issfanclub.com/ issfanclub.com] for up-to-date information). When you schedule it, be sure to select the APRS downlink.<br />
<br />
*If you're using an rtlsdr, check that it can be seen and is operating correctly by running rtl_test. Let it run for 30 seconds or so, then hit Ctrl-c to kill it:<br />
<br />
<pre><br />
pi@raspberrypi:~ $ rtl_test <br />
Found 1 device(s):<br />
0: Realtek, RTL2838UHIDIR, SN: 00000001<br />
<br />
Using device 0: Generic RTL2832U OEM<br />
Found Rafael Micro R820T tuner<br />
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6 <br />
[R82XX] PLL not locked!<br />
Sampling at 2048000 S/s.<br />
<br />
Info: This tool will continuously read from the device, and report if<br />
samples get lost. If you observe no further output, everything is fine.<br />
<br />
Reading samples in async mode...<br />
^CSignal caught, exiting!<br />
<br />
User cancel, exiting...<br />
Samples per million lost (minimum): 0<br />
</pre><br />
<br />
*You can also try a manual run of satnogs_fm_demod.py to make sure that works:<br />
<br />
<pre><br />
$ cd /tmp<br />
$ satnogs_fm_demod.py --rx-sdr-device=rtlsdr --rx-freq=444000000 --file-path=./audio-out.ogg --waterfall-file-path=./waterfall.dat<br />
</pre><br />
<br />
Let it run for a minute or so. If everything is working, this should create an .ogg file and a .dat file of non-zero size (probably a few MB each). <br />
<br />
[[File:Waterfall_3519_2017-04-24T04-48-48_resized.png|frame|Check your location!]]<br />
===Observations seem off-frequency?===<br />
<br />
*'''PPM drift''' While newer SDR devices are very good and stable, there still may be some PPM drift to compensate for if you notice that signals are consistently off center. The SATNOGS_PPM_ERROR setting in /etc/supervisord.d/satnogs.ini can be used to correct for this.<br />
*'''Clock sync''' Make sure your clock is synced. Ensure ntp is configured and running (especially with the Raspberry Pi which lacks a real time clock)<br />
*'''Wrong location''' If your signal seems to be on but drifts at the apex like in this image, check to make sure your Latitude, Longitude, and Elevation coordinates are set properly and in the right format.<br />
<br />
[[File:Rf noise.png|alt=RF Noise|left|thumb|400x400px|Too much RF Noise]]<br />
<br />
===RF Noise===<br />
If you notice a noise in the waterfall every time motors are spinning, you will need to:<br />
<br />
*Twist each pair or the motor wire<br />
*Add proper grounding<br />
*Add capacitor to the DC input of drivers<br />
*wrap the motors wire with adhesite aluminum and then connect it to GND on driver side<br />
*add ferites to motors wires</div>Bmorchardhttps://wiki.satnogs.org/index.php?title=Troubleshooting&diff=2735Troubleshooting2019-08-20T13:11:38Z<p>Bmorchard: added the troubleshooting tip of rtl_test</p>
<hr />
<div><br />
==Client troubleshooting==<br />
<br />
===Client not showing up on the network?===<br />
<br />
*Check that you have ticked the "Is it operational?" checkbox on the groundstation page.<br />
*Check your settings and ensure that the API token and station ID are correct. You can get these from your profile page on the SatNOGS network site. If you have accounts in both dev and prod, make sure you're using the token and station ID from the right environment.<br />
*Check your SATNOGS_NETWORK_API_URL. It should point to https://network.satnogs.org/api/ (prod) or https://network-dev.satnogs.org/api/ (dev).<br />
*Check your network connectivity. Can you ping network.satnogs.org or network-dev.satnogs.org? Try running <code>curl https://network.satnogs.org</code> or <code>curl https://network-dev.satnogs.org</code>.<br />
*Check the logs for an error (<code>journalctl -f -u satnogs-client.service</code> or <code>less /var/log/supervisor/satnogs-error.log</code>) and post to our forums at https://community.libre.space<br />
<br />
==="satnogsclient - ERROR - Cannot connect to socket 127.0.0.1:4533"===<br />
<br />
The client is trying to connect to rotctld but is unable to.<br />
<br />
*If you have a no-rotator setup, ensure that satnogs-client is configured as such; see the [[Raspberry Pi 3]] page for info on how to do this.<br />
<br />
*If you do have a rotator, ensure that rotctld is running.<br />
<br />
<br /><br />
<br />
===Some uploads missing & Doppler-correction not working properly===<br />
The station/client might have a clock offset. This causes a Doppler shift on the waterfall and some observations don't start because of a conflict between the time on the PC of the station and the time of the SatNOGS Network.<br />
<br />
==Signal troubleshooting==<br />
<br />
===Blank waterfall?===<br />
At the first sign of trouble, put your station into testing mode. This way bad waterfalls do not get uploaded to the database.<br />
<br />
*Make sure the RTLSDR gain is set correctly. If set too high, a blank waterfall can result. If set to low, same. Test a value between 7 and 15. <br />Check your gain value is valid. Wrong values can result in blank waterfalls. For for example '7.7.' will result in errors (and a blank waterfall - there is an extra '.' at the end). <br /><code>journalctl -u satnogs-client.service</code> It might be a big file, but work through it and look for errors. <br /><code>df -h</code> Ensure there is sufficient hard drive space. If temp files can not be created, the waterfall might be blank. Run <code>rtl_test</code> for about 30 seconds and make sure you can connect with the dongle and that there are no errors.<br />
<br />
===Not receiving anything?===<br />
<br />
*Make sure the satellite you are testing observations against is active and recently received by others on [https://network.satnogs.org our production network site]. If you click on a satellite name, a popup will appear and give you the option to click on "Past Observations". If everything in the past shows red, then the problem is likely with that satellite.<br />
<br />
*SO-50 is a good satellite to use for testing as it is a strong FM voice signal assuming you have UHF capabilities. Schedule using "PE0SAT - Mode V/U FM Voice - 436.794 MHz". Here is an example to compare against: https://network.satnogs.org/observations/3334/<br />
<br />
*ISS is a good test for VHF as the APRS digipeater is alive again (as of this writing; check [https://www.issfanclub.com/ issfanclub.com] for up-to-date information). When you schedule it, be sure to select the APRS downlink.<br />
<br />
*If you're using an rtlsdr, check that it can be seen and is operating correctly by running rtl_test. Let it run for 30 seconds or so, then hit Ctrl-c to kill it:<br />
<br />
<pre><br />
pi@raspberrypi:~ $ rtl_test <br />
Found 1 device(s):<br />
0: Realtek, RTL2838UHIDIR, SN: 00000001<br />
<br />
Using device 0: Generic RTL2832U OEM<br />
Found Rafael Micro R820T tuner<br />
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6 <br />
[R82XX] PLL not locked!<br />
Sampling at 2048000 S/s.<br />
<br />
Info: This tool will continuously read from the device, and report if<br />
samples get lost. If you observe no further output, everything is fine.<br />
<br />
Reading samples in async mode...<br />
^CSignal caught, exiting!<br />
<br />
User cancel, exiting...<br />
Samples per million lost (minimum): 0<br />
</pre><br />
<br />
*You can also try a manual run of satnogs_fm_demod.py to make sure that works:<br />
<br />
<pre><br />
$ cd /tmp<br />
$ satnogs_fm_demod.py --rx-sdr-device=rtlsdr --rx-freq=444000000 --file-path=./audio-out.ogg --waterfall-file-path=./waterfall.dat<br />
</pre><br />
<br />
Let it run for a minute or so. If everything is working, this should create an .ogg file and a .dat file of non-zero size (probably a few MB each). <br />
<br />
[[File:Waterfall_3519_2017-04-24T04-48-48_resized.png|frame|Check your location!]]<br />
===Observations seem off-frequency?===<br />
<br />
*'''PPM drift''' While newer SDR devices are very good and stable, there still may be some PPM drift to compensate for if you notice that signals are consistently off center. The SATNOGS_PPM_ERROR setting in /etc/supervisord.d/satnogs.ini can be used to correct for this.<br />
*'''Clock sync''' Make sure your clock is synced. Ensure ntp is configured and running (especially with the Raspberry Pi which lacks a real time clock)<br />
*'''Wrong location''' If your signal seems to be on but drifts at the apex like in this image, check to make sure your Latitude, Longitude, and Elevation coordinates are set properly and in the right format.<br />
<br />
[[File:Rf noise.png|alt=RF Noise|left|thumb|400x400px|Too much RF Noise]]<br />
<br />
===RF Noise===<br />
If you notice a noise in the waterfall every time motors are spinning, you will need to:<br />
<br />
*Twist each pair or the motor wire<br />
*Add proper grounding<br />
*Add capacitor to the DC input of drivers<br />
*wrap the motors wire with adhesite aluminum and then connect it to GND on driver side<br />
*add ferites to motors wires</div>Bmorchardhttps://wiki.satnogs.org/index.php?title=Operation&diff=2731Operation2019-08-12T02:12:36Z<p>Bmorchard: Added keyboard shortcuts to vetting section.</p>
<hr />
<div>__TOC__<br />
<br />
==Scheduling your first test observation==<br />
<br />
'''Assumptions:'''<br />
<br />
*You've set up your [[Raspberry Pi 3|SatNOGS client successfully]]<br />
*You've created an account on the [[Network]], created a ground station, and it's showing up as "online"<br />
<br />
If you've run into any problems with those steps, check out the [[Troubleshooting]] page or ask for help in [https://community.libre.space/c/satnogs the community forum], [https://riot.im/app/#/room/#satnogs:matrix.org the Matrix room], or on IRC at #satnogs on Freenode.<br />
<br />
'''SatNOGS Network:'''<br />
<br />
*Navigate your ground station page in the [https://network.satnogs.org Network Environment] (user name -> "My Profile" -> click on the name of your ground station).<br />
*Select the "Upcoming passes" tab.<br />
*Look for a pass with a "schedule" button that isn't greyed out, and click it. Ensure it is a good (high) pass of an operational satellite (check the color bar on the satellite)<br />
*In the "New Observation" page that comes up, click the "Calculate" button, then click "Schedule".<br />
*You should now see a page for that observation; in the "Waterfall" tab, you should see "Waiting for waterfall".<br />
<br />
'''Ground Station'''<br />
<br />
Now SSH to your ground station computer and run these steps:<br />
<br />
*Follow the satnogs-client logs. Depending on your setup, this might be done with <code>journalctl -f -u satnogs-client.service</code>, or <code>tail -F /var/log/supervisor/satnogs.log</code><br />
*Before the observation is scheduled to start, you should see your client wake up once per minute to check for new jobs:<br />
<br />
<pre><br />
Oct 02 00:16:02 raspberrypi satnogs-client[10124]: 2017-10-02 00:16:02,477 - satnogsclient - DEBUG - Opening TCP socket: 127.0.0.1:5011<br />
Oct 02 00:16:02 raspberrypi satnogs-client[10124]: 2017-10-02 00:16:02,479 - satnogsclient - DEBUG - Sending message: [{"origin": "network", "transmitter": "uXJ8NQNcH8b9osRc<br />
Oct 02 00:16:02 raspberrypi satnogs-client[10124]: 2017-10-02 00:16:02,488 - apscheduler.executors.default - INFO - Job "get_jobs (trigger: interval[0:01:00], next run at: 2<br />
Oct 02 00:16:59 raspberrypi satnogs-client[10124]: 2017-10-02 00:16:59,615 - apscheduler.executors.default - INFO - Running job "get_jobs (trigger: interval[0:01:00], next r<br />
Oct 02 00:16:59 raspberrypi satnogs-client[10124]: 2017-10-02 00:16:59,661 - apscheduler.executors.default - INFO - Running job "post_data (trigger: interval[0:02:00], next <br />
Oct 02 00:16:59 raspberrypi satnogs-client[10124]: 2017-10-02 00:16:59,668 - apscheduler.executors.default - INFO - Job "post_data (trigger: interval[0:02:00], next run at: <br />
Oct 02 00:17:00 raspberrypi satnogs-client[10124]: 2017-10-02 00:17:00,906 - satnogsclient - DEBUG - Opening TCP socket: 127.0.0.1:5011<br />
Oct 02 00:17:00 raspberrypi satnogs-client[10124]: 2017-10-02 00:17:00,908 - satnogsclient - DEBUG - Sending message: [{"origin": "network", "transmitter": "uXJ8NQNcH8b9osRc<br />
Oct 02 00:17:00 raspberrypi satnogs-client[10124]: 2017-10-02 00:17:00,912 - apscheduler.executors.default - INFO - Job "get_jobs (trigger: interval[0:01:00], next run at: 2<br />
</pre><br />
<br />
*At the scheduled time for the observation, you should see the client kick off the observation:<br />
<br />
<pre><br />
Oct 02 00:18:00 raspberrypi satnogs-client[10124]: 2017-10-02 00:18:00,774 - satnogsclient - DEBUG - Opening TCP socket: 127.0.0.1:5011<br />
Oct 02 00:18:00 raspberrypi satnogs-client[10124]: 2017-10-02 00:18:00,776 - satnogsclient - DEBUG - Sending message: [{"origin": "network", "transmitter": "uXJ8NQNcH8b9osRc<br />
Oct 02 00:18:00 raspberrypi satnogs-client[10124]: 2017-10-02 00:18:00,781 - apscheduler.executors.default - INFO - Job "get_jobs (trigger: interval[0:01:00], next run at: 2<br />
Oct 02 00:18:22 raspberrypi satnogs-client[10124]: 2017-10-02 00:18:22,022 - apscheduler.executors.default - INFO - Running job "spawn_observer (trigger: date[2017-10-02 00:<br />
Oct 02 00:18:22 raspberrypi satnogs-client[10124]: 2017-10-02 00:18:22,082 - satnogsclient - DEBUG - Opening TCP socket: 127.0.0.1:4533<br />
Oct 02 00:18:22 raspberrypi satnogs-client[10124]: 2017-10-02 00:18:22,109 - satnogsclient - DEBUG - Sending message: p<br />
Oct 02 00:18:22 raspberrypi satnogs-client[10124]: 2017-10-02 00:18:22,110 - satnogsclient - DEBUG - Received message: 0.000000<br />
Oct 02 00:18:22 raspberrypi satnogs-client[10124]: 0.000000<br />
Oct 02 00:18:22 raspberrypi satnogs-client[10124]: 2017-10-02 00:18:22,111 - satnogsclient - DEBUG - Opening TCP socket: 127.0.0.1:4532<br />
Oct 02 00:18:22 raspberrypi satnogs-client[10124]: 2017-10-02 00:18:22,115 - satnogsclient - DEBUG - Sending message: P 188.276951189 -0.0155264223734<br />
Oct 02 00:18:22 raspberrypi satnogs-client[10124]: 2017-10-02 00:18:22,119 - satnogsclient - DEBUG - Received message: RPRT -1<br />
Oct 02 00:18:22 raspberrypi satnogs-client[10124]: 2017-10-02 00:18:22,143 - satnogsclient - DEBUG - Sending message: F 436038107<br />
Oct 02 00:18:22 raspberrypi satnogs-client[10124]: 2017-10-02 00:18:22,144 - satnogsclient - DEBUG - Received message: RPRT 0<br />
</pre><br />
<br />
*After the observation is over, you should see the client submit the data to the SatNOGS network<br />
<br />
In the SatNOGS Stage Environment, refresh the Observation page. You should now see a waterfall plot for your data.<br />
<br />
If that all worked -- congratulations! You've just successfully completed your first SatNOGS observation.<br />
<br />
If it didn't work, don't feel bad -- it can take a few attempts before you get it right. Have a look at the [[Troubleshooting]] page for tips, and don't forget to contact the community if you need help.<br />
<br />
==Rating observations==<br />
<br />
Once your observation results are posted back in the Network by your satnogs-client, you should go to Network to rate your observations. Any orange marked observations need vetting by users.<br />
{{Message|The main purpose of validating observations is to know if the satellite/transmitter is alive, if it transmits in the listed frequency/ies, and if the TLEs we have are accurate.}}<br />
{{Message|The functionality may change in the future, but for now even a faint sign on the waterfall is enough to make it valid.}}<br />
<br />
[[File:Screenshot from 2017-10-15 11-59-59.png|frame|Orange need your rating!]]<br />
<br />
Categories of observations:<br />
<br />
*'''Good'''<br />
**You should mark observations as "Good" when it is clear from the waterfall and/or audio recording that a satellite is present. Keyboard Shortcut 'g'<br />
*'''Bad'''<br />
**You should mark observations as "Bad" when by examining the waterfall and/or audio it is obvious that there was no satellite detected in this observation. Keyboard Shortcut 'b'<br />
*'''Failed'''<br />
**You should mark observations as "Failed" when the station failed entirely: the waterfall and/or audio is empty or not present, or there's too much noise. Keyboard Shortcut 'f'<br />
<br />
<br />
Below is a collection of waterfalls with possible results of observations:<br />
<gallery heights="400px" widths="200px"><br />
File:Waterfall_20657_2017-10-15T10-07-51.png|'''Good''': Satellite is visible (bars-bursts of data in the middle). ''Note that the tangent-shaped lines are local noise''<br />
File:Waterfall_20534_2017-10-15T07-21-24.png|'''Bad''': Typical empty waterfall with no visible signals.<br />
File:Waterfall 20499 2017-10-15T07-17-32.png|'''Good''': Although drifting, satellite is clearly visible around the center.<br />
File:Waterfall 20506 2017-10-15T06-47-36.png|'''Good''': Faint CW signal around center-left. ''Note you might have to expand image to notice it''<br />
File:Waterfall_20571_2017-10-15T05-25-56.png|'''Good''': Clearly visible FM transmission. ''Note that the swinging lines are terrestrial noise''<br />
File:Waterfall 20483 2017-10-15T05-12-49.png|'''Good''': Straight line in the center bottom is a satellite. ''Note transmission on left bottom is the same satellite on a different frequency''<br />
File:Waterfall_145037_2018-05-26T15-18-18.png|'''Good''': Packets clearly seen in the middle of the observation. ''Note transmission starting middle bottom then moving to left and back to right *is* a space object (satellite). It is not the one we are tracking though (different TLE, thus this type if curve).''<br />
</gallery><br />
<br />
[[File:Observation_with_discuss_button_highlighted.png|thumb|frame|Click the "Discuss" button to post in our web forum. (Note: this will only appear in the SatNOGS network.)]]<br />
<br />
===Discuss===<br />
If you're still unsure about an observation, click the "Discuss" button, near the top right of the observation's page; that will post a link to it on [https://community.libre.space/c/observations the Observations forum], where you can ask for feedback.<br />
<br />
==Scheduling observations in standalone mode==<br />
<br />
===Scheduling a NOAA observation in standalone mode===<br />
<br />
Instructions for scheduling a NOAA observation, including decoding of the APT images, can be found [http://ixion.csd.uoc.gr/vardakis/index.php/satnogs-noaa-apt-decoder-walkthrough/ here].<br />
<br />
<br />
==Network permissions matrix==<br />
<br />
{| class="wikitable" style="text-align:center"<br />
|-<br />
! scope="col" |User<br />
! scope="col" |View and discuss observation<br />
! scope="col" |Vet observation<br />
! scope="col" |Delete future observation<br />
! scope="col" |Schedule observation<br />
|-<br />
|Non Authenticated<br />
|All<br />
|None<br />
|None<br />
|None<br />
|-<br />
|Authenticated<br />
|All<br />
|None<br />
|None<br />
|None<br />
|-<br />
|Station Owner (Future)<br />
|All<br />
|None<br />
|None<br />
|None<br />
|-<br />
|Station Owner (Offline)<br />
|All<br />
|Own(stations or observations)<br />
|Own(stations or observations)<br />
|None<br />
|-<br />
|Station Owner (Testing)<br />
|All<br />
|Own(stations or observations)<br />
|Own(stations or observations)<br />
|Own(stations)<br />
|-<br />
|Station Owner (Online)<br />
|All<br />
|All<br />
|Own(stations or observations)<br />
|All(online stations)<br />
|-<br />
|Moderator<br />
|All<br />
|All<br />
|All<br />
|All<br />
|-<br />
|Admin<br />
|All<br />
|All<br />
|All<br />
|All<br />
|}<br />
Examples:<br />
<br />
*Authenticated user can view and discuss on all the observation. User can not vet or delete an observation. User can not schedule observation in any station.<br />
<br />
*Station Owner with at least one online station can view and discuss on all observations. Online station owner can vet or delete observations on stations that owns. Online station owner can vet or delete observation that has scheduled. Online station owner can schedule observations on all online stations.</div>Bmorchardhttps://wiki.satnogs.org/index.php?title=Troubleshooting&diff=2730Troubleshooting2019-08-10T01:11:29Z<p>Bmorchard: </p>
<hr />
<div><br />
==Client troubleshooting==<br />
<br />
===Client not showing up on the network?===<br />
<br />
*Check that you have ticked the "Is it operational?" checkbox on the groundstation page.<br />
*Check your settings and ensure that the API token and station ID are correct. You can get these from your profile page on the SatNOGS network site. If you have accounts in both dev and prod, make sure you're using the token and station ID from the right environment.<br />
*Check your SATNOGS_NETWORK_API_URL. It should point to https://network.satnogs.org/api/ (prod) or https://network-dev.satnogs.org/api/ (dev).<br />
*Check your network connectivity. Can you ping network.satnogs.org or network-dev.satnogs.org? Try running <code>curl https://network.satnogs.org</code> or <code>curl https://network-dev.satnogs.org</code>.<br />
*Check the logs for an error (<code>journalctl -f -u satnogs-client.service</code> or <code>less /var/log/supervisor/satnogs-error.log</code>) and post to our forums at https://community.libre.space<br />
<br />
==="satnogsclient - ERROR - Cannot connect to socket 127.0.0.1:4533"===<br />
<br />
The client is trying to connect to rotctld but is unable to.<br />
<br />
*If you have a no-rotator setup, ensure that satnogs-client is configured as such; see the [[Raspberry Pi 3]] page for info on how to do this.<br />
<br />
*If you do have a rotator, ensure that rotctld is running.<br />
<br />
<br /><br />
<br />
===Some uploads missing & Doppler-correction not working properly===<br />
The station/client might have a clock offset. This causes a Doppler shift on the waterfall and some observations don't start because of a conflict between the time on the PC of the station and the time of the SatNOGS Network.<br />
<br />
==Signal troubleshooting==<br />
<br />
===Blank waterfall?===<br />
At the first sign of trouble, put your station into testing mode. This way bad waterfalls do not get uploaded to the database.<br />
<br />
*Make sure the RTLSDR gain is set correctly. If set too high, a blank waterfall can result. If set to low, same. Test a value between 7 and 15. <br />Check your gain value is valid. Wrong values can result in blank waterfalls. For for example '7.7.' will result in errors (and a blank waterfall - there is an extra '.' at the end). <br /><code>journalctl -u satnogs-client.service</code> It might be a big file, but work through it and look for errors. <br /><code>df -h</code> Ensure there is sufficient hard drive space. If temp files can not be created, the waterfall might be blank.<br />
<br />
===Not receiving anything?===<br />
<br />
*Make sure the satellite you are testing observations against is active and recently received by others on [https://network.satnogs.org our production network site]. If you click on a satellite name, a popup will appear and give you the option to click on "Past Observations". If everything in the past shows red, then the problem is likely with that satellite.<br />
<br />
*SO-50 is a good satellite to use for testing as it is a strong FM voice signal assuming you have UHF capabilities. Schedule using "PE0SAT - Mode V/U FM Voice - 436.794 MHz". Here is an example to compare against: https://network.satnogs.org/observations/3334/<br />
<br />
*ISS is a good test for VHF as the APRS digipeater is alive again (as of this writing; check [https://www.issfanclub.com/ issfanclub.com] for up-to-date information). When you schedule it, be sure to select the APRS downlink.<br />
<br />
*If you're using an rtlsdr, check that it can be seen and is operating correctly by running rtl_test. Let it run for 30 seconds or so, then hit Ctrl-c to kill it:<br />
<br />
<pre><br />
pi@raspberrypi:~ $ rtl_test <br />
Found 1 device(s):<br />
0: Realtek, RTL2838UHIDIR, SN: 00000001<br />
<br />
Using device 0: Generic RTL2832U OEM<br />
Found Rafael Micro R820T tuner<br />
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6 <br />
[R82XX] PLL not locked!<br />
Sampling at 2048000 S/s.<br />
<br />
Info: This tool will continuously read from the device, and report if<br />
samples get lost. If you observe no further output, everything is fine.<br />
<br />
Reading samples in async mode...<br />
^CSignal caught, exiting!<br />
<br />
User cancel, exiting...<br />
Samples per million lost (minimum): 0<br />
</pre><br />
<br />
*You can also try a manual run of satnogs_fm_demod.py to make sure that works:<br />
<br />
<pre><br />
$ cd /tmp<br />
$ satnogs_fm_demod.py --rx-sdr-device=rtlsdr --rx-freq=444000000 --file-path=./audio-out.ogg --waterfall-file-path=./waterfall.dat<br />
</pre><br />
<br />
Let it run for a minute or so. If everything is working, this should create an .ogg file and a .dat file of non-zero size (probably a few MB each). <br />
<br />
[[File:Waterfall_3519_2017-04-24T04-48-48_resized.png|frame|Check your location!]]<br />
===Observations seem off-frequency?===<br />
<br />
*'''PPM drift''' While newer SDR devices are very good and stable, there still may be some PPM drift to compensate for if you notice that signals are consistently off center. The SATNOGS_PPM_ERROR setting in /etc/supervisord.d/satnogs.ini can be used to correct for this.<br />
*'''Clock sync''' Make sure your clock is synced. Ensure ntp is configured and running (especially with the Raspberry Pi which lacks a real time clock)<br />
*'''Wrong location''' If your signal seems to be on but drifts at the apex like in this image, check to make sure your Latitude, Longitude, and Elevation coordinates are set properly and in the right format.<br />
<br />
[[File:Rf noise.png|alt=RF Noise|left|thumb|400x400px|Too much RF Noise]]<br />
<br />
===RF Noise===<br />
If you notice a noise in the waterfall every time motors are spinning, you will need to:<br />
<br />
*Twist each pair or the motor wire<br />
*Add proper grounding<br />
*Add capacitor to the DC input of drivers<br />
*wrap the motors wire with adhesite aluminum and then connect it to GND on driver side<br />
*add ferites to motors wires</div>Bmorchardhttps://wiki.satnogs.org/index.php?title=Troubleshooting&diff=2729Troubleshooting2019-08-10T01:10:45Z<p>Bmorchard: /* Not receiving anything? */ Add section on blank waterfalls.</p>
<hr />
<div><br />
==Client troubleshooting==<br />
<br />
===Client not showing up on the network?===<br />
<br />
*Check that you have ticked the "Is it operational?" checkbox on the groundstation page.<br />
*Check your settings and ensure that the API token and station ID are correct. You can get these from your profile page on the SatNOGS network site. If you have accounts in both dev and prod, make sure you're using the token and station ID from the right environment.<br />
*Check your SATNOGS_NETWORK_API_URL. It should point to https://network.satnogs.org/api/ (prod) or https://network-dev.satnogs.org/api/ (dev).<br />
*Check your network connectivity. Can you ping network.satnogs.org or network-dev.satnogs.org? Try running <code>curl https://network.satnogs.org</code> or <code>curl https://network-dev.satnogs.org</code>.<br />
*Check the logs for an error (<code>journalctl -f -u satnogs-client.service</code> or <code>less /var/log/supervisor/satnogs-error.log</code>) and post to our forums at https://community.libre.space<br />
<br />
==="satnogsclient - ERROR - Cannot connect to socket 127.0.0.1:4533"===<br />
<br />
The client is trying to connect to rotctld but is unable to.<br />
<br />
*If you have a no-rotator setup, ensure that satnogs-client is configured as such; see the [[Raspberry Pi 3]] page for info on how to do this.<br />
<br />
*If you do have a rotator, ensure that rotctld is running.<br />
<br />
<br /><br />
<br />
===Some uploads missing & Doppler-correction not working properly===<br />
The station/client might have a clock offset. This causes a Doppler shift on the waterfall and some observations don't start because of a conflict between the time on the PC of the station and the time of the SatNOGS Network.<br />
<br />
==Signal troubleshooting==<br />
<br />
===Blank waterfall?===<br />
At the first sign of trouble, put your station into testing mode. This way bad waterfalls do not get uploaded to the database.<br />
<br />
*Make sure the RTLSDR gain is set correctly. If set too high, a blank waterfall can result. If set to low, same. Test a value between 7 and 15. Check your gain value is valid. Wrong values can result in blank waterfalls. For for example '7.7.' will result in errors (and a blank waterfall - there is an extra '.' at the end). <code>journalctl -u satnogs-client.service</code> It might be a big file, but work through it and look for errors. <code>df -h</code> Ensure there is sufficient hard drive space. If temp files can not be created, the waterfall might be blank.<br />
<br />
===Not receiving anything?===<br />
<br />
*Make sure the satellite you are testing observations against is active and recently received by others on [https://network.satnogs.org our production network site]. If you click on a satellite name, a popup will appear and give you the option to click on "Past Observations". If everything in the past shows red, then the problem is likely with that satellite.<br />
<br />
*SO-50 is a good satellite to use for testing as it is a strong FM voice signal assuming you have UHF capabilities. Schedule using "PE0SAT - Mode V/U FM Voice - 436.794 MHz". Here is an example to compare against: https://network.satnogs.org/observations/3334/<br />
<br />
*ISS is a good test for VHF as the APRS digipeater is alive again (as of this writing; check [https://www.issfanclub.com/ issfanclub.com] for up-to-date information). When you schedule it, be sure to select the APRS downlink.<br />
<br />
*If you're using an rtlsdr, check that it can be seen and is operating correctly by running rtl_test. Let it run for 30 seconds or so, then hit Ctrl-c to kill it:<br />
<br />
<pre><br />
pi@raspberrypi:~ $ rtl_test <br />
Found 1 device(s):<br />
0: Realtek, RTL2838UHIDIR, SN: 00000001<br />
<br />
Using device 0: Generic RTL2832U OEM<br />
Found Rafael Micro R820T tuner<br />
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6 <br />
[R82XX] PLL not locked!<br />
Sampling at 2048000 S/s.<br />
<br />
Info: This tool will continuously read from the device, and report if<br />
samples get lost. If you observe no further output, everything is fine.<br />
<br />
Reading samples in async mode...<br />
^CSignal caught, exiting!<br />
<br />
User cancel, exiting...<br />
Samples per million lost (minimum): 0<br />
</pre><br />
<br />
*You can also try a manual run of satnogs_fm_demod.py to make sure that works:<br />
<br />
<pre><br />
$ cd /tmp<br />
$ satnogs_fm_demod.py --rx-sdr-device=rtlsdr --rx-freq=444000000 --file-path=./audio-out.ogg --waterfall-file-path=./waterfall.dat<br />
</pre><br />
<br />
Let it run for a minute or so. If everything is working, this should create an .ogg file and a .dat file of non-zero size (probably a few MB each). <br />
<br />
[[File:Waterfall_3519_2017-04-24T04-48-48_resized.png|frame|Check your location!]]<br />
===Observations seem off-frequency?===<br />
<br />
*'''PPM drift''' While newer SDR devices are very good and stable, there still may be some PPM drift to compensate for if you notice that signals are consistently off center. The SATNOGS_PPM_ERROR setting in /etc/supervisord.d/satnogs.ini can be used to correct for this.<br />
*'''Clock sync''' Make sure your clock is synced. Ensure ntp is configured and running (especially with the Raspberry Pi which lacks a real time clock)<br />
*'''Wrong location''' If your signal seems to be on but drifts at the apex like in this image, check to make sure your Latitude, Longitude, and Elevation coordinates are set properly and in the right format.<br />
<br />
[[File:Rf noise.png|alt=RF Noise|left|thumb|400x400px|Too much RF Noise]]<br />
<br />
===RF Noise===<br />
If you notice a noise in the waterfall every time motors are spinning, you will need to:<br />
<br />
*Twist each pair or the motor wire<br />
*Add proper grounding<br />
*Add capacitor to the DC input of drivers<br />
*wrap the motors wire with adhesite aluminum and then connect it to GND on driver side<br />
*add ferites to motors wires</div>Bmorchardhttps://wiki.satnogs.org/index.php?title=SatNOGS_Client_Ansible&diff=2728SatNOGS Client Ansible2019-08-08T14:18:39Z<p>Bmorchard: Removed the sudo command - it was listed twice.</p>
<hr />
<div>=Intro=<br />
<br />
'''SatNOGS Client Ansible''' is the suggested method to install '''SatNOGS Client''' (and friends) to a system. It currently supports Raspbian and Debian Stretch.<br />
<br />
=Raspbian=<br />
<br />
For Raspberry Pi 3, which is the reference platform for SatNOGS, a [[Raspberry_Pi_3|Raspbian image]] with '''SatNOGS Client Ansible''' pre-installed is available.<br />
<br />
=Debian=<br />
<br />
{{Warning|Skip this section if you are using [[Raspberry_Pi_3|SatNOGS Raspbian]] image and [[#SatNOGS Client Setup|SatNOGS Client Setup]]. Follow these instructions if you are provisioning SatNOGS to Debian from another host or are installing on the same host.}}These sections contain generic instructions for installing SatNOGS Client on a Debian Stretch system.<br />
<br />
==Prerequisites==<br />
<br />
*Download and install Debian 9 from here; <br />''https://www.debian.org/releases/stretch/debian-installer/'' <br />Chose the net installer if you want to run a headless server. Only download AMD64 version. gr-satnogs does not support i386. <br />Install on your target machine and install the ssh server.<br />
*Add your user to the sudo group; Become root. <code>su</code> <code>usermod -aG sudo yourUserName</code><br />
*A host system with Git and latest version of Ansible installed <br />Edit this file to install the latest Ansible. <code>nano /etc/apt/sources.list</code> <br />Add the following two lines to the bottom of the file; <br />deb <nowiki>http://ftp.debian.org/debian</nowiki> stretch-backportsmain <br />deb-src <nowiki>http://ftp.debian.org/debian</nowiki> stretch-backports main<br />
*On the host system run the following commands.<br />
<br />
<code>apt-get update<br />
apt-get install -t stretch-backports ansible<br />
apt-get install sudo<br />
apt-get install git<br />
apt-get install sshpass</code><br />
<br />
==SatNOGs Install Instructions==<br />
<br />
On the host system run the following commands:<br />
<br />
<br />
$ git clone <nowiki>https://gitlab.com/librespacefoundation/satnogs/satnogs-client-ansible.git</nowiki> # Clone SatNOGS Client Ansible repository<br />
$ cd satnogs-client-ansible # Change to cloned repository directory<br />
$ cp -r production.dist production # Copy dist configuration<br />
$ vi production/inventory/hosts # Update file with your own target host e.g.127.0.0.1, user and SSH password<br />
$ ssh youruser@yourtargetsystem true # Test SSH connection to target system<br />
$ ansible-playbook -i production/inventory -K site.yml # Run Ansible playbook<br />
$ ssh -t youruser@yourtargetsystem sudo satnogs-setup # Setup SatNOGS client (see below)<br />
<br />
=SatNOGS Client Setup=<br />
<br />
<code>satnogs-setup</code> is a script for configuring a system installed with '''SatNOGS Client Ansible'''.<br />
<br />
==Initial Setup==<br />
<br />
Right after the first boot of the system, packages and the configuration tool itself '''must be updated'''. Follow the [[#Updating SatNOGS Client software|Updating]] instruction found below.<br />
<br />
To configure a '''SatNOGS Client Ansible''' system:<br />
<br />
#SSH into the system and run <code>sudo satnogs-setup</code>; this will bring up the configuration menu<br />
#Set '''Basic Configuration''' (see below)<br />
#Select <code>Apply</code> and the Raspberry Pi will configure itself; this may take some time<br />
#Select <code>Back</code> to exit<br />
<br />
{{Message|You can always reconfigure the software by running <code>sudo satnogs-setup</code> again.}}<br />
<br />
===Basic Configuration===<br />
<br />
{| class="wikitable"<br />
!Setting<br />
!Description<br />
|-<br />
|<code>SATNOGS_API_TOKEN</code><br />
|The API token assigned to your ground station on the SatNOGS Network website, please don’t share your api key as this can give access to anyone to upload and change things in network related to your station and its observations.<br />
|-<br />
|<code>SATNOGS_RX_DEVICE</code><br />
|If you are using an RTL-SDR, this is <code>rtlsdr</code>. Other devices supported by gr-satnogs include <code>usrpb200</code>, <code>usrp2</code>, <code>airspy</code> or <code>hackrf</code>; a complete list can be found [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/blob/master/apps/flowgraphs/satellites/README.md here].<br />
|-<br />
|<code>SATNOGS_STATION_ELEV</code><br />
|The height of your ground station above sea level in metres.<br />
|-<br />
|<code>SATNOGS_STATION_ID</code><br />
|The numeric ID assigned to your station in the SatNOGS Network site when the groundstation was created.<br />
|-<br />
|<code>SATNOGS_STATION_LAT</code><br />
|The latitude of your station. North is positive, south is negative.<br />
|-<br />
|<code>SATNOGS_STATION_LON</code><br />
|The longitude of your station. East is positive, west is negative.<br />
|-<br />
|<code>HAMLIB_UTILS_ROT_ENABLED</code><br />
|Whether or not to enable the Hamlibs rotator daemon. Rotctld is a software daemon that provides a network server to control a rotator on a serial port. If you don't have a rotator (like the [https://wiki.satnogs.org/No_rotator No rotator setup]), enter <code>NO</code>.<br />
|-<br />
|<code>HAMLIB_UTILS_ROT_OPTS</code><br />
|Options for rotcld:<br />
For a yaesu rotator, use <code>-m 601 -r /dev/ttyACM0 -s 9600 -T 0.0.0.0</code><br />
<br />
For a SatNOGS rotator <code>-m 204 -s 19200 -r /dev/ttyACM0 -C timeout=200</code> or <code>-m 204 -s 19200 -r /dev/ttyUSB0 -C timeout=200</code><br />
|}<br />
<br />
===Advanced Setup===<br />
<br />
{{Warning|Changing these settings is ''not'' recommended unless you're developing SatNOGS.}}<br />
A more detailed description on setting up a development environment using the SatNOGS reference setup is given in [[SatNOGS_Client_Development]].<br />
{| class="wikitable"<br />
!Setting<br />
!Description<br />
|-<br />
|<code>SATNOGS_CLIENT_URL</code><br />
|If you to try a development version of satnogs-client, you can change the URL here. The URL needs to be in [https://pip.pypa.io/en/stable/reference/pip_install PIP format]. Here are some examples:<br />
<br />
*<code><nowiki>git+https://gitlab.com/librespacefoundation/satnogs/satnogs-client.git@0</nowiki></code> -- the '0' branch (the current development version) of satnogs-client<br />
*<code><nowiki>git+https://gitlab.com/jdoe/satnogs-client.git@new-feature</nowiki></code> -- the 'new-feature' branch of jdoe's fork of satnogs-client<br />
|-<br />
|<code>SATNOGS_RADIO_GR_SATNOGS_PACKAGE</code><br />
|This options allows you to change the installed package of gr-satnogs. For example, to install nightly development builds use:<br />
<br />
*<code><nowiki>https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package/-/jobs/artifacts/master/raw/build/debian/output/armhf/gr-satnogs_armhf.deb?job=nightly-armhf</nowiki></code><br />
|-<br />
|<code>RF_GAIN</code><br />
|RF Gain value for your SDR hardware. Defaults can be found [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/blob/master/python/hw_settings.py here].<br />
<br />
*For rtl-sdr possible values are the following: <code>0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6</code><br />
|}<br />
<br />
==Updating SatNOGS Client software==<br />
<br />
To update all Debian packages to the latest you can use the normal APT updating methods. SSH into the system and run the following commands:<br />
<br />
<nowiki><br />
$ sudo apt-get update<br />
$ sudo apt-get -y upgrade<br />
$ sudo reboot</nowiki><br />
<br />
To update SatNOGS software, including the configuration tool itself:<br />
<br />
#SSH into the system and (re-)run <code>sudo satnogs-setup</code>; this will bring up the configuration menu<br />
#Select <code>Update</code> to update the configuration tool<br />
#Select <code>Apply</code> and the Raspberry Pi will update itself; this may take some time<br />
#Before exit, check at the top that you have the latest satnogs-client and gr-satnogs versions<br />
#Select <code>Back</code> to exit<br />
<br />
'''WARNING: An update can potentially interrupt a running observation!'''<br />
<br />
==Verification of correct installation==<br />
<br />
To see if satnogs-client has started successfully, check the logs with journalctl:<br />
<br />
<pre><br />
journalctl -u satnogs-client.service<br />
</pre><br />
<br />
You should see entries running approximately once per minute that look like this:<br />
<br />
<pre><br />
Oct 01 23:02:13 raspberrypi satnogs-client[6695]: * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)<br />
Oct 01 23:02:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:02:14,466 - satnogsclient - INFO - [LD] Downlink thread waiting for first downlink packet<br />
Oct 01 23:03:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:03:14,450 - apscheduler.executors.default - INFO - Running job "get_jobs (trigger: interval[0:01:00], next run at: 2017-10-01 23:03:14 UTC)" (scheduled at 2017-10-01 23:03:14.423393+00:00)<br />
Oct 01 23:03:47 raspberrypi satnogs-client[6695]: 2017-10-01 23:03:47,324 - satnogsclient - DEBUG - Opening TCP socket: 127.0.0.1:5011<br />
Oct 01 23:03:47 raspberrypi satnogs-client[6695]: 2017-10-01 23:03:47,325 - satnogsclient - DEBUG - Sending message: []<br />
Oct 01 23:03:47 raspberrypi satnogs-client[6695]: 2017-10-01 23:03:47,327 - apscheduler.executors.default - INFO - Job "get_jobs (trigger: interval[0:01:00], next run at: 2017-10-01 23:04:14 UTC)" executed successfully<br />
Oct 01 23:04:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:14,453 - apscheduler.executors.default - INFO - Running job "get_jobs (trigger: interval[0:01:00], next run at: 2017-10-01 23:04:14 UTC)" (scheduled at 2017-10-01 23:04:14.423393+00:00)<br />
Oct 01 23:04:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:14,484 - apscheduler.executors.default - INFO - Running job "post_data (trigger: interval[0:02:00], next run at: 2017-10-01 23:04:14 UTC)" (scheduled at 2017-10-01 23:04:14.436367+00:00)<br />
Oct 01 23:04:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:14,489 - apscheduler.executors.default - INFO - Job "post_data (trigger: interval[0:02:00], next run at: 2017-10-01 23:04:14 UTC)" executed successfully<br />
Oct 01 23:04:15 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:15,627 - satnogsclient - DEBUG - Opening TCP socket: 127.0.0.1:5011<br />
Oct 01 23:04:15 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:15,628 - satnogsclient - DEBUG - Sending message: []<br />
Oct 01 23:04:15 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:15,629 - apscheduler.executors.default - INFO - Job "get_jobs (trigger: interval[0:01:00], next run at: 2017-10-01 23:05:14 UTC)" executed successfully<br />
</pre><br />
<br />
If you see that, great -- you're ready to [[Operation|schedule your first observation]]! If not, check out the [[Troubleshooting]] page.</div>Bmorchardhttps://wiki.satnogs.org/index.php?title=SatNOGS_Client_Ansible&diff=2727SatNOGS Client Ansible2019-08-07T03:33:01Z<p>Bmorchard: </p>
<hr />
<div>=Intro=<br />
<br />
'''SatNOGS Client Ansible''' is the suggested method to install '''SatNOGS Client''' (and friends) to a system. It currently supports Raspbian and Debian Stretch.<br />
<br />
=Raspbian=<br />
<br />
For Raspberry Pi 3, which is the reference platform for SatNOGS, a [[Raspberry_Pi_3|Raspbian image]] with '''SatNOGS Client Ansible''' pre-installed is available.<br />
<br />
=Debian=<br />
<br />
{{Warning|Skip this section if you are using [[Raspberry_Pi_3|SatNOGS Raspbian]] image and [[#SatNOGS Client Setup|SatNOGS Client Setup]]. Follow these instructions if you are provisioning SatNOGS to Debian from another host or are installing on the same host.}}These sections contain generic instructions for installing SatNOGS Client on a Debian Stretch system.<br />
<br />
==Prerequisites==<br />
<br />
*Download and install Debian 9 from here; <br />''https://www.debian.org/releases/stretch/debian-installer/'' <br />Chose the net installer if you want to run a headless server. Only download AMD64 version. gr-satnogs does not support i386. <br />Install on your target machine and install the ssh server.<br />
*Add your user to the sudo group; Become root. <code>su</code> <code>usermod -aG sudo yourUserName</code><br />
*A host system with Git and latest version of Ansible installed <br />Edit the file to install the latest Ansible. <code>nano /etc/apt/sources.list</code> <br />Add the following to the bottom of the file; <br />deb <nowiki>http://ftp.debian.org/debian</nowiki> stretch-backportsmain <br />deb-src <nowiki>http://ftp.debian.org/debian</nowiki> stretch-backports main<br />
*Add your user to the sudo group; <code>usermod -aG sudo yourUserName</code><br />
*On the host system run the following commands.<br />
<br />
<code>apt-get update<br />
apt-get install -t stretch-backports ansible<br />
apt-get install sudo<br />
apt-get install git<br />
apt-get install sshpass</code><br />
<br />
==SatNOGs Install Instructions==<br />
<br />
On the host system run the following commands:<br />
<br />
<br />
$ git clone <nowiki>https://gitlab.com/librespacefoundation/satnogs/satnogs-client-ansible.git</nowiki> # Clone SatNOGS Client Ansible repository<br />
$ cd satnogs-client-ansible # Change to cloned repository directory<br />
$ cp -r production.dist production # Copy dist configuration<br />
$ vi production/inventory/hosts # Update file with your own target host e.g.127.0.0.1, user and SSH password<br />
$ ssh youruser@yourtargetsystem true # Test SSH connection to target system<br />
$ ansible-playbook -i production/inventory -K site.yml # Run Ansible playbook<br />
$ ssh -t youruser@yourtargetsystem sudo satnogs-setup # Setup SatNOGS client (see below)<br />
<br />
=SatNOGS Client Setup=<br />
<br />
<code>satnogs-setup</code> is a script for configuring a system installed with '''SatNOGS Client Ansible'''.<br />
<br />
==Initial Setup==<br />
<br />
Right after the first boot of the system, packages and the configuration tool itself '''must be updated'''. Follow the [[#Updating SatNOGS Client software|Updating]] instruction found below.<br />
<br />
To configure a '''SatNOGS Client Ansible''' system:<br />
<br />
#SSH into the system and run <code>sudo satnogs-setup</code>; this will bring up the configuration menu<br />
#Set '''Basic Configuration''' (see below)<br />
#Select <code>Apply</code> and the Raspberry Pi will configure itself; this may take some time<br />
#Select <code>Back</code> to exit<br />
<br />
{{Message|You can always reconfigure the software by running <code>sudo satnogs-setup</code> again.}}<br />
<br />
===Basic Configuration===<br />
<br />
{| class="wikitable"<br />
!Setting<br />
!Description<br />
|-<br />
|<code>SATNOGS_API_TOKEN</code><br />
|The API token assigned to your ground station on the SatNOGS Network website, please don’t share your api key as this can give access to anyone to upload and change things in network related to your station and its observations.<br />
|-<br />
|<code>SATNOGS_RX_DEVICE</code><br />
|If you are using an RTL-SDR, this is <code>rtlsdr</code>. Other devices supported by gr-satnogs include <code>usrpb200</code>, <code>usrp2</code>, <code>airspy</code> or <code>hackrf</code>; a complete list can be found [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/blob/master/apps/flowgraphs/satellites/README.md here].<br />
|-<br />
|<code>SATNOGS_STATION_ELEV</code><br />
|The height of your ground station above sea level in metres.<br />
|-<br />
|<code>SATNOGS_STATION_ID</code><br />
|The numeric ID assigned to your station in the SatNOGS Network site when the groundstation was created.<br />
|-<br />
|<code>SATNOGS_STATION_LAT</code><br />
|The latitude of your station. North is positive, south is negative.<br />
|-<br />
|<code>SATNOGS_STATION_LON</code><br />
|The longitude of your station. East is positive, west is negative.<br />
|-<br />
|<code>HAMLIB_UTILS_ROT_ENABLED</code><br />
|Whether or not to enable the Hamlibs rotator daemon. Rotctld is a software daemon that provides a network server to control a rotator on a serial port. If you don't have a rotator (like the [https://wiki.satnogs.org/No_rotator No rotator setup]), enter <code>NO</code>.<br />
|-<br />
|<code>HAMLIB_UTILS_ROT_OPTS</code><br />
|Options for rotcld:<br />
For a yaesu rotator, use <code>-m 601 -r /dev/ttyACM0 -s 9600 -T 0.0.0.0</code><br />
<br />
For a SatNOGS rotator <code>-m 204 -s 19200 -r /dev/ttyACM0 -C timeout=200</code> or <code>-m 204 -s 19200 -r /dev/ttyUSB0 -C timeout=200</code><br />
|}<br />
<br />
===Advanced Setup===<br />
<br />
{{Warning|Changing these settings is ''not'' recommended unless you're developing SatNOGS.}}<br />
A more detailed description on setting up a development environment using the SatNOGS reference setup is given in [[SatNOGS_Client_Development]].<br />
{| class="wikitable"<br />
!Setting<br />
!Description<br />
|-<br />
|<code>SATNOGS_CLIENT_URL</code><br />
|If you to try a development version of satnogs-client, you can change the URL here. The URL needs to be in [https://pip.pypa.io/en/stable/reference/pip_install PIP format]. Here are some examples:<br />
<br />
*<code><nowiki>git+https://gitlab.com/librespacefoundation/satnogs/satnogs-client.git@0</nowiki></code> -- the '0' branch (the current development version) of satnogs-client<br />
*<code><nowiki>git+https://gitlab.com/jdoe/satnogs-client.git@new-feature</nowiki></code> -- the 'new-feature' branch of jdoe's fork of satnogs-client<br />
|-<br />
|<code>SATNOGS_RADIO_GR_SATNOGS_PACKAGE</code><br />
|This options allows you to change the installed package of gr-satnogs. For example, to install nightly development builds use:<br />
<br />
*<code><nowiki>https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package/-/jobs/artifacts/master/raw/build/debian/output/armhf/gr-satnogs_armhf.deb?job=nightly-armhf</nowiki></code><br />
|-<br />
|<code>RF_GAIN</code><br />
|RF Gain value for your SDR hardware. Defaults can be found [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/blob/master/python/hw_settings.py here].<br />
<br />
*For rtl-sdr possible values are the following: <code>0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6</code><br />
|}<br />
<br />
==Updating SatNOGS Client software==<br />
<br />
To update all Debian packages to the latest you can use the normal APT updating methods. SSH into the system and run the following commands:<br />
<br />
<nowiki><br />
$ sudo apt-get update<br />
$ sudo apt-get -y upgrade<br />
$ sudo reboot</nowiki><br />
<br />
To update SatNOGS software, including the configuration tool itself:<br />
<br />
#SSH into the system and (re-)run <code>sudo satnogs-setup</code>; this will bring up the configuration menu<br />
#Select <code>Update</code> to update the configuration tool<br />
#Select <code>Apply</code> and the Raspberry Pi will update itself; this may take some time<br />
#Before exit, check at the top that you have the latest satnogs-client and gr-satnogs versions<br />
#Select <code>Back</code> to exit<br />
<br />
'''WARNING: An update can potentially interrupt a running observation!'''<br />
<br />
==Verification of correct installation==<br />
<br />
To see if satnogs-client has started successfully, check the logs with journalctl:<br />
<br />
<pre><br />
journalctl -u satnogs-client.service<br />
</pre><br />
<br />
You should see entries running approximately once per minute that look like this:<br />
<br />
<pre><br />
Oct 01 23:02:13 raspberrypi satnogs-client[6695]: * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)<br />
Oct 01 23:02:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:02:14,466 - satnogsclient - INFO - [LD] Downlink thread waiting for first downlink packet<br />
Oct 01 23:03:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:03:14,450 - apscheduler.executors.default - INFO - Running job "get_jobs (trigger: interval[0:01:00], next run at: 2017-10-01 23:03:14 UTC)" (scheduled at 2017-10-01 23:03:14.423393+00:00)<br />
Oct 01 23:03:47 raspberrypi satnogs-client[6695]: 2017-10-01 23:03:47,324 - satnogsclient - DEBUG - Opening TCP socket: 127.0.0.1:5011<br />
Oct 01 23:03:47 raspberrypi satnogs-client[6695]: 2017-10-01 23:03:47,325 - satnogsclient - DEBUG - Sending message: []<br />
Oct 01 23:03:47 raspberrypi satnogs-client[6695]: 2017-10-01 23:03:47,327 - apscheduler.executors.default - INFO - Job "get_jobs (trigger: interval[0:01:00], next run at: 2017-10-01 23:04:14 UTC)" executed successfully<br />
Oct 01 23:04:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:14,453 - apscheduler.executors.default - INFO - Running job "get_jobs (trigger: interval[0:01:00], next run at: 2017-10-01 23:04:14 UTC)" (scheduled at 2017-10-01 23:04:14.423393+00:00)<br />
Oct 01 23:04:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:14,484 - apscheduler.executors.default - INFO - Running job "post_data (trigger: interval[0:02:00], next run at: 2017-10-01 23:04:14 UTC)" (scheduled at 2017-10-01 23:04:14.436367+00:00)<br />
Oct 01 23:04:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:14,489 - apscheduler.executors.default - INFO - Job "post_data (trigger: interval[0:02:00], next run at: 2017-10-01 23:04:14 UTC)" executed successfully<br />
Oct 01 23:04:15 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:15,627 - satnogsclient - DEBUG - Opening TCP socket: 127.0.0.1:5011<br />
Oct 01 23:04:15 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:15,628 - satnogsclient - DEBUG - Sending message: []<br />
Oct 01 23:04:15 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:15,629 - apscheduler.executors.default - INFO - Job "get_jobs (trigger: interval[0:01:00], next run at: 2017-10-01 23:05:14 UTC)" executed successfully<br />
</pre><br />
<br />
If you see that, great -- you're ready to [[Operation|schedule your first observation]]! If not, check out the [[Troubleshooting]] page.</div>Bmorchardhttps://wiki.satnogs.org/index.php?title=SatNOGS_Client_Ansible&diff=2726SatNOGS Client Ansible2019-08-07T03:30:56Z<p>Bmorchard: </p>
<hr />
<div>=Intro=<br />
<br />
'''SatNOGS Client Ansible''' is the suggested method to install '''SatNOGS Client''' (and friends) to a system. It currently supports Raspbian and Debian Stretch.<br />
<br />
=Raspbian=<br />
<br />
For Raspberry Pi 3, which is the reference platform for SatNOGS, a [[Raspberry_Pi_3|Raspbian image]] with '''SatNOGS Client Ansible''' pre-installed is available.<br />
<br />
=Debian=<br />
<br />
{{Warning|Skip this section if you are using [[Raspberry_Pi_3|SatNOGS Raspbian]] image and [[#SatNOGS Client Setup|SatNOGS Client Setup]]. Follow these instructions if you are provisioning SatNOGS to Debian from another host or are installing on the same host.}}These sections contain generic instructions for installing SatNOGS Client on a Debian Stretch system.<br />
<br />
==Prerequisites==<br />
<br />
*Download and install Debian 9 from here; ''https://www.debian.org/releases/stretch/debian-installer/'' Chose the net installer if you want to run a headless server. Only download AMD64 version. gr-satnogs does not support i386. Install on your target machine and install the ssh server.<br />
*Add your user to the sudo group; Become root. <code>su</code> <code>usermod -aG sudo yourUserName</code><br />
*A host system with Git and latest version of Ansible installed Edit the file to install the latest Ansible. <code>nano /etc/apt/sources.list</code> Add the following to the bottom of the file; <br />deb <nowiki>http://ftp.debian.org/debian</nowiki> stretch-backportsmain <br />deb-src <nowiki>http://ftp.debian.org/debian</nowiki> stretch-backports main<br />
*Add your user to the sudo group; <code>usermod -aG sudo yourUserName</code><br />
*On the host system run the following commands.<br />
<br />
<code>apt-get update<br />
apt-get install -t stretch-backports ansible<br />
apt-get install sudo<br />
apt-get install git<br />
apt-get install sshpass</code><br />
<br />
==SatNOGs Install Instructions==<br />
<br />
On the host system run the following commands:<br />
<br />
<br />
$ git clone <nowiki>https://gitlab.com/librespacefoundation/satnogs/satnogs-client-ansible.git</nowiki> # Clone SatNOGS Client Ansible repository<br />
$ cd satnogs-client-ansible # Change to cloned repository directory<br />
$ cp -r production.dist production # Copy dist configuration<br />
$ vi production/inventory/hosts # Update file with your own target host e.g.127.0.0.1, user and SSH password<br />
$ ssh youruser@yourtargetsystem true # Test SSH connection to target system<br />
$ ansible-playbook -i production/inventory -K site.yml # Run Ansible playbook<br />
$ ssh -t youruser@yourtargetsystem sudo satnogs-setup # Setup SatNOGS client (see below)<br />
<br />
=SatNOGS Client Setup=<br />
<br />
<code>satnogs-setup</code> is a script for configuring a system installed with '''SatNOGS Client Ansible'''.<br />
<br />
==Initial Setup==<br />
<br />
Right after the first boot of the system, packages and the configuration tool itself '''must be updated'''. Follow the [[#Updating SatNOGS Client software|Updating]] instruction found below.<br />
<br />
To configure a '''SatNOGS Client Ansible''' system:<br />
<br />
#SSH into the system and run <code>sudo satnogs-setup</code>; this will bring up the configuration menu<br />
#Set '''Basic Configuration''' (see below)<br />
#Select <code>Apply</code> and the Raspberry Pi will configure itself; this may take some time<br />
#Select <code>Back</code> to exit<br />
<br />
{{Message|You can always reconfigure the software by running <code>sudo satnogs-setup</code> again.}}<br />
<br />
===Basic Configuration===<br />
<br />
{| class="wikitable"<br />
!Setting<br />
!Description<br />
|-<br />
|<code>SATNOGS_API_TOKEN</code><br />
|The API token assigned to your ground station on the SatNOGS Network website, please don’t share your api key as this can give access to anyone to upload and change things in network related to your station and its observations.<br />
|-<br />
|<code>SATNOGS_RX_DEVICE</code><br />
|If you are using an RTL-SDR, this is <code>rtlsdr</code>. Other devices supported by gr-satnogs include <code>usrpb200</code>, <code>usrp2</code>, <code>airspy</code> or <code>hackrf</code>; a complete list can be found [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/blob/master/apps/flowgraphs/satellites/README.md here].<br />
|-<br />
|<code>SATNOGS_STATION_ELEV</code><br />
|The height of your ground station above sea level in metres.<br />
|-<br />
|<code>SATNOGS_STATION_ID</code><br />
|The numeric ID assigned to your station in the SatNOGS Network site when the groundstation was created.<br />
|-<br />
|<code>SATNOGS_STATION_LAT</code><br />
|The latitude of your station. North is positive, south is negative.<br />
|-<br />
|<code>SATNOGS_STATION_LON</code><br />
|The longitude of your station. East is positive, west is negative.<br />
|-<br />
|<code>HAMLIB_UTILS_ROT_ENABLED</code><br />
|Whether or not to enable the Hamlibs rotator daemon. Rotctld is a software daemon that provides a network server to control a rotator on a serial port. If you don't have a rotator (like the [https://wiki.satnogs.org/No_rotator No rotator setup]), enter <code>NO</code>.<br />
|-<br />
|<code>HAMLIB_UTILS_ROT_OPTS</code><br />
|Options for rotcld:<br />
For a yaesu rotator, use <code>-m 601 -r /dev/ttyACM0 -s 9600 -T 0.0.0.0</code><br />
<br />
For a SatNOGS rotator <code>-m 204 -s 19200 -r /dev/ttyACM0 -C timeout=200</code> or <code>-m 204 -s 19200 -r /dev/ttyUSB0 -C timeout=200</code><br />
|}<br />
<br />
===Advanced Setup===<br />
<br />
{{Warning|Changing these settings is ''not'' recommended unless you're developing SatNOGS.}}<br />
A more detailed description on setting up a development environment using the SatNOGS reference setup is given in [[SatNOGS_Client_Development]].<br />
{| class="wikitable"<br />
!Setting<br />
!Description<br />
|-<br />
|<code>SATNOGS_CLIENT_URL</code><br />
|If you to try a development version of satnogs-client, you can change the URL here. The URL needs to be in [https://pip.pypa.io/en/stable/reference/pip_install PIP format]. Here are some examples:<br />
<br />
*<code><nowiki>git+https://gitlab.com/librespacefoundation/satnogs/satnogs-client.git@0</nowiki></code> -- the '0' branch (the current development version) of satnogs-client<br />
*<code><nowiki>git+https://gitlab.com/jdoe/satnogs-client.git@new-feature</nowiki></code> -- the 'new-feature' branch of jdoe's fork of satnogs-client<br />
|-<br />
|<code>SATNOGS_RADIO_GR_SATNOGS_PACKAGE</code><br />
|This options allows you to change the installed package of gr-satnogs. For example, to install nightly development builds use:<br />
<br />
*<code><nowiki>https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package/-/jobs/artifacts/master/raw/build/debian/output/armhf/gr-satnogs_armhf.deb?job=nightly-armhf</nowiki></code><br />
|-<br />
|<code>RF_GAIN</code><br />
|RF Gain value for your SDR hardware. Defaults can be found [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/blob/master/python/hw_settings.py here].<br />
<br />
*For rtl-sdr possible values are the following: <code>0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6</code><br />
|}<br />
<br />
==Updating SatNOGS Client software==<br />
<br />
To update all Debian packages to the latest you can use the normal APT updating methods. SSH into the system and run the following commands:<br />
<br />
<nowiki><br />
$ sudo apt-get update<br />
$ sudo apt-get -y upgrade<br />
$ sudo reboot</nowiki><br />
<br />
To update SatNOGS software, including the configuration tool itself:<br />
<br />
#SSH into the system and (re-)run <code>sudo satnogs-setup</code>; this will bring up the configuration menu<br />
#Select <code>Update</code> to update the configuration tool<br />
#Select <code>Apply</code> and the Raspberry Pi will update itself; this may take some time<br />
#Before exit, check at the top that you have the latest satnogs-client and gr-satnogs versions<br />
#Select <code>Back</code> to exit<br />
<br />
'''WARNING: An update can potentially interrupt a running observation!'''<br />
<br />
==Verification of correct installation==<br />
<br />
To see if satnogs-client has started successfully, check the logs with journalctl:<br />
<br />
<pre><br />
journalctl -u satnogs-client.service<br />
</pre><br />
<br />
You should see entries running approximately once per minute that look like this:<br />
<br />
<pre><br />
Oct 01 23:02:13 raspberrypi satnogs-client[6695]: * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)<br />
Oct 01 23:02:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:02:14,466 - satnogsclient - INFO - [LD] Downlink thread waiting for first downlink packet<br />
Oct 01 23:03:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:03:14,450 - apscheduler.executors.default - INFO - Running job "get_jobs (trigger: interval[0:01:00], next run at: 2017-10-01 23:03:14 UTC)" (scheduled at 2017-10-01 23:03:14.423393+00:00)<br />
Oct 01 23:03:47 raspberrypi satnogs-client[6695]: 2017-10-01 23:03:47,324 - satnogsclient - DEBUG - Opening TCP socket: 127.0.0.1:5011<br />
Oct 01 23:03:47 raspberrypi satnogs-client[6695]: 2017-10-01 23:03:47,325 - satnogsclient - DEBUG - Sending message: []<br />
Oct 01 23:03:47 raspberrypi satnogs-client[6695]: 2017-10-01 23:03:47,327 - apscheduler.executors.default - INFO - Job "get_jobs (trigger: interval[0:01:00], next run at: 2017-10-01 23:04:14 UTC)" executed successfully<br />
Oct 01 23:04:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:14,453 - apscheduler.executors.default - INFO - Running job "get_jobs (trigger: interval[0:01:00], next run at: 2017-10-01 23:04:14 UTC)" (scheduled at 2017-10-01 23:04:14.423393+00:00)<br />
Oct 01 23:04:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:14,484 - apscheduler.executors.default - INFO - Running job "post_data (trigger: interval[0:02:00], next run at: 2017-10-01 23:04:14 UTC)" (scheduled at 2017-10-01 23:04:14.436367+00:00)<br />
Oct 01 23:04:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:14,489 - apscheduler.executors.default - INFO - Job "post_data (trigger: interval[0:02:00], next run at: 2017-10-01 23:04:14 UTC)" executed successfully<br />
Oct 01 23:04:15 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:15,627 - satnogsclient - DEBUG - Opening TCP socket: 127.0.0.1:5011<br />
Oct 01 23:04:15 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:15,628 - satnogsclient - DEBUG - Sending message: []<br />
Oct 01 23:04:15 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:15,629 - apscheduler.executors.default - INFO - Job "get_jobs (trigger: interval[0:01:00], next run at: 2017-10-01 23:05:14 UTC)" executed successfully<br />
</pre><br />
<br />
If you see that, great -- you're ready to [[Operation|schedule your first observation]]! If not, check out the [[Troubleshooting]] page.</div>Bmorchardhttps://wiki.satnogs.org/index.php?title=SatNOGS_Client_Ansible&diff=2725SatNOGS Client Ansible2019-08-07T03:29:49Z<p>Bmorchard: </p>
<hr />
<div>=Intro=<br />
<br />
'''SatNOGS Client Ansible''' is the suggested method to install '''SatNOGS Client''' (and friends) to a system. It currently supports Raspbian and Debian Stretch.<br />
<br />
=Raspbian=<br />
<br />
For Raspberry Pi 3, which is the reference platform for SatNOGS, a [[Raspberry_Pi_3|Raspbian image]] with '''SatNOGS Client Ansible''' pre-installed is available.<br />
<br />
=Debian=<br />
<br />
{{Warning|Skip this section if you are using [[Raspberry_Pi_3|SatNOGS Raspbian]] image and [[#SatNOGS Client Setup|SatNOGS Client Setup]]. Follow these instructions if you are provisioning SatNOGS to Debian from another host or are installing on the same host.}}These sections contain generic instructions for installing SatNOGS Client on a Debian Stretch system.<br />
<br />
==Prerequisites==<br />
<br />
*Download and install Debian 9 from here; ''https://www.debian.org/releases/stretch/debian-installer/'' Chose the net installer if you want to run a headless server. Only download AMD64 version. gr-satnogs does not support i386. Install on your target machine and install the ssh server.<br />
*Add your user to the sudo group; Become root. <code>su</code> <code>usermod -aG sudo yourUserName</code><br />
*A host system with Git and latest version of Ansible installed Edit the file to install the latest Ansible. <code>nano /etc/apt/sources.list</code> Add the following to the bottom of the file; deb <nowiki>http://ftp.debian.org/debian</nowiki> stretch-backports main deb-src <nowiki>http://ftp.debian.org/debian</nowiki> stretch-backports main<br />
*Add your user to the sudo group; <code>usermod -aG sudo yourUserName</code><br />
*On the host system run the following commands.<br />
<br />
<code>apt-get update<br />
apt-get install -t stretch-backports ansible<br />
apt-get install sudo<br />
apt-get install git<br />
apt-get install sshpass</code><br />
<br />
==SatNOGs Install Instructions==<br />
<br />
On the host system run the following commands:<br />
<br />
<br />
$ git clone <nowiki>https://gitlab.com/librespacefoundation/satnogs/satnogs-client-ansible.git</nowiki> # Clone SatNOGS Client Ansible repository<br />
$ cd satnogs-client-ansible # Change to cloned repository directory<br />
$ cp -r production.dist production # Copy dist configuration<br />
$ vi production/inventory/hosts # Update file with your own target host e.g.127.0.0.1, user and SSH password<br />
$ ssh youruser@yourtargetsystem true # Test SSH connection to target system<br />
$ ansible-playbook -i production/inventory -K site.yml # Run Ansible playbook<br />
$ ssh -t youruser@yourtargetsystem sudo satnogs-setup # Setup SatNOGS client (see below)<br />
<br />
=SatNOGS Client Setup=<br />
<br />
<code>satnogs-setup</code> is a script for configuring a system installed with '''SatNOGS Client Ansible'''.<br />
<br />
==Initial Setup==<br />
<br />
Right after the first boot of the system, packages and the configuration tool itself '''must be updated'''. Follow the [[#Updating SatNOGS Client software|Updating]] instruction found below.<br />
<br />
To configure a '''SatNOGS Client Ansible''' system:<br />
<br />
#SSH into the system and run <code>sudo satnogs-setup</code>; this will bring up the configuration menu<br />
#Set '''Basic Configuration''' (see below)<br />
#Select <code>Apply</code> and the Raspberry Pi will configure itself; this may take some time<br />
#Select <code>Back</code> to exit<br />
<br />
{{Message|You can always reconfigure the software by running <code>sudo satnogs-setup</code> again.}}<br />
<br />
===Basic Configuration===<br />
<br />
{| class="wikitable"<br />
!Setting<br />
!Description<br />
|-<br />
|<code>SATNOGS_API_TOKEN</code><br />
|The API token assigned to your ground station on the SatNOGS Network website, please don’t share your api key as this can give access to anyone to upload and change things in network related to your station and its observations.<br />
|-<br />
|<code>SATNOGS_RX_DEVICE</code><br />
|If you are using an RTL-SDR, this is <code>rtlsdr</code>. Other devices supported by gr-satnogs include <code>usrpb200</code>, <code>usrp2</code>, <code>airspy</code> or <code>hackrf</code>; a complete list can be found [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/blob/master/apps/flowgraphs/satellites/README.md here].<br />
|-<br />
|<code>SATNOGS_STATION_ELEV</code><br />
|The height of your ground station above sea level in metres.<br />
|-<br />
|<code>SATNOGS_STATION_ID</code><br />
|The numeric ID assigned to your station in the SatNOGS Network site when the groundstation was created.<br />
|-<br />
|<code>SATNOGS_STATION_LAT</code><br />
|The latitude of your station. North is positive, south is negative.<br />
|-<br />
|<code>SATNOGS_STATION_LON</code><br />
|The longitude of your station. East is positive, west is negative.<br />
|-<br />
|<code>HAMLIB_UTILS_ROT_ENABLED</code><br />
|Whether or not to enable the Hamlibs rotator daemon. Rotctld is a software daemon that provides a network server to control a rotator on a serial port. If you don't have a rotator (like the [https://wiki.satnogs.org/No_rotator No rotator setup]), enter <code>NO</code>.<br />
|-<br />
|<code>HAMLIB_UTILS_ROT_OPTS</code><br />
|Options for rotcld:<br />
For a yaesu rotator, use <code>-m 601 -r /dev/ttyACM0 -s 9600 -T 0.0.0.0</code><br />
<br />
For a SatNOGS rotator <code>-m 204 -s 19200 -r /dev/ttyACM0 -C timeout=200</code> or <code>-m 204 -s 19200 -r /dev/ttyUSB0 -C timeout=200</code><br />
|}<br />
<br />
===Advanced Setup===<br />
<br />
{{Warning|Changing these settings is ''not'' recommended unless you're developing SatNOGS.}}<br />
A more detailed description on setting up a development environment using the SatNOGS reference setup is given in [[SatNOGS_Client_Development]].<br />
{| class="wikitable"<br />
!Setting<br />
!Description<br />
|-<br />
|<code>SATNOGS_CLIENT_URL</code><br />
|If you to try a development version of satnogs-client, you can change the URL here. The URL needs to be in [https://pip.pypa.io/en/stable/reference/pip_install PIP format]. Here are some examples:<br />
<br />
*<code><nowiki>git+https://gitlab.com/librespacefoundation/satnogs/satnogs-client.git@0</nowiki></code> -- the '0' branch (the current development version) of satnogs-client<br />
*<code><nowiki>git+https://gitlab.com/jdoe/satnogs-client.git@new-feature</nowiki></code> -- the 'new-feature' branch of jdoe's fork of satnogs-client<br />
|-<br />
|<code>SATNOGS_RADIO_GR_SATNOGS_PACKAGE</code><br />
|This options allows you to change the installed package of gr-satnogs. For example, to install nightly development builds use:<br />
<br />
*<code><nowiki>https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package/-/jobs/artifacts/master/raw/build/debian/output/armhf/gr-satnogs_armhf.deb?job=nightly-armhf</nowiki></code><br />
|-<br />
|<code>RF_GAIN</code><br />
|RF Gain value for your SDR hardware. Defaults can be found [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/blob/master/python/hw_settings.py here].<br />
<br />
*For rtl-sdr possible values are the following: <code>0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6</code><br />
|}<br />
<br />
==Updating SatNOGS Client software==<br />
<br />
To update all Debian packages to the latest you can use the normal APT updating methods. SSH into the system and run the following commands:<br />
<br />
<nowiki><br />
$ sudo apt-get update<br />
$ sudo apt-get -y upgrade<br />
$ sudo reboot</nowiki><br />
<br />
To update SatNOGS software, including the configuration tool itself:<br />
<br />
#SSH into the system and (re-)run <code>sudo satnogs-setup</code>; this will bring up the configuration menu<br />
#Select <code>Update</code> to update the configuration tool<br />
#Select <code>Apply</code> and the Raspberry Pi will update itself; this may take some time<br />
#Before exit, check at the top that you have the latest satnogs-client and gr-satnogs versions<br />
#Select <code>Back</code> to exit<br />
<br />
'''WARNING: An update can potentially interrupt a running observation!'''<br />
<br />
==Verification of correct installation==<br />
<br />
To see if satnogs-client has started successfully, check the logs with journalctl:<br />
<br />
<pre><br />
journalctl -u satnogs-client.service<br />
</pre><br />
<br />
You should see entries running approximately once per minute that look like this:<br />
<br />
<pre><br />
Oct 01 23:02:13 raspberrypi satnogs-client[6695]: * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)<br />
Oct 01 23:02:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:02:14,466 - satnogsclient - INFO - [LD] Downlink thread waiting for first downlink packet<br />
Oct 01 23:03:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:03:14,450 - apscheduler.executors.default - INFO - Running job "get_jobs (trigger: interval[0:01:00], next run at: 2017-10-01 23:03:14 UTC)" (scheduled at 2017-10-01 23:03:14.423393+00:00)<br />
Oct 01 23:03:47 raspberrypi satnogs-client[6695]: 2017-10-01 23:03:47,324 - satnogsclient - DEBUG - Opening TCP socket: 127.0.0.1:5011<br />
Oct 01 23:03:47 raspberrypi satnogs-client[6695]: 2017-10-01 23:03:47,325 - satnogsclient - DEBUG - Sending message: []<br />
Oct 01 23:03:47 raspberrypi satnogs-client[6695]: 2017-10-01 23:03:47,327 - apscheduler.executors.default - INFO - Job "get_jobs (trigger: interval[0:01:00], next run at: 2017-10-01 23:04:14 UTC)" executed successfully<br />
Oct 01 23:04:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:14,453 - apscheduler.executors.default - INFO - Running job "get_jobs (trigger: interval[0:01:00], next run at: 2017-10-01 23:04:14 UTC)" (scheduled at 2017-10-01 23:04:14.423393+00:00)<br />
Oct 01 23:04:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:14,484 - apscheduler.executors.default - INFO - Running job "post_data (trigger: interval[0:02:00], next run at: 2017-10-01 23:04:14 UTC)" (scheduled at 2017-10-01 23:04:14.436367+00:00)<br />
Oct 01 23:04:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:14,489 - apscheduler.executors.default - INFO - Job "post_data (trigger: interval[0:02:00], next run at: 2017-10-01 23:04:14 UTC)" executed successfully<br />
Oct 01 23:04:15 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:15,627 - satnogsclient - DEBUG - Opening TCP socket: 127.0.0.1:5011<br />
Oct 01 23:04:15 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:15,628 - satnogsclient - DEBUG - Sending message: []<br />
Oct 01 23:04:15 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:15,629 - apscheduler.executors.default - INFO - Job "get_jobs (trigger: interval[0:01:00], next run at: 2017-10-01 23:05:14 UTC)" executed successfully<br />
</pre><br />
<br />
If you see that, great -- you're ready to [[Operation|schedule your first observation]]! If not, check out the [[Troubleshooting]] page.</div>Bmorchardhttps://wiki.satnogs.org/index.php?title=SatNOGS_Client_Ansible&diff=2724SatNOGS Client Ansible2019-08-07T03:28:40Z<p>Bmorchard: /* Prerequisites */</p>
<hr />
<div>=Intro=<br />
<br />
'''SatNOGS Client Ansible''' is the suggested method to install '''SatNOGS Client''' (and friends) to a system. It currently supports Raspbian and Debian Stretch.<br />
<br />
=Raspbian=<br />
<br />
For Raspberry Pi 3, which is the reference platform for SatNOGS, a [[Raspberry_Pi_3|Raspbian image]] with '''SatNOGS Client Ansible''' pre-installed is available.<br />
<br />
=Debian=<br />
<br />
{{Warning|Skip this section if you are using [[Raspberry_Pi_3|SatNOGS Raspbian]] image and [[#SatNOGS Client Setup|SatNOGS Client Setup]]. Follow these instructions if you are provisioning SatNOGS to Debian from another host or are installing on the same host.}}These sections contain generic instructions for installing SatNOGS Client on a Debian Stretch system.<br />
<br />
==Prerequisites==<br />
<br />
*Download and install Debian 9 from here; ''https://www.debian.org/releases/stretch/debian-installer/'' Chose the net installer if you want to run a headless server. Only download AMD64 version. gr-satnogs does not support i386. Install on your target machine and install the ssh server.<br />
*Add your user to the sudo group; Become root. <code>su</code> <code>usermod -aG sudo yourUserName</code><br />
*A host system with Git and latest version of Ansible installed Edit the file to install the latest Ansible. <code>nano /etc/apt/sources.list</code> Add the following to the bottom of the file; deb <nowiki>http://ftp.debian.org/debian</nowiki> stretch-backports main deb-src <nowiki>http://ftp.debian.org/debian</nowiki> stretch-backports main<br />
*Add your user to the sudo group; <code>usermod -aG sudo yourUserName</code><br />
*On the host system run the following commands.<br />
<br />
<code>apt-get update<br />
apt-get install -t stretch-backports ansible<br />
apt-get install sudo<br />
apt-get install git<br />
apt-get install sshpass</code><br />
<br />
==SatNOGs Install Instructions==<br />
<br />
On the host system run the following commands:<br />
<br />
<br />
$ git clone <nowiki>https://gitlab.com/librespacefoundation/satnogs/satnogs-client-ansible.git</nowiki> # Clone SatNOGS Client Ansible repository<br />
$ cd satnogs-client-ansible # Change to cloned repository directory<br />
$ cp -r production.dist production # Copy dist configuration<br />
$ vi production/inventory/hosts # Update file with your own target host e.g.127.0.0.1, user and SSH password<br />
$ ssh youruser@yourtargetsystem true # Test SSH connection to target system<br />
$ ansible-playbook -i production/inventory -K site.yml # Run Ansible playbook<br />
$ ssh -t youruser@yourtargetsystem sudo satnogs-setup # Setup SatNOGS client (see below)<br />
<br />
=SatNOGS Client Setup=<br />
<br />
<code>satnogs-setup</code> is a script for configuring a system installed with '''SatNOGS Client Ansible'''.<br />
<br />
==Initial Setup==<br />
<br />
Right after the first boot of the system, packages and the configuration tool itself '''must be updated'''. Follow the [[#Updating SatNOGS Client software|Updating]] instruction found below.<br />
<br />
To configure a '''SatNOGS Client Ansible''' system:<br />
<br />
#SSH into the system and run <code>sudo satnogs-setup</code>; this will bring up the configuration menu<br />
#Set '''Basic Configuration''' (see below)<br />
#Select <code>Apply</code> and the Raspberry Pi will configure itself; this may take some time<br />
#Select <code>Back</code> to exit<br />
<br />
{{Message|You can always reconfigure the software by running <code>sudo satnogs-setup</code> again.}}<br />
<br />
===Basic Configuration===<br />
<br />
{| class="wikitable"<br />
!Setting<br />
!Description<br />
|-<br />
|<code>SATNOGS_API_TOKEN</code><br />
|The API token assigned to your ground station on the SatNOGS Network website, please don’t share your api key as this can give access to anyone to upload and change things in network related to your station and its observations.<br />
|-<br />
|<code>SATNOGS_RX_DEVICE</code><br />
|If you are using an RTL-SDR, this is <code>rtlsdr</code>. Other devices supported by gr-satnogs include <code>usrpb200</code>, <code>usrp2</code>, <code>airspy</code> or <code>hackrf</code>; a complete list can be found [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/blob/master/apps/flowgraphs/satellites/README.md here].<br />
|-<br />
|<code>SATNOGS_STATION_ELEV</code><br />
|The height of your ground station above sea level in metres.<br />
|-<br />
|<code>SATNOGS_STATION_ID</code><br />
|The numeric ID assigned to your station in the SatNOGS Network site when the groundstation was created.<br />
|-<br />
|<code>SATNOGS_STATION_LAT</code><br />
|The latitude of your station. North is positive, south is negative.<br />
|-<br />
|<code>SATNOGS_STATION_LON</code><br />
|The longitude of your station. East is positive, west is negative.<br />
|-<br />
|<code>HAMLIB_UTILS_ROT_ENABLED</code><br />
|Whether or not to enable the Hamlibs rotator daemon. Rotctld is a software daemon that provides a network server to control a rotator on a serial port. If you don't have a rotator (like the [https://wiki.satnogs.org/No_rotator No rotator setup]), enter <code>NO</code>.<br />
|-<br />
|<code>HAMLIB_UTILS_ROT_OPTS</code><br />
|Options for rotcld:<br />
For a yaesu rotator, use <code>-m 601 -r /dev/ttyACM0 -s 9600 -T 0.0.0.0</code><br />
<br />
For a SatNOGS rotator <code>-m 204 -s 19200 -r /dev/ttyACM0 -C timeout=200</code> or <code>-m 204 -s 19200 -r /dev/ttyUSB0 -C timeout=200</code><br />
|}<br />
<br />
===Advanced Setup===<br />
<br />
{{Warning|Changing these settings is ''not'' recommended unless you're developing SatNOGS.}}<br />
A more detailed description on setting up a development environment using the SatNOGS reference setup is given in [[SatNOGS_Client_Development]].<br />
{| class="wikitable"<br />
!Setting<br />
!Description<br />
|-<br />
|<code>SATNOGS_CLIENT_URL</code><br />
|If you to try a development version of satnogs-client, you can change the URL here. The URL needs to be in [https://pip.pypa.io/en/stable/reference/pip_install PIP format]. Here are some examples:<br />
<br />
*<code><nowiki>git+https://gitlab.com/librespacefoundation/satnogs/satnogs-client.git@0</nowiki></code> -- the '0' branch (the current development version) of satnogs-client<br />
*<code><nowiki>git+https://gitlab.com/jdoe/satnogs-client.git@new-feature</nowiki></code> -- the 'new-feature' branch of jdoe's fork of satnogs-client<br />
|-<br />
|<code>SATNOGS_RADIO_GR_SATNOGS_PACKAGE</code><br />
|This options allows you to change the installed package of gr-satnogs. For example, to install nightly development builds use:<br />
<br />
*<code><nowiki>https://gitlab.com/librespacefoundation/satnogs/gr-satnogs-package/-/jobs/artifacts/master/raw/build/debian/output/armhf/gr-satnogs_armhf.deb?job=nightly-armhf</nowiki></code><br />
|-<br />
|<code>RF_GAIN</code><br />
|RF Gain value for your SDR hardware. Defaults can be found [https://gitlab.com/librespacefoundation/satnogs/gr-satnogs/blob/master/python/hw_settings.py here].<br />
<br />
*For rtl-sdr possible values are the following: <code>0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6</code><br />
|}<br />
<br />
==Updating SatNOGS Client software==<br />
<br />
To update all Debian packages to the latest you can use the normal APT updating methods. SSH into the system and run the following commands:<br />
<br />
<nowiki><br />
$ sudo apt-get update<br />
$ sudo apt-get -y upgrade<br />
$ sudo reboot</nowiki><br />
<br />
To update SatNOGS software, including the configuration tool itself:<br />
<br />
#SSH into the system and (re-)run <code>sudo satnogs-setup</code>; this will bring up the configuration menu<br />
#Select <code>Update</code> to update the configuration tool<br />
#Select <code>Apply</code> and the Raspberry Pi will update itself; this may take some time<br />
#Before exit, check at the top that you have the latest satnogs-client and gr-satnogs versions<br />
#Select <code>Back</code> to exit<br />
<br />
'''WARNING: An update can potentially interrupt a running observation!'''<br />
<br />
==Verification of correct installation==<br />
<br />
To see if satnogs-client has started successfully, check the logs with journalctl:<br />
<br />
<pre><br />
journalctl -u satnogs-client.service<br />
</pre><br />
<br />
You should see entries running approximately once per minute that look like this:<br />
<br />
<pre><br />
Oct 01 23:02:13 raspberrypi satnogs-client[6695]: * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)<br />
Oct 01 23:02:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:02:14,466 - satnogsclient - INFO - [LD] Downlink thread waiting for first downlink packet<br />
Oct 01 23:03:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:03:14,450 - apscheduler.executors.default - INFO - Running job "get_jobs (trigger: interval[0:01:00], next run at: 2017-10-01 23:03:14 UTC)" (scheduled at 2017-10-01 23:03:14.423393+00:00)<br />
Oct 01 23:03:47 raspberrypi satnogs-client[6695]: 2017-10-01 23:03:47,324 - satnogsclient - DEBUG - Opening TCP socket: 127.0.0.1:5011<br />
Oct 01 23:03:47 raspberrypi satnogs-client[6695]: 2017-10-01 23:03:47,325 - satnogsclient - DEBUG - Sending message: []<br />
Oct 01 23:03:47 raspberrypi satnogs-client[6695]: 2017-10-01 23:03:47,327 - apscheduler.executors.default - INFO - Job "get_jobs (trigger: interval[0:01:00], next run at: 2017-10-01 23:04:14 UTC)" executed successfully<br />
Oct 01 23:04:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:14,453 - apscheduler.executors.default - INFO - Running job "get_jobs (trigger: interval[0:01:00], next run at: 2017-10-01 23:04:14 UTC)" (scheduled at 2017-10-01 23:04:14.423393+00:00)<br />
Oct 01 23:04:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:14,484 - apscheduler.executors.default - INFO - Running job "post_data (trigger: interval[0:02:00], next run at: 2017-10-01 23:04:14 UTC)" (scheduled at 2017-10-01 23:04:14.436367+00:00)<br />
Oct 01 23:04:14 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:14,489 - apscheduler.executors.default - INFO - Job "post_data (trigger: interval[0:02:00], next run at: 2017-10-01 23:04:14 UTC)" executed successfully<br />
Oct 01 23:04:15 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:15,627 - satnogsclient - DEBUG - Opening TCP socket: 127.0.0.1:5011<br />
Oct 01 23:04:15 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:15,628 - satnogsclient - DEBUG - Sending message: []<br />
Oct 01 23:04:15 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:15,629 - apscheduler.executors.default - INFO - Job "get_jobs (trigger: interval[0:01:00], next run at: 2017-10-01 23:05:14 UTC)" executed successfully<br />
</pre><br />
<br />
If you see that, great -- you're ready to [[Operation|schedule your first observation]]! If not, check out the [[Troubleshooting]] page.</div>Bmorchard