Help with hacking a wireless outdoor weather station
Hi there, i've had this project in my mind for a while, but the other day my weather station stopped talking to it's LCD screen base station inside, so it was a good reason to climb the ladder onto the shed (my wife and 3 kids live in a shed on a 10 acre block (4 hectares)) and get it down.
I discovered it was simply a battery issue, but took the opportunity to crack it open and see what was under the hood.
My questions relate to how i might best go about hacking this to include it into my mysensors network?
I'm running Domoticz on a RPi 3 with a serial gateway.
The wind speed sensor with the 3 cups is just a reed switch and rare earth magnet.
Also uses reed switches x 4, but seems to have an SMD resistor of unknown value in some sort of voltage divider setup, with all reed switches set at 90 degrees to each other and a rare earth magnet in the top rotating bit. Then just feeds via 2 wires into the control board.
Temp, humidity and pressure Sensor:
Seems to be all in one on a little circuit board with a SMD IC. 4 wires. I'll post some photos.
Runs on 2 x AA 1.5v batteries.
Rain Sensor (quantity):
Classic tipping one with rare earth magnet and reed switch on controller board.
Any suggestions as to how i go about it? I would need to run it on 3 volts, and try to fit a pro mini and nrf inside which might be possible.
Any suggestions / advice welcome.
You might want to checkout @Yveaux's impressive prior art - http://yveaux.blogspot.com/2015/08/hacking-wireless-weather-display.html
@blacey thanks for mentioning my project. But in fact, the link describes a slightly different project in which I reused the display of my old weather station (looks identical to the one above, though)
@breimann I did hack my old weather station. It is from the pre-mysensors age and uses a raspberry pi to collect the data and send it to a server using WiFi. The wind speed and rain gauge pulses are counted by separate attiny's which connect to the rpi over I2c. The temp/humidity is measured with an sht11 (also converted to i2c) and a bmp180 measures pressure.
In short I only kept the mechanics and replaced the electronics. Has been running stable for years now.
If I had to do it again I would just use mysensors and maybe an esp8266.
@blacey that link looks really interesting! Thankyou. Although i don't understand much of it!
@Yveaux Hi there! Wow, yes your old weather station looks identical for sure which is pretty cool.
I would much prefer to work out how to process and read the data transmitted from weather station rather than try to reverse engineer all the sensors and then install a mysensors node to feed them all to.
Are you able to help me along the way if what i wanted to do is intercept the transmissions? How would i go about that to begin with?
Any advice/tips/hints/resources are gratefully accepted.
@breimann Well, the protocol of my weather station is probably identical to yours then, but that's the first step you need to check if you want to go my way. I used a SDR (software-defined-radio) dongle to capture the on-air data.
Alternatiuvely there are a number of projects around the net which capture the on-air data from comparable weather stations; maybe that's a good start.
What frequency is your station transmitting on? (should be somewhere written on the transmitter/display/box. Probably 433MHz or 868MHz)
Here's the back of the base station.
Sounds like yours was in the 800's?
@breimann yes, yours is 433MHz, while mine is 868MHz.
You'd better search the net for other projects to receive weather station data at 433MHz, or use the approach to ditch the original transmitter and MySensor the mechanics.
@Yveaux yes ok.
Would it be possible for you to reply with dot points of the process you would go through to do it if i have an SDR?
For me it looks like its Ambient Weather WS-5305.
As I know the WS1080 is using Fine Offset protocol so it could be easily received if this is using the same. There is many blog posts about it.
Have you considered creating / buying an RFlink to connect into your Domoticz system? You'd have to look into whether that model is supported by RFlink, but that approach would be a lot quicker and easier.
@pjr ok, can you explain Fine Offset protocol a little more please?
@breimann Fine Offset is a popular Chinese brand of weather station that is also re-branded and sold under other names. As it is very common the protocol it uses to transmit the data has been decoded so this would make it easier to use in MySensors. It would still I think be an ambitious project if you do not have a good understanding of how the protocol works and in general Arduino coding as well as MySensors.
As @pjr has said you need only to google Fine Offset protocol and you will be swamped with information.
@mrwomble has suggested rflink as another way to get access to your weather data and if your controller supports it that could be an easier way to go. As a bonus RFlink will also allow you to interact with a wide array of other wireless devices and as of R44 now has some limited support of MySensors as well.
I use RFlink to bring weather data from my Oregon station into my Domoticz controller.
@Boots33 Thankyou. That's all very helpful info. I've learnt more about RFlink now, finding their website and online shop.
I've got a Mega i'm using for my GW currently but will put a nano or pro mini in for the gw, and free up the mega, and i have some 433mhz RX/TX pair coming, so looks like i'll be making an RFlink for my Domoticz install.
Hoping and praying RFlink can talk to my weather station and 7 or 8 wireless 240v switch sockets!!
@breimann Yes I think you will be in luck as this post seems to indicate that your station does use the Fine Offset WH1080 protocol which is supported by rflink. RFlink also lists Digitech XC0348 Weather Station as supported so it may be the same protocol as the XC0400.
As far as power sockets Rflink has pretty good coverage as well it works with my Watts Clever sockets and my Belkin power board and even my old X10 sockets. I think you will be amazed how many of your neighbours weather stations and devices you will also pick up.
@Boots33 Thanks heaps! That's really encouraging. Yes i saw that Digitech brand listed. I've also contacted Stuntteam via email to check. Best way probably is to build it and test!
@Boots33 Oh I have a question though. You're using RFLink with Domoticz is that right?. How do you actually connect your RFLink Arduino to Domoticz? It might be a silly question, but I'm already running Domoticz on a RPi3, and a MYS serial gateway plugged into one of the 4 USB ports on my RPi. DO I just plug the RFLink into one of the USB ports too??
Is it that simple??
@breimann yes pretty much just plug it in to a free USB slot and in Domoticz select rflink USB from the drop down box on the hardware page. You may need to type in the serial port it is using and then you should be good to go
Did you make one from scratch or buy the RFLink board? Any tips in terms of choosing the 433mhz Rx Tx pair?
@breimann Yes I built one from scratch, if you are already building MySensors nodes you will have no trouble with it. It is a great way to expand your connected devices. I have a cheap Chinese floating thermometer in our pool and it even picked that up.
As to the 433mhz devices, of the cheap sets on ebay the fs1000 transmitters seem ok but i have found you may need to supply them 9v or more if you want to get decent range. The receivers that are bundled with them are not very good at all. You would be best to search on ebay for "arduino 433mhz superheterodyne" for a more reliable receiver.
As you are in OZ you can also buy the Dorji units from Willtronics, I have had good results with them and the transmitter reaches full power at 5v so is easier to use with arduino.
They are a bit more expensive though
The antenna is also very important, I usually just use a length of wire around 170 to 175mm seems to work best for me. You will find lots of info about antennas if you google it.