RPi weather station: an introduction

It all started with a surprisingly good offer from the mail order electronics shop that I frequently use. They offered an  Alecto DKW2012 wireless weather station for just about 25 euros. There was a but …  I had to spend over hundred euro. Usually  my mail orders are significantly less although I try to bundle them so that I could benefit from free postage for orders over 35 euro. But this time – I guess I ordered a gadget for my father – I did and I decided to buy the weather station.

It had been lying around for about a year before I tried it. It was working as far as I could see and nicely provided the weather information on a simple LED screen. I realized this was a relatively poor solution as I could not do anything with the information than just look at it. It would be nice to use it to control the settings for the central heating system. But then I should have access to the data. Since it was wireless there must be a possibility. I already used wireless controllers for the heat exchangers in the various rooms as well as control the lighting so why not integrate this station.

The weather station used the 868 MHz band for information exchange which was the same as the heating controllers. The program to monitor and control them is FHEM and this works like a charm. Although the online information on this package is great, there was no direct reference to the station I had, not even to its brand. A close look on the internet revealed that many others were wrestling with the same problem but that there were only solutions for similar but not for identical stations.

This was going to be a major project. But then the electronics broke down. As is common, I packed the whole thing in its box – I usually keep these for a while – and sent it back to the shop. After some time the response was, that they had no direct replacement but could offer me the WS-3900. I accepted only later to realize that this one did not have a wind direction sensor whereas the former one had. Nevertheless I put up the thing and started to figure out how outside station and inside panel were communicating. That turned out not to be that simple. In the end I had a JeeLink but could not extract the information. I feared that interference with all other devices operating in the same band might confuse my primitive searching scheme. The more so as I had no idea what kind of signal I was looking for.

This required a smarter attack. I needed a logic analyzer, a device with which I could analyze data streams exchanged between units. But these are damned expensive. There was a good alternative, the Logic 4 Digital+Analog Logic Analyzer from Saleae.   It is basically a smart electronics box with USB connection to hook up to a PC. Smart software does the imaging and allows for many present-day protocols to be pre-processed. There were also very cheap alternatives that I tried one of.  No luck and I realized that if I was going to use it as a measurement system, I should be able to fully rely on it. Therefore, although still expensive – I bought it as a birthday present. It turned out to be one of the better buys I made over the past years. I never use my analogue oscilloscope anymore!

I decided to analyze the signal as received by the 868 MHz unit inside the LCD panel first. As usual, these units are easily identified and the data pin was brought out together with a  “ground”-wire. That did not help too much, I got the same gibberish as from the JeeLink but I did not know how to analyze it. I could not figure out which pieces were from the outdoor part of the station either. The better idea was to find out what the outdoor station wished to have transmitted. I worked out some wires with the signal from the outdoor unit – that now was no longer wireless – and for the first time I could see the patterns. They did look very much like the patterns described by others on the internet, but they were not quite the same. While working out the details, the humidity sensor gave in. Apparently these devices were relatively fragile and would break down easily: it was my second already. As I did not want to start all over again, I let it be and finished the job. Later on in this series I will present the protocol as I understand it. Not for listening but this time for sending so that the screen will display what I want it to show.

Given the fragility of the electronics, I decided to use a Raspberry Pi to do most of the logic and to connect devices from the previous Alecto set as were working and using replacements for the others. This would also solve the problem of the wind direction sensor. How this evolved will be presented in the next part.


Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *