summaryrefslogtreecommitdiff
path: root/content/projects/weather-snowman.md
blob: 10e17c017558f31e5b881c98d0506abdf26bd1f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
---
date: 2015-12-12
title: Weather snowman
image: /images/weather-snowman/snowman-glowblue.jpg
---

I add a WiFi chip to a snowman to change the color based on the weather forecast.
<!--more-->

It's christmas time! As a kind of pre-christmas gift, I built an Internet of Things enabled snowman for one of my best friends.

Like in [my last project]({{< ref "internet-is-magic.md" >}}), I used an ESP8266 again, some LEDs and an old acrylic snowman that I cut open.

![blue glowing snowman](/images/weather-snowman/snowman-glowblue.jpg)

_The electronics were cheaper than the snowman._

Inside the snowman was a fading RGB led, a switch and batteries. Boring!

I replaced it with the ESP8266, which had 3 LEDs attached to it (red, green, blue). Via a USB cable and a voltage converter, I powered it:

![inside setup](/images/weather-snowman/leds.jpg)

_Luckily, you don't see how messy it really becomes once you put all this in that tiny snowman…_

![inside setup, top view](/images/weather-snowman/leds-esp.jpg)

Coding took a while.

The ESP creates a wireless access point with a web server after powerup and asks you to enter your WiFi credentials. After first setup and whenever the module is started again, it connects to your wireless network and queries [OpenWeatherMap](http://openweathermap.org/) every hour for a 3 hour forecast.

Depending on the forecast, the blue and red LEDs glow in different patterns. If a rainy day is to be expected, the top red LED lights up and the bottom blue LED fades in and out. A storm at night is displayed via a deep blue head and a blinking snowman's body.

If you inspect [the source code](https://git.schneefux.xyz/electronics/weather-snowman), you'll see that there also is an Android app. The app simplifies the setup and runs a background service that makes your snowman's green LED flash on new notifications.

![new notification snowman](/images/weather-snowman/snowman-blink.jpg)

_Gotta check my mails._

![blue and red glowing snowman](/images/weather-snowman/snowman-glowbluered.jpg)