If you are a windsurfer/kitesurfer you know how annoying it is to get to the beach and discover that the conditions are not good – especially if you’re driving for a bit to get there. Sometimes in all the weather forecast looks great, but, a lot of the time it is too choppy, gusty, the currents are strong or for some another reason the junkies are not in the water. The best way to know if it is worth driving to your favourite stop is to see if others, usually the locals, are in the water.
Lucky I have a good friend that lives literally right on the beach that can tell me if the conditions are good, the problem is that he is not at home all time 🙂 so I’ve decided to put a weather station at his place + a camera that will transmit the data and images to a website that could be accessed from everywhere. This way the direction and the strength of the wind could be measured and using the camera I can see if there are whitecaps and realise how choppy it is.. that way I can decide if it’s worth the drive.
If you happen to be an avid kitesurfer/windsurfer most important things are the strength and the direction of the wind, the wind vane and the anemometer measuring it perfectly, sending it to an AWS S3 based website that also displays the image that is being taken every 5 min in addition to the wind vane and the anemometer measurements.
System architecture:
The system itself is based on Raspberry Pi 3 model B+ (this picture is the first version with RPi 1), camera module, wind vane and an anemometer.
The anemometer and wind vane were taken from a cheap Chinese weather station that I got from eBay for 30$.
I harvested only the parts that I needed and wanted to connect them to the Raspberry Pi.
The anemometer was easy, it is basically a magnet that hovers over a hall effect sensor and triggers it – all I had to do is to created a hardware interrupt every time that it happens, count the time that is passing between each pass, calculate the distance (= speed * time), consider the radius of the anemometer and viola and – we have our wind speed.
The wind vane was a completely different story, I didn’t know what to expect from it as an output, I thought it will be simple 4/8 digital outputs or one analogue output of the direction of the wind.. it wasn’t, instead, I had to reverse engineer the protocol that was used, after a quiet evening and couple of beers I’ve made it work – I used an oscilloscope to tap into the communication line and deciphered the protocol that was used. I wrote a piece of the code that parser the data coming our of the wind vane into meaningful N,NNE,NEN ENE E ESE …S directions.
The telemetry data (i.e. direction and strength of the wind ) is being captured for 5 min, averaged, saved in a file on the Raspberry Pi – and being transmitted to the AWS S3 website.
Another (easy piece) in the puzzle is the camera, every 5 minute the Raspberry Pi’s camera module takes a picture, saves it, compress it to save bandwidth and sends it to the AWS S3 website.
The website itself is pretty simple, it just displays the telemetry data and the image, it was built by the amazing Simon Dwyer 🙂 you can see it here: www.ozwassup.com
Now everyone around Melbourne’s bay can enjoy a reliable, consistent kitesurfing/windsurfing data + an image that tells you if other are in the water.