FYI - I have a new beta version of "listener" and "parser" available with Wunderground "rapid-fire" rolled in. For now I'm calling it "ipwxLite".
Personally I prefer weewx for reporting to wunderground and other services, but a few weeks ago someone asked if a simpler reporting script could be developed as they didn't want the advanced features of weewx provides...they just wanted fast reporting to wunderground and nothing else. (i.e. no graphs, no web pages, no local database, etc. )
Here it is, presented simply for educational and experimental purposes. It's intended for use on a Raspberry Pi, but the scripts themselves should work fine on any system with tcpdump and perl and a little coaxing.
I'll eventually roll these into the next re-write of ipwx. For the purposes of this beta, I've disabled the writing of the weewx data file. If you have no intention of running weewx, this won't matter. I've done this so you can run this alongside your original ipwx installation without creating conflicts.
The following instructions assume you have already set up your Rasberry Pi with a "bridged" network connection as per
http://nincehelser.com/ipwx and you are logged into a terminal session on your Rasberry Pi.
1. Create a new folder for ipwxLite:
mkdir ipwxLite
2. Change your current directory to that of ipwxLite with the cd command.
cd ipwxLite
3. Grab the "listener" and "parser" files directly from my server (no more cut/paste!) using the wget command. As they are simple text files, you can view or alter them as needed.
wget http://nincehelser.com/ipwxcode/listener
wget http://nincehelser.com/ipwxcode/parser
4. Change the permissions on the files so that they are "executable" code.
chmod +x listener
chmod +x parser
5. Run the files using the following line. After about 18 seconds, you should start seeing some weather data on your screen. (Be aware that your account must have "sudo" permission. Press "ctrl-c" to quit the scripts.
./listener | ./parser
Note that this is not yet reporting to wunderground...it's just to show you things are set up OK. The top part of the screen is the actual data intercepted from the Acurite Bridge, the middle section is human-readable weather data for debug purposes, and the last part is the data as it will be assembled for transmission to wundergroudn.
To make this actually report to wunderground, you need to edit the "parser" file with the following information:
$wunderEnable = "ON";
$wunderID = "YOURSTATIONID";
$wunderPASS = "xxxxxxxx";
(I didn't account for highly-complex passwords. If you have special characters in your password, they may need to be "escaped". Also, I think your station ID needs to be all caps, but I haven't tested that.)
You might also want to set the variable $baro_adjust to a value appropriate for your location. It's expressed in mmHg.
Save the file and restart
./listener | ./parser
If all goes well, you should see your station ID and password in the lower portion of your screen showing the data to be sent to wunderground. If wunderground accepts your data, you'll see a "success" notice at the bottom.
New data will go to wunderground as new information is received from the bridge...typically this will be every 18 seconds with a 5n1. Barometer information is sent every minute. The script has provisions for reading the temp and humidity from a tower sensor. I'm sending that temp data to wunderground as "soiltemp" just for fun. (I haven't figured out how to graph multiple temp sensors on wunderground or if it is even possible, even though the protocol specs allow you to send such data)
Let me know if you have any problems or something isn't clear.