Man it’s been a while since i’ve done anything with my weather station. I honestly got kinda burned out by it as I was thinking about all the work ahead of me so I stopped working on it for a while. However, recently my “Production” station in my hometown started experiencing more issues that prompted my attention. I started to get more and more RX Check emails from Zabbix, and weirdly it coordinated with weather events. When a storm moved in, my station would drop.
I’ve been getting sick of these drops. There doesn’t appear to be any reason for it. When I go out and test it, the solar panel works fine, and it typically works just fine over night. So is it a SuperCap issue? Panel? I have no clue. But the wireless setup has always given me issues at this location, however at my house, I’ve never had problems. So while the idea of replacing all the Davis Wireless is a great one, in the short term, it’s not really feasible.
Wireless isn’t the only option
It’s true! Davis makes a Cabled version of the VP2 that works exactly the same as the wireless, just over a long cable. I noticed on the VP2 board, there is a COMM port that looks just like the cabled. So I reached out on my local friendly wxforum and asked the question: https://www.wxforum.net/index.php?topic=42646.new#new. The inevitable occurred and I was told it couldn’t happen. BUT I did receive a reply asking about a trade. Sure enough, over about a 3 week period, I sent a guy in Canada my wireless console and ISS board from my home station, and he sent me his cabled console and ISS board. Now we’re talking! After reading around, it seems that the ISS sends data over RS422/RS485 and is encoded in a certain way. I found this post: https://www.wxforum.net/index.php?topic=32706.0 that even included a code sample! With this new info, I went to work.
Using the wiring guidance and some trial and error, I got the wired console reporting via the Arduino code, but on an ESP32. I had to change the serial number, apparently my board won’t let me use UART1, so I had to use UART2 for the RS485 board I got on Amazon. With that, I was greeted with readings!
So now that I have it reading, now I have to think about next steps. The nice thing is that the ISS Board does all the heavy lifting. Rain tips, wind speed/direction, etc. Those were all things I was gonna have to calculate with my Open Weather Station idea. So this skips a lot of steps.
Now that I know this works great, this changes how I plan to approach this, at least at my Production station. I want this to be low maintenance as possible. So my plan will be use an ESP32 board in an enclosure with battery, solar panel, and LTE Modem (CradlePoint) and use an ESP32 board with Ethernet. I have an Olimex EPS32-POE board that works awesome with MicroPython. I am planning on building this in MicroPython, because it’s what I know. So the next step is to take the Arduino code and understand what it is doing every step of the way, and translate that into Python. I also have to do other things, like monitor battery voltage on the ESP32 board, as well as monitor enclosure temp/humidity with a BME280. So there’s a few pieces to this puzzle.
Have I mentioned how much I love WeeWX? I found a “Driver” for WeeWX that allows WeeWX to ingest data from an MQTT Topic. I deployed WeeWX on a small EC2 instance, and used AWS IoT Device Simulator to simulate a weather station uploading at the same rate as the Davis ISS (2.5 seconds) and it works great! WeeWX ingests the “loop” data that i’m sending and creates archive entries into a database. It also can take random messages so I can send battery voltage every minute in a separate MQTT message and it’ll ingest that. Neat! So this way all I have to run on the ESP32 is MQTT and whatever I need to pull data from the sensors and i’m good. Makes the ESP32 a much better choice for the edge device over a Pi Zero.
So what’s next for the Open Weather Station Idea? I’m still pursuing it. I’ll have a separate post in regards to my thoughts on that, but for right now, I’m focused solely on creating a more reliable “Production” station using multiple Davis OEM pieces.