ESP8266 Adds WiFi To A 433 MHz Weather Station
There is no shortage of cheap weather stations on the market that extract data from several wireless sensors operating in the 433 to 900 MHz band and present you with a slippery small desktop display, but usually the flow of information stops there. We expect to bridge the gap and bring all this local climate data to the Internet, [Jonathan Diamond] decided to make a reverse engineer how his weather station works.
The first phase of this project involved an RTL-SDR receiver, GNURadio, and Python spraying. [Jonathan] managed to lock the signal and collect data packets that report variables such as temperature, wind speed and precipitation. Each of them was a small puzzle in its own right, and in the end there are still a few bits that he didn’t quite understand. But at least there was enough to move on to the next step.
At that point, he could extract the data directly from the air with his RTL-SDR. But looking to push his skills to the next level, [Jonathan] decided to open the base station and isolate its receiver. Since he was already decoding the packets on the RF side, he knew exactly what he was looking for with his oscilloscope and logic analyzer. After touching the broadcast coming from the radio, the last step was to write some code for ESP8266, which could listen on the line, interpret the data packets and push the received variables over the network.
Then, [Jonathan] decided to route all data to the Weather Underground via the Personal Weather Station API. This not only allowed him to view the data through their web interface and smartphone app, but implemented their hyperlocal prediction technology at no extra charge. If you are not interested in sharing your information with the public, it would be a trivial matter to change the firmware so that the data is published to a local MQTT broker or anything else that floats in your proverbial boat.
If you’re really lucky, your own weather station may already have ESP8266 on board and discards all collected data on the serial port. But if not, projects like this are falling apart how to reverse a wireless signal can be a great source of inspiration and guidance if you decide to try to break the code.