@@ -0,0 +1,19 @@ | |||||
# Raspberry PI | |||||
I tried to use a Raspberry PI Zero Wifi, but seems like the lack of power makes bananas. Got several issues when recording the audio stream (blank audio, corrupted wav files, etc) as well as wxmap errors when trying to do the overlay. A Raspberry PI 2+ works great, no issues at all. | |||||
# Power | |||||
I also experimented several issues with power supply when using cheap mobile phone USB chargers | |||||
``` | |||||
kern :crit : [ 1701.464833 < 2.116656>] Under-voltage detected! (0x00050005) | |||||
kern :info : [ 1707.668180 < 6.203347>] Voltage normalised (0x00000000) | |||||
``` | |||||
Use a 2+ amps power supply, as the SDR dongle is a power demand device. | |||||
# SD Card | |||||
I'm using a cheap (and probably fake) 16GB Kingston SD card, no reported issues. | |||||
# SDR Dongle and reception | |||||
I'm using a rtl-sdr.com usb dongle, works great. I'm also using a FM trap (88-108Mhz) to avoid FM broadcast signals. | |||||
# Antenna | |||||
I'm using a homemade QFH antenna. Refer to [Jcoppens QFH antenna website](http://jcoppens.com/ant/qfh/index.en.php) for building and calculations |
@@ -0,0 +1,139 @@ | |||||
# Raspberry PI operating system | |||||
I'm using [Raspbian](https://www.raspberrypi.org/downloads/raspbian/) as it have full support for Raspberry PI, simple package manager and it's pretty stable | |||||
# Automatic install | |||||
1. Clone this repository on your home directory | |||||
2. Run `./install.sh`. You will be asked for your ground station lat/lon position. | |||||
The install setup is described down here: | |||||
# Manual install | |||||
## Required packages and software | |||||
``` | |||||
sudo apt update -yq | |||||
sudo apt install -yq predict \ | |||||
python-setuptools \ | |||||
ntp \ | |||||
cmake \ | |||||
libusb-1.0 \ | |||||
sox \ | |||||
at \ | |||||
bc \ | |||||
nginx \ | |||||
libncurses5-dev \ | |||||
libncursesw5-dev \ | |||||
libatlas-base-dev \ | |||||
python3-pip \ | |||||
imagemagick \ | |||||
libxft-dev \ | |||||
libxft2 | |||||
``` | |||||
``` | |||||
sudo pip3 install numpy ephem tweepy Pillow | |||||
``` | |||||
### Install rtl_sdr | |||||
``` | |||||
sudo cp modprobe.d/rtlsdr.conf /etc/modprobe.d/rtlsdr.conf | |||||
``` | |||||
- clone rlt-sdr git repo and install rtl-sdr: | |||||
``` | |||||
cd /tmp/ | |||||
git clone https://github.com/osmocom/rtl-sdr.git | |||||
cd rtl-sdr/ | |||||
mkdir build | |||||
cd build | |||||
cmake ../ -DINSTALL_UDEV_RULES=ON -DDETACH_KERNEL_DRIVER=ON | |||||
make | |||||
sudo make install | |||||
sudo ldconfig | |||||
cd /tmp/ | |||||
sudo cp ./rtl-sdr/rtl-sdr.rules /etc/udev/rules.d/ | |||||
``` | |||||
### Install WXToIMG | |||||
There's a deb package for it | |||||
``` | |||||
sudo dpkg -i wxtoimg-armhf-2.11.2-beta.deb | |||||
``` | |||||
## Raspberry-noaa configuration | |||||
### Clone this repo | |||||
``` | |||||
cd $HOME | |||||
git clone https://github.com/reynico/raspberry-noaa.git | |||||
cd raspberry-noaa | |||||
``` | |||||
### Install the default configuration files | |||||
- noaa.conf: paths, satellite elevation and loggin | |||||
``` | |||||
cp "noaa.conf" "$HOME/.noaa.conf" | |||||
``` | |||||
- predict.qth: Predict's ground station settings | |||||
``` | |||||
cp "predict.qth" "$HOME/.predict/predict.qth" | |||||
``` | |||||
- wxtoimgrc: WxToIMG ground station settings and license | |||||
``` | |||||
cp "wxtoimgrc" "$HOME/.wxtoimgrc" | |||||
``` | |||||
Don't forget to adjust your settings in those files | |||||
### Install Meteor software | |||||
- meteor_demod | |||||
``` | |||||
git clone https://github.com/dbdexter-dev/meteor_demod.git | |||||
cd meteor_demod | |||||
make | |||||
sudo make install | |||||
cd .. | |||||
``` | |||||
- medet_arm | |||||
``` | |||||
sudo cp medet_arm /usr/bin/medet_arm | |||||
sudo chmod +x /usr/bin/medet_arm | |||||
``` | |||||
### Setup Nginx | |||||
``` | |||||
sudo cp nginx.cfg /etc/nginx/sites-enabled/default | |||||
sudo mkdir -p /var/www/wx | |||||
sudo chown -R www-data:www-data /var/www/wx | |||||
sudo usermod -a -G www-data pi | |||||
sudo chmod 775 /var/www/wx | |||||
cp index.html /var/www/wx/index.html | |||||
sudo systemctl restart nginx | |||||
``` | |||||
### Setup RamFS | |||||
``` | |||||
sudo mkdir -p /var/ramfs | |||||
cat fstab | sudo tee -a /etc/fstab > /dev/null | |||||
sudo mount -a | |||||
sudo chmod 777 /var/ramfs | |||||
``` | |||||
### Cron the scheduling job | |||||
``` | |||||
cat <(crontab -l) <(echo "1 0 * * * /home/pi/raspberry-noaa/schedule.sh") | crontab - | |||||
``` | |||||
### Set your Twitter credentials | |||||
- Go to [Twitter Developer site](http://developer.twitter.com/) and apply for a developer account. | |||||
- Set your credentials on `post.py` | |||||
``` | |||||
CONSUMER_KEY = '' | |||||
CONSUMER_SECRET = '' | |||||
ACCESS_TOKEN_KEY = '' | |||||
ACCESS_TOKEN_SECRET = '' | |||||
``` |
@@ -3,19 +3,13 @@ Most of the code and setup stolen from: [Instructables](https://www.instructable | |||||
### New Features! | ### New Features! | ||||
- [Meteor M2 full decoding!](METEOR.md) | - [Meteor M2 full decoding!](METEOR.md) | ||||
- Nginx webserver to show images. | |||||
- Timestamp and satellite name over every image. | |||||
- WXToIMG configured to create several images (HVC,HVCT,MCIR, etc). | |||||
- Nginx webserver to show images | |||||
- Timestamp and satellite name over every image | |||||
- WXToIMG configured to create several images (HVC,HVCT,MCIR, etc) based on sun elevation | |||||
- Pictures are posted to Twitter. See more at [argentinasat twitter account](https://twitter.com/argentinasat). | - Pictures are posted to Twitter. See more at [argentinasat twitter account](https://twitter.com/argentinasat). | ||||
- [Wiki](https://github.com/reynico/raspberry-noaa/wiki) is updated! | |||||
- Audio files are stored on a RAMFS partition. Happen to had some glitches on image reception | |||||
### Install | ### Install | ||||
There's an [install.sh](install.sh) script that does everything at once. If in doubt, see the [Wiki's install and config page](https://github.com/reynico/raspberry-noaa/wiki/Initial-installation-and-configuration). | |||||
There's an [install.sh](install.sh) script that does everything at once. If in doubt, see the [install guide](INSTALL.md) | |||||
### Important notes | |||||
- I tried to run this on a Raspberry PI Zero Wifi, no luck. Seems like it's too much load for the CPU. Running on a Raspberry PI 2+ is ok. See [Wiki's hardware notes page](https://github.com/reynico/raspberry-noaa/wiki/Hardware-notes). | |||||
- Code was a bit updated on how it handles the UTC vs timezone times. | |||||
### To do | |||||
- [Calculate sun elevation for each satellite pass to decide image enhancement](https://github.com/reynico/raspberry-noaa/commit/e21abc616b289a768129006863e48f0c815814b9) done. | |||||
### Hardware setup | |||||
Raspberry-noaa runs on Raspberry PI 2 and up. See the [hardware notes](HARDWARE.md) |