Difference between revisions of "Raspberry Pi"
(add note about requiring account & api key) |
|||
Line 81: | Line 81: | ||
WARNING: An update can potentially interrupt a running observation! | WARNING: An update can potentially interrupt a running observation! | ||
+ | |||
+ | == Testing == | ||
+ | |||
+ | To see if satnogs-client has started successfully, check the logs with journalctl: | ||
+ | |||
+ | <pre> | ||
+ | journalctl -u satnogs-client.service | ||
+ | </pre> | ||
+ | |||
+ | You should see entries running approximately once per minute that look like this: | ||
+ | |||
+ | <pre> | ||
+ | Oct 01 23:02:13 raspberrypi satnogs-client[6695]: * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit) | ||
+ | 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 | ||
+ | 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) | ||
+ | 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 | ||
+ | Oct 01 23:03:47 raspberrypi satnogs-client[6695]: 2017-10-01 23:03:47,325 - satnogsclient - DEBUG - Sending message: [] | ||
+ | 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 | ||
+ | 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) | ||
+ | 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) | ||
+ | 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 | ||
+ | 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 | ||
+ | Oct 01 23:04:15 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:15,628 - satnogsclient - DEBUG - Sending message: [] | ||
+ | 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 | ||
+ | </pre> |
Revision as of 23:28, 1 October 2017
Contents
Intro
The Raspberry Pi 3 is the reference platform for SatNOGS. As of September 2017, there are two methods of installing the SatNOGS client on a Raspberry Pi:
- Using Fedora for ARM, and following the instructions at satnogs.readthedocs.io
- Installing the custom-built SatNOGS Raspbian image
This page assumes you have an account and a ground station registered on either network.satnogs.org or network-dev.satnogs.org. This is needed for getting your ground station ID number and your SatNOGS Network API key.
Fedora
Start by downloading the "Server" or "Minimal" image from the the Fedora ARM project page. After that, follow the instructions at satnogs.readthedocs.io.
- If you run into anything in the instructions that is unclear, please submit an issue against the documentation repository.
Raspbian
Download
The latest Raspbian SatNOGS image artifacts can be downloaded from GitLab.
Artifacts list
The current artifacts list consists of:
- A Zipped image file
- An Image info file
- A SHA256 checksums file
Data integrity verification
You should verify the data integrity of the artifacts by checking the SHA256 checksums. On Linux, run sha256sum -c sha256sums
in the directory where the artifacts are downloaded
Example:
$ sha256sum -c sha256sums 2017-09-10-Raspbian-SatNOGS-master-lite.info: OK image_2017-09-10-Raspbian-SatNOGS-master-lite.zip: OK
Flashing
Follow the usual Raspbian flashing instructions, and boot your Raspberry Pi.
Networking
If you are using wired Ethernet you should get connectivity right away. If you are using wireless then see this doc for network configuration instructions.
Setup
SSH to the Raspberry Pi with user "pi" and password "raspberry" (no quotes). Run "sudo satnogs-setup" to set basic configuration. Select "quit" when you are finished, and the Raspberry Pi will reconfigure itself; this may take some time.
- Note: you can always reconfigure the software by running "sudo satnogs-setup -n" again.
- Note: You may find further details about the following options on the satnogs.readthedocs.io page.
Basic setup
- SATNOGS_API_TOKEN: The API token assigned to your ground station on the SatNOGS Network website.
- SATNOGS_NETWORK_API_URL: The API for the SatNOGS network site. If you're working on the stage environment, this is https://network-dev.satnogs.org/api/; if you're working on the prod environment, this is https://network.satnogs.org/api/.
- SATNOGS_RX_DEVICE: If you are using an RTL-SDR, this is
rtlsdr
. Other devices supported by gr-satnogs includeusrpb200
,usrp2
,airspy
orhackrf
; a complete list can be found here.
- SATNOTS_STATION_ELEV: The elevation of your ground station in metres.
- SATNOTS_STATION_ID: The ID assigned to your station in the SatNOGS network site (either stage or prod).
- SATNOTS_STATION_LAT: The latitude of your station. North is positive, south is negative.
- SATNOTS_STATION_LONG: The longitude of your station. East is positive, west is negative.
- HAMLIB_UTILS_ROT_ENABLED: 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. Note: even if you do not have a rotator, you'll want to enable this; see the next option for details.
- HAMLIB_UTILS_ROT_OPTS: Options for rotcld. If you don't have a rotator, set this to
-m 1
; see here for details.
Updating
To update SatNOGS software, re-run sudo satnogs-setup
. This will pull the latest Ansible playbook and update if necessary.
Raspbian packages can be updated using the normal APT updating methods (e.g. apt-get upgrade
or aptitude
).
WARNING: An update can potentially interrupt a running observation!
Testing
To see if satnogs-client has started successfully, check the logs with journalctl:
journalctl -u satnogs-client.service
You should see entries running approximately once per minute that look like this:
Oct 01 23:02:13 raspberrypi satnogs-client[6695]: * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit) 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 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) 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 Oct 01 23:03:47 raspberrypi satnogs-client[6695]: 2017-10-01 23:03:47,325 - satnogsclient - DEBUG - Sending message: [] 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 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) 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) 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 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 Oct 01 23:04:15 raspberrypi satnogs-client[6695]: 2017-10-01 23:04:15,628 - satnogsclient - DEBUG - Sending message: [] 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