The following 2 tables highlight the basic hardware components necessary to get started and software libraries that need to be installed on a clean Raspberry Pi OS. Hardware and Software components marked with an asterisk only need to be installed if synchronization with optional hardware components such as the WR-LEN is desired. Note that the antenna selection depends on the the specific frequency to be monitored.
HARDWARE | DESCRIPTION |
---|---|
Raspberry-pi-4 Model-b-8gb | Computer for RFNS subsystem |
SD cards | R-Pi storage |
USRP B200-mini | Software defined radio (SMA) |
VERT 2450 / 900 | Antenna |
Power Bank | Battery to power individual R-Pis |
SMA male to female connector | To protect the SDR’s antenna port |
WR-LEN* | White Rabbit Lite Embedded Node - used for sensor synchronization and network connectivity |
SOFTWARE | DESCRIPTION |
---|---|
Raspberry Pi OS | RPi operating system |
Raspberry Pi Imager | Creates bootable USB media for RPi OS setup |
UHD | USRP drivers and Python API |
msmtp and msmtp-mta | SMTP client |
mailutils | General Purpose Mail Package |
watchdog | Python API to monitor file system events |
logging | Python utility to track events |
tkinter | Python interface to the Tcl/Tk GUI toolkit |
pexpect | Python module for spawning child applications (Linux only) |
python-dateutil | Extension to the standard datetime module |
python-crontab | Crontab API for Python |
numpy | Python support for large arrays |
python-crontab | Python module for reading and writing crontab files |
py7slib* | Python 2 library to connect to WR-LENs |
wr_c_m* | Code used to control and monitor WR-LENs |
Following the steps outlined below will create a single RF survey node and only needs to be run once for the initial setup and base configuration. Subsequent nodes can be created by following these instructions to copy the base configuration and recreate it with Docker and Ansible.
Assemble the Raspberry Pi 4 (RPi) hardware. Due to known heat issues in this series, make sure to use an appropriate heat sink. While passive heat sinks can be sufficient, active heat sinks have shown to lower operating temperatures considerably.
Download the Raspberry Pi OS from here. Some minimal performance gains can be achieved by choosing a headless system (Lite version), but it is not essential and up to the specific use case whether the headless or GUI version is selected.
The RF survey software was developed using Raspberry Pi OS version 10, buster from 04/04/22, but has also been tested with version 11, bullseye from 02/21/23. While the guide for version 11 works on version 10 as well, the guide for version 10 does not work on version 11.
<aside> 💡 The 32 bit Raspberry Pi OS will limit individual processes to using 3 GB of RAM while the OS has access to the full 8 GB.
</aside>
Raspberry Pi Imager
Use the “Raspberry Pi Imager” software to install your selected version onto a micro SD card. Larger SD cards with faster write speeds are recommended due to the amount of data generated by the RF surveys. Ideally, data is directly written to network attached storage (NAS).
<aside> 💡 Cheaper and slower SD cards can increase the minimum time between data collection cycles as it takes longer to write data to the local storage.
</aside>
Once an OS has been installed on a micro SD card, place the card into the assembled RPi and connect it to a monitor, keyboard, and ethernet cable. Due to connection and RFI disadvantages of using a Wi-Fi connection, these instructions assume the availability of an Ethernet connection. In fact, Wi-Fi will be disabled in a later step.
For now, boot the RPi by connecting a power cable. Use the default username “pi” and the default password “raspberry” To log into the RPi. On this first login, open a terminal and run sudo passwd
to change the default password to a more secure, secret password. Run ip address
and write down your ethernet IP address. This will allow you to use SSH to control the Raspberry Pi later. Next, run sudo raspi-config
.
The raspi-config window
Navigate to ‘3 Interface Options’, then SSH, and enable the SSH server. If you are using the standard OS with GUI, you can also enable the VNC server under Interface Options to remotely access the desktop server on the RPi. If you haven’t done so during the first OS boot, go to ‘5 Localization Options’ and Time zone and choose your geographical location and nearest city. Back at the main screen, choose finish. The Raspberry Pi Software Configuration Tool will close and return you to the terminal.