|
|
| (78 intermediate revisions by 19 users not shown) |
| Line 1: |
Line 1: |
| − | {{Message|This page assumes you have an account and a ground station registered on either network.satnogs.org or network-dev.satnogs.org. Make note of your station ID and API Key.}}
| + | [[File:B3342fcc865731d69e0c9d7a8b1abb887185bc13 1 531x500.jpg|alt=Libre Space Foundation Raspberry Pi Case|thumb|Libre Space Foundation Raspberry Pi Case, [https://www.thingiverse.com/thing:3233687 on thingiverse]]] |
| | | | |
| − | = Intro = | + | ==Introduction== |
| | | | |
| − | The Raspberry Pi 3 is the reference platform for SatNOGS. You can try using various distributions for this (eg. Arch, Fedora), but the one we suggest is our custom image based on latest Raspbian. | + | The Raspberry Pi (version 3, 4, and 5) is the reference platform for SatNOGS. See our [[SatNOGS Client Ansible|Ansible guide]] to install SatNOGS on other Linux machines. |
| | | | |
| − | = Raspbian =
| + | {{Message|This page assumes you have an account and a ground station registered on either network.satnogs.org or network-dev.satnogs.org. Make note of your station ID and API Key.}} |
| − | | |
| − | == Download ==
| |
| − | | |
| − | You can download the latest Raspbian SatNOGS image following the links from the [https://gitlab.com/librespacefoundation/satnogs/satnogs-pi-gen/tags latest tag on 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 <code>sha256sum -c sha256sums</code> in the directory where the artifacts are downloaded
| |
| − | | |
| − | Example:
| |
| − | <pre>
| |
| − | $ sha256sum -c sha256sums
| |
| − | 2017-09-29-Raspbian-SatNOGS-master-lite.info: OK
| |
| − | image_2017-09-29-Raspbian-SatNOGS-master-lite.zip: OK
| |
| − | </pre>
| |
| − | | |
| − | == Flashing and Setup ==
| |
| − | | |
| − | [https://www.raspberrypi.org/documentation/installation/installing-images/README.md Follow the usual Raspbian flashing instructions], and boot your Raspberry Pi.
| |
| − | | |
| − | Once your Raspberry Pi is booted, log in with username "pi" password "raspberry" and run 'sudo raspi-config'. You will want to be sure to do the following:
| |
| − | | |
| − | * Set a strong, unique password
| |
| − | * Change localization settings:
| |
| − | ** by default the rpi locale is configured for EN-GB, change as appropriate (ie: to EN_US.UTF-8)
| |
| − | ** set timezone (we recommend UTC so your logs match the times in Network)
| |
| − | ** set keyboard layout, again this is defaulting to a UK layout
| |
| − | ** set wifi country
| |
| − | * Finish and reboot
| |
| − | | |
| − | Next, run 'sudo apt-get update && sudo apt-get -y upgrade'.
| |
| − | | |
| − | == Networking ==
| |
| − | | |
| − | If you are using wired Ethernet you should get connectivity right away. If you are using wireless then see [https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md 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.
| |
| − | | |
| − | === 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 <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].
| |
| | | | |
| − | * '''SATNOTS_STATION_ELEV''': The elevation of your ground station in metres.
| + | ==Flashing== |
| | + | {{Warning|IMPORTANT: Some essential features from the previous version are currently unavailable in the newer version. Please review the [[SatNOGS Setup#Missing_features|Missing Features Table]] before flashing. If any of the missing features are critical to your setup, follow the [[Raspberry_Pi_Legacy|Legacy Software Installation Guide]] to install the legacy software.}}Use the '''Raspberry Pi Imager''', as outlined in the [https://www.raspberrypi.com/documentation/computers/getting-started.html#raspberry-pi-imager Raspberry Pi OS flashing guidelines], and follow the steps provided there. Along with the official guide, be sure to take into account the instructions provided in the following subsections. |
| | | | |
| − | * '''SATNOTS_STATION_ID''': The ID assigned to your station in the SatNOGS network site (either stage or prod).
| + | === SD Card requirements === |
| | + | The minimum required microSD card size for running SatNOGS on a Raspberry Pi is 16 GiB. However, using a 16 GiB card may not provide sufficient free space for future system upgrades. A '''32 GiB microSD card''' is recommended to provide adequate capacity for future updates and to increase card lifespan, as the extra available space allows for improved wear leveling. |
| | | | |
| − | * '''SATNOTS_STATION_LAT''': The latitude of your station. North is positive, south is negative.
| + | ===OS selection=== |
| | + | To optimize resource usage and reduce installation time and unnecessary running services, we provide a specialized SatNOGS image. To select this image during the Raspberry Pi Imager OS selection process: |
| | | | |
| − | * '''SATNOTS_STATION_LONG''': The longitude of your station. East is positive, west is negative.
| + | #Navigate to <code>Other specific-purpose OS</code> |
| | + | #Open <code>SatNOGS</code> submenu |
| | + | #Select <code>SatNOGS (stable, 64-bit)</code> |
| | | | |
| − | * '''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. If you don't have a rotator (like the [https://wiki.satnogs.org/No_rotator No rotator setup]), enter <code>False</code>.
| + | ===OS customization=== |
| | + | At the very least, you need to: |
| | | | |
| − | * '''HAMLIB_UTILS_ROT_OPTS''': Options for rotcld. | + | *Set username and password |
| | + | *Set locale settings |
| | + | **Time zone |
| | + | **Keyboard layout |
| | + | *Enable SSH |
| | | | |
| − | == Updating ==
| |
| | | | |
| − | To update SatNOGS software, re-run <code>sudo satnogs-setup</code>. This will pull the latest Ansible playbook and update if necessary.
| + | If connection to the internet is via Wi-Fi, make sure to '''Configure wireless LAN''' as well. |
| | | | |
| − | Raspbian packages can be updated using the normal APT updating methods (e.g. <code>apt-get upgrade</code> or <code>aptitude</code>).
| + | To easily discover the Rapsberry Pi among other Rapsberry Pis in your network, '''set a unique hostname'''. |
| | | | |
| − | WARNING: An update can potentially interrupt a running observation!
| + | ==Getting console access== |
| | + | You can log in the Raspberry Pi by connecting it to a keyboard and monitor or through network via an SSH connection. |
| | | | |
| − | == Testing == | + | ===Keyboard and monitor=== |
| | + | Once your Raspberry Pi is booted, log in with the username and password that you set during the flashing process. |
| | | | |
| − | To see if satnogs-client has started successfully, check the logs with journalctl:
| + | ===Network=== |
| | + | If your network supports [[wikipedia:Zero-configuration_networking|<code>zeroconf</code>]], you can use the hostname of your Raspberry Pi and log in with SSH using the username and password that you set during the flashing process. Example: |
| | + | $ ssh pi@raspberrypi.local |
| | + | If <code>zeroconf</code> is not supported then you must manually find the IP address of the Raspberry Pi (e.g. in your router management interface). |
| | | | |
| − | <pre>
| + | ==Installation== |
| − | journalctl -u satnogs-client.service
| + | The '''SatNOGS Setup''' installation and configuration tool comes pre-installed with the official SatNOGS Raspberry Pi OS image. To install all necessary software components and configure your system, log in and run: |
| − | </pre>
| + | $ satnogs-setup |
| | | | |
| − | You should see entries running approximately once per minute that look like this:
| + | {{Message|If you are using a different supported OS (e.g., standard Raspberry Pi OS or Debian 13 on a laptop/desktop), you can install SatNOGS using the following command: <code>$ curl -sfL https://satno.gs/install {{!}} sh -s --</code>}} |
| | | | |
| − | <pre>
| + | Then, follow [[SatNOGS Setup]] instructions to configure the system. |
| − | 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>
| |
| | | | |
| − | If you see that, great -- you're ready to [[Operation|schedule your first observation]]! If not, check out the [[Troubleshooting]] page.
| + | [[Category:Build]] |
| | + | [[Category:Software]] |
Introduction
The Raspberry Pi (version 3, 4, and 5) is the reference platform for SatNOGS. See our Ansible guide to install SatNOGS on other Linux machines.
This page assumes you have an account and a ground station registered on either network.satnogs.org or network-dev.satnogs.org. Make note of your station ID and API Key.
Flashing
IMPORTANT: Some essential features from the previous version are currently unavailable in the newer version. Please review the
Missing Features Table before flashing. If any of the missing features are critical to your setup, follow the
Legacy Software Installation Guide to install the legacy software.
Use the Raspberry Pi Imager, as outlined in the Raspberry Pi OS flashing guidelines, and follow the steps provided there. Along with the official guide, be sure to take into account the instructions provided in the following subsections.
SD Card requirements
The minimum required microSD card size for running SatNOGS on a Raspberry Pi is 16 GiB. However, using a 16 GiB card may not provide sufficient free space for future system upgrades. A 32 GiB microSD card is recommended to provide adequate capacity for future updates and to increase card lifespan, as the extra available space allows for improved wear leveling.
OS selection
To optimize resource usage and reduce installation time and unnecessary running services, we provide a specialized SatNOGS image. To select this image during the Raspberry Pi Imager OS selection process:
- Navigate to
Other specific-purpose OS
- Open
SatNOGS submenu
- Select
SatNOGS (stable, 64-bit)
OS customization
At the very least, you need to:
- Set username and password
- Set locale settings
- Time zone
- Keyboard layout
- Enable SSH
If connection to the internet is via Wi-Fi, make sure to Configure wireless LAN as well.
To easily discover the Rapsberry Pi among other Rapsberry Pis in your network, set a unique hostname.
Getting console access
You can log in the Raspberry Pi by connecting it to a keyboard and monitor or through network via an SSH connection.
Keyboard and monitor
Once your Raspberry Pi is booted, log in with the username and password that you set during the flashing process.
Network
If your network supports zeroconf, you can use the hostname of your Raspberry Pi and log in with SSH using the username and password that you set during the flashing process. Example:
$ ssh pi@raspberrypi.local
If zeroconf is not supported then you must manually find the IP address of the Raspberry Pi (e.g. in your router management interface).
Installation
The SatNOGS Setup installation and configuration tool comes pre-installed with the official SatNOGS Raspberry Pi OS image. To install all necessary software components and configure your system, log in and run:
$ satnogs-setup
If you are using a different supported OS (e.g., standard Raspberry Pi OS or Debian 13 on a laptop/desktop), you can install SatNOGS using the following command:
$ curl -sfL https://satno.gs/install | sh -s --
Then, follow SatNOGS Setup instructions to configure the system.