Assuming you already have one of the compatible USB weather-stations... Install fowsr on any Linux box, or even any USB-equipped router capable of running OpenWrt. OpenWRT "Chaos Calmer" unfortunately has no fowsr package, but you can, surprisingly, wget Barrier Breaker's fowsr and opkg install that. Oh, make sure you have a working "cron" installed too.
Download /usr/bin/noseywx.sh which should look like...
#!/bin/sh if [ -e /var/log/fowsr/fowsr.dat ]; then # Newer fowsr seems to take different args and store data in the dir above fowsr -fw -n/var/wunderground.log >> /var/noseywx.log 2>&1 else /usr/bin/fowsr -w >> /var/noseywx.log 2>&1 fi # Sleep a "random" time from 5-104 secs, # to avoid the nasty APRS spikes from 1000s of NTP-synced WX stations: sleep 5 `cut -c1-2 /proc/sys/kernel/random/boot_id | tr a-f- 0-9` NWURL="http://noseynick.net/wx/wunder2aprs.cgi?MYCALL=$1&MYPASS=$2&LATLON=$3" shift; shift; shift if [ -n "$1" ]; then NWURL="$NWURL&ID=$1&PASSWORD=$2" shift; shift fi # if you want to add a note/shoutout/neighbourhood/village/town/city: if [ -n "$*" ]; then NWURL="$NWURL&NOTE=$*" fi NWURL="$NWURL&`head -1 /var/wunderground.log`" wget -q -O- `echo "$NWURL" | tr ' ' +` > /var/noseywx.log # Keep 1 previous version. If you prefer to keep an entire history, comment # out these, but then you probably want to rotate logs another way: mv /var/wunderground.log /var/wunderground.last mv /var/noseywx.log /var/noseywx.last
Don't forget to:
chmod 755 /usr/bin/noseywx.sh
Wunder2aprs takes the same parameters as Weather Underground (which fowsr writes to /var/wunderground.log by default), then the extra params MYCALL, MYPASS, LATLON, and an optional NOTE. Unlike Weather Underground, you're not supposed to send to APRS/CWOP more than once every 5 minutes though. APRS also gets hammered precisely every 5 mins by a whole load of NTP-synced weather stations, so noseywx.sh includes a deliberate randomised delay before you upload. Don't be too surprised if it takes nearly 2 minutes to run!
You probably want a crontab entry something like...
#min hr day mth dow command */5 * * * * /usr/bin/noseywx.sh MYCALL MYPASS LATLON # For example... */5 * * * * /usr/bin/noseywx.sh VA3NNW-13 12345 4327.07N/08033.98W
If you do want NoseyWX to forward to wunderground.com, your crontab might look like:
#min hr day mth dow command */5 * * * * /usr/bin/noseywx.sh MYCALL MYPASS LATLON ID PASSWORD # For example... */5 * * * * /usr/bin/noseywx.sh VA3NNW-13 12345 4327.07N/08033.98W IONTARIO333 12345
Any further arguments in the cron command-line are swallowed into "NOTE=", so you can add a few short words about your software, hardware, neighbourhood/village/town/city etc:
#min hr day mth dow command */5 * * * * /usr/bin/noseywx.sh MYCALL MYPASS LATLON ID PASSWORD NOTES # For example... */5 * * * * /usr/bin/noseywx.sh VA3NNW-13 12345 4327.07N/08033.98W IONTARIO333 12345 fowsr OpenWRT WH1081 Waterloo
Beware of word-wrapping in your crontab!