Categories
AWS Gardening

Raspberry Pi Weather Station Pt. 1

I got my first weather station almost two decades ago. It was a very basic weather station by Davis and only supported rain, temperature and wind speed. After that one finally kicked the bucket, I ended up with a similar Peet Brothers weather station and for a brief period of time I used it for reporting weather over APRS.

Now that I am getting back into gardening again and starting to care about my lawn more, I would like to be able to have a better idea of what is going on. I’d like to be able to monitor the weather in the garden and be able to analyze it over the years.

So, I decided that I am going to build my own weather station out of a Raspberry Pi 4. The Raspberry Pi will interface with a rain guage, temperature sensor and hygrometer. I’m not worried about wind speed because my house is surrounded by many very tall trees, so I will never be able to get an accurate measurement.

On the software side, I wanted to be able to record the data for as long as possible and to have a convenient way to display and manipulate the data. To do this, I plan on using Postgresql and Grafana hosted on an AWS t3a.nano instance.

I looked into using Prometheus, but it was not as flexible or easy to use as I would like. Part of the problem is that my house is behind a NAT gateway and I have no plans on opening any ports or bothering with any VPNs. Out of the box, Prometheus only records data for 15 days. That can be changed using a modern version, but I’m always worried about a configuration file getting overwritten during an update and losing data.

Hardware

  • Raspberry Pi 4
  • Rainwise Rainew 111 Rain Guage
  • TEMPer1F_H1 temperature/humidity sensor

Software

  • T3a Nano AWS instance
  • Postgres Database
  • Grafana for visualization
  • Python3 to hold everything together
Categories
AWS Wordpress

WordPress cURL Issues on AWS

If you are trying to run WordPress on AWS and are getting messages about loopback connection failed or cURL error 28: connection timed out then that means that WordPress can’t do a loopback to itself. On AWS, the problem is most likely due to the public/private IP address. The solution to this problem is that you need to put your domain name into your /etc/hosts file with your domain name set to 127.0.0.1. What is going on is WordPress is doing a DNS query to find your servers public DNS address. Then it is trying to connect to it by sending it out the gateway router and it is getting messed up. By setting your domain name in /etc/hosts, it tells it just to connect to itself and the loopback request goes through.