This is an old revision of the document!
Operations Manual
Charting with open-source and Raspberry Pi offers flexibility, cost-efficiency, and customization. It allows sailors to build affordable, highly adaptable navigation systems, leveraging community-driven improvements. Raspberry Pi’s small size and low power consumption make it ideal for marine environments, while open-source software ensures transparency and constant innovation.
1. Prepare the Raspberry Pi Install Raspberry Pi OS (Lite or Desktop). Update system:
sudo apt update && sudo apt upgrade.
Enable necessary interfaces: SPI, I2C, and Serial in the
sudo raspi-config
Automatically boot your Raspberry Pi into the desktop environment without requiring a login (autologin) on startup; follow these steps:
2. Install OpenPlotter Download OpenPlotter from the official site. Install OpenPlotter packages:
sudo apt install openplotter-*. Reboot the Raspberry Pi.
3. Connect GPS Receiver Plug in the GPS module via USB or GPIO. Ensure GPSD is installed:
sudo apt install gpsd gpsd-clients.
Configure GPSD to start with boot:
/etc/default/gpsd.
Verify GPS data with
cgps or gpsmon.
4. Set Up AIS Receiver Connect receiver via USB or GPIO. Install and configure AIS software:
sudo apt install rtl-sdr for AIS dongles.
Test the AIS receiver with aisdecoder or OpenPlotter's internal tools.
5. Configure OpenPlotter
Open OpenPlotter interface. Set up GPS in the Settings → Serial section. Set up AIS in the Settings → AIS section.
Enable data forwarding via NMEA 0183.
6. Test and Fine-tune Open a chart plotter application (e.g., OpenCPN). Verify GPS position and AIS data. Fine-tune settings for performance.
7. Enable Auto-start Configure OpenPlotter to start on boot. Add GPS and AIS services to start at boot.
Steps for Auto logon
Access Raspberry Pi Configuration: If you're in the graphical desktop environment, go to the Menu (top-left corner). Select Preferences > Raspberry Pi Configuration. In the System tab, set Boot to “To Desktop” and Auto Login to “Enabled.” Reboot to apply the changes. Using the Terminal (if you don't have access to the desktop environment): Open a terminal or access the Raspberry Pi via SSH. Run the following command to open the raspi-config tool:
sudo raspi-config
Navigate to System Options > Boot / Auto Login. Select Console or Desktop Autologin (depending on whether you want a graphical interface or just the terminal). Reboot the Raspberry Pi: sudo reboot
Using Bluetooth Speakers
If you have a Bluetooth speaker, you can pair it with the Raspberry Pi 4.
Steps:
1. Enable Bluetooth: a. Make sure Bluetooth is enabled on your Raspberry Pi. b. Open the terminal and type: ≥ sudo apt-get update sudo apt-get install pulseaudio pulseaudio-module-bluetooth
2. Pair the speaker: a. Use the Raspberry Pi’s Bluetooth settings (found in the top-right corner of the desktop interface) to pair your Bluetooth speaker. b. Once paired, go to Audio Output settings and select the Bluetooth speaker. Nooelec RTL-SDR Is used for AIS reception and for tuning into FM and VHF frequencies within OpenCPN, you'll need to follow these steps:
1. Install the RTL-SDR Plugin for OpenCPN
First, ensure you have the RTL-SDR plugin installed and enabled in OpenCPN. This plugin allows the software to use your RTL-SDR device for AIS and other frequency reception. Steps:
Go to Options (wrench icon) > Plugins. Look for the RTL-SDR/AIS plugin and enable it. If it's not installed, you may need to download it from the OpenCPN plugin repository.
2. Configure the RTL-SDR for AIS Reception
AIS (Automatic Identification System) is used for ship identification and navigational information on VHF frequencies (161.975 MHz and 162.025 MHz). To receive AIS data: Steps:
Open Options > Connections and add a new connection. Select Serial and choose the correct port for your RTL-SDR. Set the input type to AIS. Configure the plugin to listen to the two AIS frequencies: 161.975 MHz and 162.025 MHz. Start the plugin, and AIS signals will now appear on the OpenCPN chart as vessel data.
3. Listening to FM and VHF Frequencies
For FM and VHF (weather or communication) frequencies, you’ll need a separate software such as SDR# (SDRSharp) or GQRX in conjunction with the RTL-SDR to handle general frequency reception. Unfortunately, OpenCPN is focused on navigation, so it doesn't have direct FM or VHF audio listening features. For FM/VHF Listening:
Install SDR Software: Use software like SDR# (for Windows) or GQRX (Linux/macOS) to handle tuning into FM or VHF frequencies. Connect the RTL-SDR: Select your RTL-SDR device in the software. Set the Frequency: For FM radio, tune to frequencies in the range of 88-108 MHz. For VHF communications, such as marine weather or other signals, tune to the appropriate frequencies (e.g., marine channels are typically between 156-162 MHz). With this setup, you can use your RTL-SDR for AIS reception in OpenCPN, while listening to FM/VHF using separate SDR software. NOAA Weather Radio frequencies and Marine VHF channels, including Channels 73 and 74:
Frequency (MHz) Channel/Service Purpose 162.400 NOAA Weather Radio Weather alerts and forecasts 162.425 NOAA Weather Radio Weather alerts and forecasts 162.450 NOAA Weather Radio Weather alerts and forecasts 162.475 NOAA Weather Radio Weather alerts and forecasts 162.500 NOAA Weather Radio Weather alerts and forecasts 162.525 NOAA Weather Radio Weather alerts and forecasts 162.550 NOAA Weather Radio Weather alerts and forecasts 156.800 Marine VHF Channel 16 Distress, safety, and calling 156.450 Marine VHF Channel 09 Secondary calling channel 156.600 Marine VHF Channel 12 Port operations and vessel traffic 156.650 Marine VHF Channel 13 Bridge-to-bridge communications 156.700 Marine VHF Channel 14 Vessel traffic 156.850 Marine VHF Channel 17 State control 156.375 Marine VHF Channel 67 Commercial, non-commercial fishing 157.100 Marine VHF Channel 22A Coast Guard liaison 156.7625 Marine VHF Channel 10 Commercial 156.825 Marine VHF Channel 75 Port operations 156.875 Marine VHF Channel 77 Non-commercial 156.950 Marine VHF Channel 19 Commercial, non-commercial fishing 156.675 Marine VHF Channel 73 Port operations 156.725 Marine VHF Channel 74 Port operations 161.975 AIS Automatic Identification System 162.025 AIS Automatic Identification System Plugin Weather 1. Built-in Weather Plugin in OpenCPN OpenCPN has a GRIB plugin that allows you to download GRIB files directly within the application. To use it: Go to Options > Plugins and make sure the GRIB plugin is enabled. Click the Weather button (a cloud icon) on the toolbar. Use the dialog box to specify the area, time, and parameters you want (like wind, waves, currents, etc.). Click Retrieve to download the GRIB file directly.
2. Third-Party Websites
You can download GRIB files from several third-party websites and then load them into OpenCPN. Here are some popular sources: Saildocs: Saildocs offers a variety of GRIB file options that you can request via email. You send a formatted email request, and they send back a GRIB file that you can download. NOAA NOMADS: Offers GRIB data for marine and weather forecasts. You can download files directly from their site. ZYGRIB: Offers a user-friendly interface to download GRIB files, but you need to use their software to retrieve them.
3. GRIB Request via Email (Saildocs)
You can send a specific request via email to Saildocs to get custom GRIB files. Here’s how: Compose an email to query@saildocs.com. In the body of the email, write the desired parameters, for example: mathematica ≥ send GFS:40N,10N,30W,0W|0.5,0.5|0,6..72|WIND,PRMSL
You will receive an email back with the GRIB file attached, which you can then open in OpenCPN. 4. Third-Party Applications
XyGrib: XyGrib is a dedicated GRIB file viewer and downloader. You can use it to download the latest GRIB files and then import them into OpenCPN.
5. OpenCPN GRIB Plugin Options
The OpenCPN GRIB plugin allows you to configure and download data from different sources. Go to the Options menu, select Plugins, and open the GRIB plugin settings. From there, you can set the source and parameters for GRIB file downloads.
Loading GRIB Files in OpenCPN
Once you have the GRIB file, load it in OpenCPN by:
1. Drag and Drop: Simply drag the GRIB file into the OpenCPN window. 2. Use the GRIB Plugin: a. Open the GRIB plugin window, and click on the File button to browse and load your GRIB file.
Step 1: Download GRIB Files from NOAA NOMADS
1. Visit the NOAA NOMADS Website: a. Go to the NOAA NOMADS Data Server. 2. Select the Desired Dataset: a. Under the “Select a Data Set” section, choose a dataset that includes the information you want (e.g., GFS, HRRR, NAM). b. For global weather, GFS (Global Forecast System) is a good choice. 3. Choose the Forecast Run and Time: a. Select the model run time (e.g., 00Z, 06Z, 12Z, 18Z) and the forecast time steps (e.g., 0hr, 3hr, 6hr, etc.) you want to download. 4. Select the Area and Parameters: a. Use the “Subset Grib Filter” to specify the geographical area, resolution, and parameters (e.g., wind, pressure, waves, currents). b. For example, enter the latitude and longitude bounds for your area of interest and check the boxes for the desired weather variables.
5. Download the GRIB File: a. Click the “Download” button to save the GRIB file to your computer. It will typically have a .grb or .grb2 file extension.
Step 2: Open the GRIB File in OpenCPN
1. Launch OpenCPN: a. Open the OpenCPN application on your system. 2. Enable the GRIB Plugin: a. Go to Options (the wrench icon) > Plugins and ensure the GRIB plugin is enabled. If not, activate it. 3. Open the GRIB File: a. You can either: i. Drag and Drop: Drag the downloaded GRIB file from your file explorer directly into the OpenCPN window. ii. Load via the GRIB Plugin: 1. Click on the Weather (cloud icon) toolbar button. 2. Click File in the GRIB display window and navigate to the downloaded GRIB file. 3. Select the file and click Open. 4. Display Weather Data: a. The GRIB file data will now overlay on your OpenCPN chart. You can adjust the time slider to view different forecast periods and toggle between various weather parameters (e.g., wind speed, pressure).
Step 3: Adjust GRIB Display Settings (Optional)
1. Customize the Display: a. Click on the Weather button again to access the GRIB plugin settings. b. You can choose what parameters to display (e.g., wind barbs, isobars) and customize the appearance (colors, scales). 2. Time Control: a. Use the time control slider at the bottom of the screen to move through different forecast times available in the GRIB file. Tips for Efficient Use
Automate GRIB Downloads: Consider using a dedicated GRIB download tool like XyGrib or the built-in OpenCPN GRIB plugin to automate and simplify the download process. Check for File Compatibility: Make sure you download GRIB files that are compatible with OpenCPN (typically .grb or .grb2 formats).
By following these steps, you should be able to download current weather data from NOAA NOMADS and view it effectively in OpenCPN. When selecting GRIB file data for sailing and weather forecasting, the most relevant atmospheric and oceanic levels depend on the specific conditions and variables you’re interested in. Here’s a guide to choosing the best levels for common parameters:
Atmospheric Levels for Sailing 1. Surface (10 meters above ground level) a. Use for: Wind speed and direction, air temperature, and relative humidity at the height relevant to sailing. b. Reason: The 10-meter level is the standard for measuring surface winds and is most applicable to sailing conditions. 2. Mean Sea Level Pressure (MSLP) a. Use for: Analyzing high and low-pressure systems, weather fronts, and forecasting storm development. b. Reason: Helps determine general weather patterns and is crucial for predicting weather changes and navigational planning. 3. 850 hPa Level (~1,500 meters above sea level) a. Use for: Wind and temperature at a low atmospheric level that is less influenced by the surface but still relevant to sailing. b. Reason: Useful for identifying low-level jet streams, wind shear, and general weather trends that influence surface conditions. 4. 500 hPa Level (~5,500 meters above sea level) a. Use for: Broad-scale weather patterns and upper-air features such as troughs, ridges, and the jet stream. b. Reason: Provides insights into mid-tropospheric dynamics that affect the development and movement of weather systems. Key Parameters to Select for Sailing Forecasts
1. Wind Speed and Direction (10m above ground level) a. Essential for navigation and sail planning. 2. Sea Surface Temperature (SST) a. Influences weather patterns, wind generation, and can indicate the potential for fog formation or the presence of fronts. 3. Significant Wave Height a. Helps in understanding sea conditions and potential roughness. 4. Ocean Currents a. Affects navigation, speed, and course planning. 5. Precipitation Rate a. Forecasting rainfall intensity and accumulation, crucial for visibility and safety. 6. Relative Humidity and Dew Point a. Useful for predicting fog, visibility, and comfort levels. 7. Convective Parameters (e.g., CAPE, CIN) a. Indicates potential for thunderstorms, squalls, and severe weather.
Recommended Levels for Specific Parameters
Winds: Use 10m and 850 hPa levels to get a clear picture of surface and low-level winds. Pressure: Use Mean Sea Level Pressure for understanding high and low-pressure systems. Waves: Significant wave height and period data at the surface level. Temperature: 2m above ground level for surface temperature and sea surface temperature. Cloud Cover: Total cloud cover at the surface or low levels for visibility and sunlight conditions.
Best Practices for Sailors
Use High-Resolution Data: Opt for higher-resolution GRIB files (e.g., 0.25 degrees) for more accurate local forecasting. Frequent Updates: Weather can change rapidly at sea, so use updated GRIB files as frequently as possible. Combine Multiple Sources: Use a combination of GRIB data for a comprehensive view, including wind, pressure, precipitation, and wave data. By focusing on these key levels and parameters, you can create a detailed and actionable sailing weather forecast using GRIB files in OpenCPN. Mapping Weather 1. GFS (Global Forecast System)
Description: Provides global weather data with various parameters at multiple atmospheric levels. Best for: General weather forecasting, wind patterns, pressure systems.
Common Acronyms in GFS:
UGRD (U-component of Wind): Zonal (east-west) component of wind. VGRD (V-component of Wind): Meridional (north-south) component of wind. PRMSL (Pressure Reduced to Mean Sea Level): Mean sea-level pressure. TMP (Temperature): Surface or atmospheric level temperature. RH (Relative Humidity): Percentage of humidity at various levels. APCP (Total Precipitation): Accumulated precipitation over a period. HTSGW (Significant Height of Combined Wind Waves and Swell): Wave height information.
2. HRRR (High-Resolution Rapid Refresh)
Description: Offers high-resolution forecasts for the United States. Best for: Short-term and high-resolution forecasts, severe weather prediction.
Common Acronyms in HRRR:
REFC (Composite Reflectivity): Radar reflectivity for precipitation. TCDC (Total Cloud Cover): Percentage of cloud cover at various levels. CAPE (Convective Available Potential Energy): Measure of atmospheric instability.
3. NAM (North American Mesoscale Model)
Description: Provides weather data focused on North America. Best for: Regional weather forecasting, especially in North America.
Common Acronyms in NAM:
GUST (Wind Gust): Maximum wind gusts expected. MSLET (Mean Sea Level Pressure): Surface pressure data. SNOD (Snow Depth): Snow coverage, less relevant for sailing but useful in some contexts. 4. NDFD (National Digital Forecast Database)
Description: Provides detailed forecast data for the United States. Best for: High-resolution forecasts of wind, weather conditions, and precipitation.
Common Acronyms in NDFD:
WX (Weather): General weather conditions (e.g., clear, cloudy). WSPD (Wind Speed): Wind speed at various levels. WIND (Wind Direction and Speed): Combined wind vector information.
5. RTOFS (Real-Time Ocean Forecast System)
Description: Provides oceanographic data such as currents, sea surface temperature, and salinity. Best for: Ocean currents, sea surface conditions, and navigation.
Common Acronyms in RTOFS:
UVEL (U-Component of Ocean Current): East-west component of ocean currents. VVEL (V-Component of Ocean Current): North-south component of ocean currents. SSH (Sea Surface Height): Deviation of sea surface height from mean. TEMP (Sea Temperature): Sea surface or subsurface temperature. SALT (Salinity): Salinity at different depths.
How to Select Parameters for Sailing
1. Winds: Use UGRD and VGRD for wind speed and direction at 10m and 850 hPa levels. 2. Pressure: Use PRMSL to track high and low-pressure systems. 3. Waves: Use HTSGW for significant wave height. 4. Temperature: Use TMP at 2m for air temperature and TEMP for sea temperature. 5. Precipitation: Use APCP for accumulated precipitation forecasts. 6. Currents: Use UVEL and VVEL from RTOFS for ocean current predictions. Example of a GRIB Request String for Saildocs
For example, if you want wind and pressure data for a specific area using the GFS model, you would send an email to Saildocs like this: mathematica ≥ send GFS:40N,10N,30W,0W|0.25,0.25|0,6..72|UGRD:10 m above ground,VGRD:10 m above ground,PRMSL
This request specifies:
Area: from 40°N to 10°N latitude, 30°W to 0°W longitude. Resolution: 0.25 degrees. Forecast steps: From 0 hours to 72 hours, every 6 hours. Parameters: U and V components of wind at 10 meters above ground and sea-level pressure. Understanding these acronyms and selecting the appropriate ones based on your needs will provide a more accurate and relevant forecast for your sailing activities.
Acronym Description UGRD U-component of wind (east-west direction) VGRD V-component of wind (north-south direction) GUST Wind gust speed TMP Temperature RH Relative humidity PRMSL Pressure reduced to mean sea level PRES Surface pressure HGT Geopotential height TCDC Total cloud cover APCP Total precipitation SNOD Snow depth CAPE Convective available potential energy CIN Convective inhibition PWAT Precipitable water ICEC Sea ice concentration LFTX Surface lifted index (stability) SHTFL Sensible heat net flux LHTFL Latent heat net flux VVEL Vertical velocity HPBL Planetary boundary layer height SNOWC Categorical snow WIND Wind speed and direction FRICV Friction velocity RADS Net shortwave radiation flux LWRAD Net longwave radiation flux SPFH Specific humidity UGRD_10m U-component of wind at 10 meters VGRD_10m V-component of wind at 10 meters TMP_2m Temperature at 2 meters DEPR Dew point depression WTMP Sea surface temperature HGT_500hPa Geopotential height at 500 hPa RH_700hPa Relative humidity at 700 hPa WAV Wave height Parameters for GFS Models This table covers the primary parameters used in the GFS model, which are relevant for various applications including weather forecasting and marine navigation. Here's a table listing the most important GFS parameters along with their recommended levels for sailing and weather forecasting:
Acronym Description Recommended Levels UGRD U-component of wind (east-west direction) Surface (10m), 850 hPa, 500 hPa VGRD V-component of wind (north-south direction) Surface (10m), 850 hPa, 500 hPa GUST Wind gust speed Surface (10m) TMP Temperature Surface (2m), 850 hPa, 500 hPa PRMSL Pressure reduced to mean sea level Surface (MSL) PRES Surface pressure Surface APCP Total precipitation Surface RH Relative humidity Surface, 850 hPa, 700 hPa PWAT Precipitable water Surface CAPE Convective available potential energy Surface CIN Convective inhibition Surface HGT Geopotential height 850 hPa, 500 hPa LFTX Surface lifted index (stability) Surface SNOD Snow depth Surface TCDC Total cloud cover Surface WTMP Sea surface temperature Surface HTSGW Significant wave height Surface ICEC Sea ice concentration Surface VVEL Vertical velocity 850 hPa, 500 hPa SPFH Specific humidity Surface, 850 hPa Key Level Descriptions:
Surface (10m): Represents conditions experienced at sea level, particularly relevant for wind, pressure, and temperature directly affecting sailing. 850 hPa (~1,500 meters): Used to understand low-level jet streams, wind shear, and general atmospheric stability. 500 hPa (~5,500 meters): Crucial for analyzing the middle atmosphere, identifying troughs, ridges, and the jet stream which influence large-scale weather patterns. Surface (2m): Provides near-ground temperature and humidity data, important for fog and comfort. Mean Sea Level (MSL): Shows pressure patterns crucial for identifying high and low- pressure systems, fronts, and storm development. Using these parameters and levels will give you a comprehensive view of the atmospheric and oceanic conditions relevant to sailing and weather forecasting. 4o
Geographic Boundaries Georgetown to Charleston for GRIB File
Top Latitude: 33.35° N (approximately the northern limit near Georgetown) Bottom Latitude: 32.80° N (approximately the southern limit near Charleston) Left Longitude: 79.50° W (approximately the western limit) Right Longitude: 78.90° W (approximately the eastern limit)
Summary of Coordinates
Top Latitude: 33.35° N Bottom Latitude: 32.80° N Left Longitude: 79.50° W Right Longitude: 78.90° W SSH, X-Term & SFTP
To access your OpenOS Chartplotter (RP4) from a Windows machine, you can use several methods depending on what kind of access you want (e.g., file transfer, remote desktop, or SSH). Here are the most common options:
1. Access via SSH (Command Line Access)
SSH (Secure Shell) allows you to remotely control your Raspberry Pi's command line from your Windows machine.
Steps:
1. Enable SSH on Raspberry Pi: a. If SSH is not already enabled on your Raspberry Pi, you can enable it either through the Raspberry Pi Configuration tool (under the “Interfaces” tab) or by running the following command on the Pi:
≥ sudo raspi-config
Then navigate to Interface Options > SSH and enable it.
2. Find the Raspberry Pi's IP address: a. On your Raspberry Pi, run this command to get the IP address:
≥ hostname -I
b. You will use this IP address to connect from your Windows machine. 3. Install an SSH client on Windows: a. Windows 10 or 11 comes with a built-in SSH client. Open Command Prompt or PowerShell and use:
≥ ssh username@ip_address
Replace username with your Raspberry Pi username (e.g., pi or your custom user) and ip_address with the Raspberry Pi's IP.
b. Alternatively, you can use a third-party SSH client like PuTTY: i. Download and install PuTTY. ii. Open PuTTY, enter the IP address of your Raspberry Pi, and select SSH. iii. Click Open and enter your username and password when prompted.
2. Access via Remote Desktop (Graphical Interface)
If you prefer to access the Raspberry Pi's desktop environment (graphical interface) from your Windows machine, you can use Remote Desktop Protocol (RDP) or VNC.
Using RDP (Remote Desktop Protocol):
1. Install xrdp on the Raspberry Pi: Run the following commands on your Raspberry Pi to install the xrdp server:
≥ sudo apt update sudo apt install xrdp
2. Enable the xrdp service: After installing, xrdp should start automatically, but you can ensure it by running:
≥ sudo systemctl enable xrdp sudo systemctl start xrdp
3. Use Windows Remote Desktop: a. Open the Remote Desktop Connection app on your Windows machine (you can search for “Remote Desktop” in the Start Menu). b. Enter the IP address of your Raspberry Pi. c. When prompted, log in using your Raspberry Pi username and password.
Using VNC (Virtual Network Computing):
1. Enable VNC on Raspberry Pi: a. Open the Raspberry Pi Configuration tool, go to the Interfaces tab, and enable VNC. b. Alternatively, run:
≥ sudo raspi-config Navigate to Interface Options > VNC and enable it.
2. Install VNC Viewer on Windows: a. Download and install VNC Viewer from here. 3. Connect to the Raspberry Pi: a. Open VNC Viewer on your Windows machine. b. Enter the IP address of your Raspberry Pi and click Connect. c. Log in with your Raspberry Pi username and password.
3. Access via File Transfer (SFTP/FTP)
If you want to transfer files between your Windows machine and the Raspberry Pi, you can use SFTP (Secure File Transfer Protocol) or Samba for shared folders.
Using SFTP (via SSH):
1. Install an SFTP client on Windows: a. You can use FileZilla or WinSCP for transferring files via SFTP. i. Download WinSCP from here. 2. Connect to the Raspberry Pi: a. Open WinSCP or FileZilla. b. Select the SFTP protocol, enter your Raspberry Pi's IP address, and use your username and password. c. Click Login to access the Raspberry Pi’s file system for transferring files. Using Samba (Shared Folders):
1. Install Samba on Raspberry Pi:
≥ sudo apt update sudo apt install samba samba-common-bin
2. Configure a shared folder: a. Edit the Samba configuration file:
≥ sudo nano /etc/samba/smb.conf
≥ [SharedFolder] path = /home/pi/shared writeable=Yes create mask=0777 directory mask=0777 public=no
3. Restart Samba:
≥ sudo systemctl restart smbd
4. Access from Windows: a. Open File Explorer and enter the Raspberry Pi’s IP address in this format: \\<Raspberry Pi IP> (e.g., \\192.168.1.100). b. You should see the shared folder and be able to copy files between your Windows machine and the Raspberry Pi. Conclusion:
SSH: For command line access, use SSH (via PuTTY or Windows' built-in SSH client). Remote Desktop (RDP or VNC): For graphical access, use RDP or VNC. SFTP or Samba: For file transfer, use SFTP via WinSCP or FileZilla, or set up a Samba share for network access. Understanding chown and chmod in Linux (Raspberry Pi) Linux, including Raspberry Pi OS, controls access to files and directories using two main tools:
1. chown – Changes file/directory ownership (both user and group). 2. chmod – Changes file/directory permissions, controlling who can read, write, and execute.
chown (Change Ownership)
The chown command is used to change the owner and group of a file or directory.
Syntax:
≥ chown [OPTIONS] [OWNER][:GROUP] FILE
OWNER: The new owner (user) of the file or directory. GROUP: The new group for the file or directory. If you only provide the OWNER, the group remains unchanged. If you use a colon (:) and specify a group, it changes the group as well.
Example:
1. Change the owner of a file:
≥ sudo chown jellyfin /media/dan/media/movie.mp4
a. This command changes the owner of the file movie.mp4 to jellyfin, but keeps the group unchanged. 2. Change both the owner and group of a directory:
≥ sudo chown jellyfin:media_group /media/dan/media
a. This changes both the owner to jellyfin and the group to media_group for the directory /media/dan/media. 3. Change the ownership recursively (apply to all files and subdirectories):
≥ sudo chown -R jellyfin:media_group /media/dan/media
a. This command applies the owner jellyfin and group media_group to the directory and all its contents. chmod (Change Mode / Permissions)
The chmod command is used to change the permissions of a file or directory. Permissions are divided into three categories: 1. Owner (u): The user who owns the file. 2. Group (g): The group assigned to the file. 3. Others (o): Anyone else.
Each category can have three types of permissions:
Read ® – Permission to read the file. Write (w) – Permission to write to or modify the file. Execute (x) – Permission to execute the file (for programs/scripts) or traverse a directory.
Syntax:
≥ chmod [OPTIONS] MODE FILE
MODE: This can be specified in numeric or symbolic format (more below).
Example (Numeric Notation):
Permissions can be represented by a 3-digit number, where each digit controls the permissions for owner, group, and others. The digits represent:
4 = read ® 2 = write (w) 1 = execute (x) For example: 7 = 4 + 2 + 1 (read + write + execute) 6 = 4 + 2 (read + write) 5 = 4 + 1 (read + execute) or 4 = 4 (read only) 1. Give the owner read, write, and execute; group read and execute; others only read:
≥ sudo chmod 754 /media/dan/media/movie.mp4
a. Owner (7): Read, write, execute. b. Group (5): Read, execute. c. Others (4): Read. 2. Give everyone full permissions:
≥ sudo chmod 777 /media/dan/media/movie.mp4
a. Owner, group, and others can read, write, and execute the file.
Example (Symbolic Notation):
You can also use symbolic notation to modify permissions by specifying who you want to change (u, g, o, or a) and what permissions to add or remove (+ or -). 1. Add execute permissions to the owner and group:
≥ sudo chmod u+x,g+x /media/dan/media/movie.mp4
a. This gives the owner and group execute permissions. 2. Remove write permissions for others:
≥ sudo chmod o-w /media/dan/media/movie.mp4
a. This removes write permissions for others. Table of Common sudo Commands for chown and chmod
Command Description sudo chown user file Change the owner of a file to user. sudo chown user:group file Change both the owner and the group of a file to user and group. sudo chown -R user:group directory Recursively change the owner and group of a directory and all its contents. sudo chmod 755 file Set read, write, execute for the owner; read, execute for group; and read for others. sudo chmod -R 775 directory Recursively set read, write, execute for owner and group; read and execute for others on the directory. sudo chmod u+x file Add execute permission to the owner of the file. sudo chmod o-r file Remove read permission for others on the file. sudo chmod u=rw,g=r,o=r file Set read and write permissions for the owner, and read-only for group and others. sudo chown -R user directory Change the owner of the directory and all files in it recursively to user. Key Points:
chown changes the owner and/or group of a file or directory. chmod changes the permissions (read, write, execute) for the owner, group, and others. Use -R with both commands to apply changes recursively to a directory and its contents.
This should give you control over file and directory ownership and permissions on your Raspberry Pi What size battery pack do I need To estimate the real capacity of your battery pack, you can calculate the average power consumption and then multiply it by the runtime.
Step 1: Calculating the average power consumption
We operated our system for 18 hours on a newly installed battery bank, which was rated at 260 Ah. The system draws approximately 6 watts to power WiFi, Bluetooth, RTL-SDR, and GPS components. When the display is active, power consumption increases to 10 watts, all powered through DC. Given the advertised capacity, we expected the battery to last at least 24 hours under these conditions. However, it fell short of this expectation. Below are our calculations based on the actual performance we observed during the 18-hour run time.
The actual capacity of the battery pack is approximately 144 Wh. When connected to a 40-watt solar panel, we estimate that this setup would provide continuous power, allowing the system to operate indefinitely, making it suitable for extended voyages.