Comments and assistance to add features and improve things welcome.
For example, I'd like to see some "diagnostics" that help gauge bridge and sensor performance. For example, it would be interesting to graph the RSSI value of the sensors against the other weather parameters. It might tell us if seasonal things like foliage and heavy rain are having impact on the radio signal. Or maybe it will just help pin down interference that comes and goes.
I'd also like to keep track of the data packets coming from each sensor and send an alert if expected packets are missing from a particular sensor. That could also help pinpoint problems.
It would also be interesting to see if the 3-sensor "limit" for the bridge can be broken. I think it can, but the problem might be figuring out which sensor is which. For example, if you had 5 tower sensors around your property, is there a way to tell them apart in the data? I've no idea right now.
An XML feed is also something I'd like to add. I'm not sure yet what data I should include and how to structure it at the moment. If anyone has ideas, please speak up!
It should get even easier soon.
Once I finish up with this write-up, I plan to make a working image of the installation available for download. That way you can just copy it to an SD card, boot up your Pi, and you'll be in business. Obviously there will be a few configuration changes to make for Weewx and Wunderground reporting, but they will be minimal...basically location and time zone info and wunderground account information.
I'm not a programmer, but pretty comfortable working in the Linux environment, especially server CLI. This project looks like it would be fun to try! However, before ordering up a Raspberry Pi, it occurred to me that the Western Digital MyBookWorld I hacked to allow root access a few years back might also serve the purpose. The trick is likely sniffing the data with the software bridge you configured. Whether I can get a USB dongle to play nicely will be the critical trick. I might play with that a little first.
It also made me ponder whether something like DD-WRT (wireless router firmware replacements) might allow a router to be be used as the sniffing bridge, and also allow more convenient placement of the Acu-Link Internet Bridge by virtue of the wireless capability. But there isn't much ability for those things to store data and hacking them to share the data would be more of a challenge. So given my technical level, the Western Digital NAS device might be the right place for me to start.
Your comment about XML is also interesting and might be the start of something useful too... I run my own webserver remotely and XML could have some uses.
01 c9 e2 78 00 37 5c 32 03 ff
02 00 00 59 3d 0f 9c 01 41 02 ac 8d 20 18 26 09 c4 07 1b 06 09 8b 4c 8c c4
The challenge is parsing this. Does anyone have an interface spec?
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:
2. Change your current directory to that of ipwxLite with the cd command.
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.
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
You'll see a screen looking something like this:
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.
and my program threw an error as I seemed to have found a new sensor
I have a 5-in-1, a 3-in-1 and several towers which are being monitored with my Pi. I do not have a "water" sensor and I doubt if I'm getting any signals from my neighbors as they are too far away.
The only explanations I can come up with are that one of my sensors has alternate, undocumented (??) "frost alarm" feature or the Acurite Bridge is listening to one of my old Oregon temperature sensors. When I look at the Acurite Bridge web page I only see the above Acurite sensors.
The program failed on two successive nights, exactly when the outside temperature reached freezing and the Pi got the above record via the bridge. I have now fixed the program, but am curious.
And again, if there's no way to get data faster than the 18 seconds, that ends the conversation. And with the 18 seconds, that's what gives the device such long battery life (in addition to the solar panel on top - but I'm coming up on 2 years without replacing the lithiums right now and the station is showing about 40% still). But there could be a scenario where that could be "upped" - to measure the gusts - I'd certainly sacrifice having to change the batteries a little more often if it meant I could get even remotely accurate wind gust measurements. In this recent wind storm, I was getting high wind alarms all the time - but they were maxing out at 24mph.....problem is when I use a pulse anemometer to measure gusts, I was getting readings in the 40mph range over 2-3 seconds...something that the 5 in 1 currently cannot compensate for.
George......I've been using your technique for capturing the Acurite data from the Acurite Internet Bridge for almost a year now, as I think you know.
Today's server outage was a real eye-opener for me as I did not realize, that the functions of the bridge, depended on it have full contact with the Acurite servers. IE, the Internet bridge does not function "at all" if it loses Internet connection.
Has anyone found a way (hardware and software) to monitor the Acurite sensors independently of the Acurite Internet Bridge and the Internet. I think I have heard of some PC applications, but they would require the PC to be running 24x7. I wonder if there is something using a Raspberry Pi?
Thanks for any thoughts.....RDK
&id=<my bridge's MAC address>&mt=5N1x31&sensor=00002236
Occasionally, there will be an additional character at the end of that string, but mainly the data stream is just the above.
Gven my ignorance on how this system works and having basically just run IPWX without a solid understanding of the back end, I'm stuck here.
There is an above thread within this thread between George and RDK. Do either of you have a working setup for the current bridge firmware that I might lean on you to provide me?
"If it ain't broke..."
Thanks for any thoughts!
George....I just finished a Jessie setup like my Wheezy setup for monitoring my Acurite smartHUB. Both are running on Pi B+'s. Both seem to be running ok.
However, it seems that with Jessie one is supposed to not do everything in the "Interfaces" file, but also to make changes to the "dhcpd.conf" file. I just looked at the MAN file for that and am seriously confused. Could you comment or share your "dhcpd.conf" file?