Skip to content

Cirromulus/raspberry-noaa-v2

 
 

Repository files navigation

Raspberry NOAA

This is a spinoff of the original raspberry-noaa created by Nico - they have graciously permitted me to push this project forward with a major refactor to enhance things such as usability, style, and general updates. All original content has been preserved (as have all commits up to the point of this repo creation) to retain credit to the original creators. Please see the "Credits" section of this README for additional info and contributions from the fantastic NOAA/METEOR community!.

Wanting to give this version a go but not sure what's involved to get from the original raspberry-noaa to raspberry-noaa-v2? Check out this simple migration document that explains the few commands you need to run and retain your original data!

Raspberry NOAA (...and Meteor) V2

NOAA and Meteor-M 2 satellite imagery capture setup for the Raspberry Pi!

See "Credits" for the awesome way this version of the framework came to be.

Quick Start

Don't want all the nitty-gritty details? Here's the quick-start - if you have questions, continue reading the rest of this README or reach out by submitting an issue:

# update os localisation settings
sudo raspi-config

# install git
sudo apt-get -y install git

# clone repository
cd $HOME
git clone https://github.com/jekhokie/raspberry-noaa-v2.git
cd raspberry-noaa-v2/

# copy sample settings and update for your install
cp config/settings.yml.sample config/settings.yml
vi config/settings.yml

# perform install
./install_and_upgrade.sh

Once complete, follow the migration document if you want to migrate from the original raspberry-noaa to this version 2 (keep your previous captures and make them visible).

Why a Version 2?

A lot of the work done by Nico and the original Instructables poster was absolutely fantastic and simple. However, as I started using the framework, I found myself making a lot of changes but getting the changes into place in a manageable way was a bit difficult. In discussing this with Nico, we agreed that there is a logical next maturity step for this framework, so I took this on to provide a simple, one-command script and corresponding framework to manage and maintain the entire project when any changes occur, and refactored the webpanel functionality significantly to enable better feature additions in the future.

Enhancements since V1:

  • Option to produce a spectrogram image alongside the other processed image types.
  • Administrative web interface for deleting bad captures from database and respective images on disk.
  • Satvis visualization in iframe within webpanel pass list page
  • MVC architecture for webpanel to allow faster feature integration
  • Advanced map functionality (enable/disable and color crosshairs for base station, set and color lat/lon lines, etc.)
  • Improved organization of documentation for easier navigation
  • Improved script organization and code-reuse (keeping it DRY)
  • Single-click installer with single configuration file driving entire framework (scripts AND webpanel)

See HERE for some screen shots of the webpanel, which is now mobile friendly!

Compatibility

The original raspberry-noaa was tested on Raspberry Pi 2 and up. However, while it's possible this compatibility has been maintained with raspberry-noaa-v2, this version was developed and tested on a Raspberry Pi 4 - it has not been exhaustively tested on other variants of Raspberry Pi (but if you get it working on a version, please do submit a PR and mention it so this document can be updated!).

In addition, it's recommended that the Raspberry Pi OS operating system is used - this is the OS that has been tested and proven working. If you do test with another OS - again, please submit a PR and let us know how it works out!

If you're interested in the details behind the original raspberry-noaa hardware compatibility tests, see the hardware document.

wxtoimg License Terms Acceptance

Use of this framework assumes acceptance of the wxtoimg license terms and will automatically "accept" the terms as part of the installation. You MUST review the license prior to installing this framework, which can be viewed under the "Terms and Conditions" section of the wxtoimg manual. If you do not agree to the wxtoimg terms, please do not install or use this framework.

Prerequisites

Below are some prerequisites steps and considerations prior to installing this software:

  1. Although the software certainly works on a Pi with a desktop environment installed, it would be best to use the minimal Raspberry Pi OS (no desktop environment) to help avoid processing interference due to higher CPU/Memory consumption from the GUI components.
  2. Update your localisation settings on your Pi prior to installing the software using the sudo raspi-config command, updating "5 Localisation Options -> L1 Locale" and "5 Localisation Options -> L2 Timezone" settings to match your base station location for more consistent time and language handling.
  3. You need git installed to clone the repository - this can be done via sudo apt-get -y install git.
  4. It is recommended to change your pi user default password after logging into the Raspberry Pi for the first time. While it is not recommended that you expose a Pi instance to the public internet for access (unless you have a VERY strict process about security patching, and even then it would still be questionable), updating your Pi user password is a decent first step for security.

Install

To install the product and get going, simply clone the project to the pi user's home directory, set up your settings, and run the install script:

# install git
sudo apt-get -y install git

# clone repository
cd $HOME
git clone https://github.com/jekhokie/raspberry-noaa-v2.git
cd raspberry-noaa-v2/

# copy sample settings and update for your install
cp config/settings.yml.sample config/settings.yml
vi config/settings.yml

# perform install
./install_and_upgrade.sh

Once the script completes, you can either follow the migration document (if you had previously been using raspberry-noaa on this device) or, if this is a brand new setup, just visit the webpanel and get going!

Upgrade

Want to get the latest and greatest content from the GitHub master branch? Easy - use the same script from the Install process and all of your content will automatically upgrade (obviously you'll want to do this when there isn't a scheduled capture occurring or about to occur). Note that once you pull the latest code down using git, you'll likely want to compare your config/settings.yml file with the new code config/settings.yml.sample and include/incorporate any new or renamed configuration parameters.

# pull down new code
cd $HOME/raspberry-noaa-v2/
git pull

# compare settings file:
#   config/settings.yml.sample with config/settings.yml
# and incorporate any changes/updates

# perform upgrade
./install_and_update.sh

Post Install

There are and will be future "optional" features for this framework. Below is a list of optional capabilities that you may wish to enable/configure with links to the respective instructions:

Changing Configurations After Install

Want to make changes to either the base station functionality or webpanel settings? Simply update the config/settings.yml file and re-run ./install_and_update.sh - the script will take care of the rest of the configurations!

Troubleshooting

If you're running into issues where you're not seeing imagery after passes complete or getting blank/strange images, you can check out the troubleshooting document to try and narrow down the problem.

Additional Feature Information

For additional information on some of the capabilities included in this framework, see below:

Credits

The NOAA/METEOR image capture community is a group of fantastic, experienced engineers, radio operators, and tinkerers that all contributed in some way, shape, or form to the success of this repository/framework. Below are some direct contributions and call-outs to the significant efforts made:

  • haslettj: Did the hard initial work and created the post to instruct on how to build the base of this framework.
    • Instructables post had much of the content needed to kick this work off.
  • Nico Rey: Initial creator of the raspberry-noaa starting point for this repository.
  • otti-soft: Meteor-M 2 python functionality for image processing.
  • NateDN10: Came up with the major enhancements to the Meteor-M 2 receiver image processing in "otti-soft"s repo above.
    • Instructables post had the details behind creating the advanced functionality.
  • Dom Robinson: Meteor enhancements, Satvis visualizations, and overall great code written that were incorporated into the repo.
    • Merge of functionality into this repo was partially created using his excellent fork of the original raspberry-noaa repo here.
  • Mohamed Anjum Abdullah: Initial testing of the first release.

About

V2 of the fantastic Raspberry Pi NOAA setup

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 31.9%
  • PHP 24.8%
  • HTML 20.2%
  • Python 20.0%
  • CSS 2.1%
  • JavaScript 1.0%