What am I on about? What does the title mean. Well it goes a bit like this. Ever since 2013 I have operated a Davis Vantage Pro 2 weather station in my hometown in Kansas. When I was living in Oklahoma, the station was about 300 miles away, however now i’m closer, at about 70 miles. This certainly has not made administration of this station any easier. Since I’ve installed it, i’ve faced various problems, one of those i’m attempting to solve with this project.
First off let’s talk about the current setup. I’ve been very fortunate that the station is located at an educational facility, that provides me full access to the internet as well as power. So with this, I placed the station in a suitable location, approximately 100 ft from the building in an open field.
This is a wireless station, so what about the receiver. Currently it’s using a Wireless Envoy, however it started out using the VP2 console, which is enclosed in an outdoor housing from Davis:
So we have the station sending and receiving data. Now what? This is where things have changed a lot. I’ve been through multiple iterations of this station. Let’s see if I can remember everything i’ve done in the correct order:
1: Started with the Vantage Pro 2 install in 2013. Used the Davis software on a Windows XP machine. Data was sent via FTP to a web server hosted in a colo facility. Do not recommend this approach, as the XP machine was hilariously unreliable and the software just not good.
2: Raspberry Pi. I came to my senses and installed a different software on a Raspberry Pi. I went with WView as it was quite popular at the time amongst users.
3: Raspberry Pi 4 with WeeWX. WView severely limited my ability to customize the setup. I don’t know C and I don’t want to re-compile after every single change. Couple that with the fact that WView is no longer in development, a change was needed. I also got word my Colo facility was shutting down my server (I was getting it for free from a friend anyway) so I needed to move to AWS fast. WeeWX had the ability to do this and the performance uploading to AWS on the original Pi was abysmal. Upgrading to a Pi4 was the right option. Which is how things are setup now.
This post and the blog really is going to focus on the hardware/station side of things. I’ll be writing a separate blog post for work on how i’m moving forward with AWS IoT for this station. So finally what am I doing? Well i’ve had some problems with the station that include:
- Power outages at the facility, knocking the Pi off power.
- Internet outages. This is in a rural area and we don’t have the luxury of fiber like I have at my home. We have a 35mbps connection delivered by Point to point wireless. It works OK but has outages. This prevents the data from being uploaded to AWS.
- Signal issues. I’ve been fighting this for months now, and even over a year. I get random drops where the station just falls off the map. Sometimes for days on end, then comes back online like nothing happened. I’ve changed channels, i’ve replaced boards, i’ve replaced receivers (hence why i have an Envoy now vs a console) and it’s still happening. Sometime’s it’s solid for WEEKS and sometimes it won’t go two days without dropping.
So what are the solutions to these problems?
- Power: Get a UPS you dingus! Well yes this is a fair point, we would need to put the entire internet setup on a UPS as well, and then we are not guaranteed a long runtime unless we invest in a large capacity unit, which is not a high priority.
- Internet: Run off LTE! It’s definitely something i’ve considered. But again, i’d need to also think about power as well, since without power, the LTE is no good. Couple this with being in a metal building, LTE would also require external antenna. It’s definitely the lowest priority issue.
- Signal: This is the issue i’m solving. First thing I considered was getting a cabled station. You can convert the ISS to a cabled board, but the investment is significant. As well as digging a trench, running the cable, etc. It’s a lot of work. So that’s out. So I started thinking do I really need the Davis stuff? Which has led to this project.
Enter the smol computers
When you take it all apart, the VP2 is not really anything special. The sensors are actually fairly straight forward. I came across this post (http://cactus.io/hookups/weather/anemometer/davis/hookup-arduino-to-davis-anemometer) which goes into details about the wind at least. Turns out the vane is just a potentiometer and the anemometer just a switch. Most likely a reed switch similar to the rain gauge. So as far as the sensors are concerned, they have no idea they are in a weather station. The rain gauge also operates using a simple Reed switch.
The temperature/humidity board is an SHT31 just in a different package. This does not include a pressure sensor, which they annoyingly placed inside the console or Envoy unit.
So with all that being said, what does Davis do? Well they take this raw sensor data, they package it up on the ISS board, and then send it via wireless or wired in their own way. Now others have cracked the code and built their own receivers for these stations. But i’m looking to remove the Davis from the Davis entirely and remove the entire wireless setup.
So if i’m looking to remove wireless, what about the power and the internet from the educational institution? Don’t you need that still? I’m thinking I don’t, and i’m thinking the Raspberry Pi is the solution. By interfacing the sensors directly with the Pi, I would be able to take the raw data from the sensors, and upload that to the cloud. With recent upgrades, i’m expecting wifi range at the station, and also have been provided with a Cradlepoint unit from a colleague that I will be utilizing for LTE backup. Power will be provided via a Lead acid battery, charged via a large solar panel. Having the Pi at the station will also allow me to add additional functionality, including a camera.
So what is the goal? What is the point of this rambling? By the end of this project, I hope to have a PCB that I can attach to a Pi (or Pi Zero) and be able to ingest sensor data from a VP2 and have it be more reliable than the current setup. Obviously there are lots of factors to consider, things such as:
- Weatherproofing. Can’t have a Pi in the rain. Looking at using knock-off Pelican “Apache” cases from Harbor Freight as a good option, which leads to the next concern…
- Temperature: It gets hot and cold in KS. So the entire setup needs to be able to withstand high and low temps, as well as humidity.
- Reliability: Ulimately the Pi is a small Linux computer. Computers aren’t always our friends. So I need to make sure the setup is as low-touch as possible and I can’t be messing with it every day. Given the amount of custom work i’ll be doing, this is definitely a major concern.
So stay tuned! This is just the first of hopefully many posts as I begin prototyping, and hopefully much shorter, less rambly posts going forward.