summaryrefslogtreecommitdiff
path: root/content/tech/internet-is-magic.md
blob: 1d2102751344695438aace5a3a21c5d18c0b96fc (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
41
42
43
---
categories:
- embedded
date: 2015-10-29
title: Internet is magic - Glowing ponies show your friends' online status
aliases:
- /2015/10/29/internet-is-magic.html
---

Friendship is magic! I like the My Little Pony series, and two of my best friends, knowing that, surprised me with self-made versions of Twilight and Fluttershy at my birthday.

![Twilight and Fluttershy](/images/internet-is-magic/twilight-fluttershy.jpg)

_Aren't they adorable?_

As you can see in the picture, I grabbed some diffused LEDs and illuminated my ponies.

That was kind of unexciting after a while. Luckily, I had an [ESP8266](https://en.wikipedia.org/wiki/ESP8266) to spare. These modules are small Arduino compatible WiFi modules, so with some programming knowledge you can control GPIOs via WiFi.

Awesome! Let's connect the ponies to the world wide web.

![Inside view](/images/internet-is-magic/inside.jpg)

_Not much to see here_

I wrote a quick-and-dirty Arduino sketch, [uploaded it]({% post_url 2015-10-14-esp8266%}) and was able to control the LEDs via netcat. You can find the sketch [here](https://git.schneefux.xyz/?p=internet-is-magic;a=blob;f=luminate.ino;hb=HEAD).

![Twilight glows](/images/internet-is-magic/twilight-glow.jpg)

_The cables in the background supply power._

And now comes the fun part. Both of my friends chat with me via [Telegram](https://telegram.org). Unlike WhatsApp, Telegram has an open API that allows me to easily receive their online status.

I installed the [telegram-cli](https://github.com/vysheng/tg) client on my [Raspberry Pi](https://raspberrypi.org), a cheap and small computer, and set up an autostart script. telegram-cli runs in bot mode, a python script updates the LEDs every minute. I uploaded the script [here](https://git.schneefux.xyz/?p=internet-is-magic;a=blob;f=client.py;hb=HEAD).

So whenever my friends are online, their corresponding pony starts to glow.

![Fluttershy glows](/images/internet-is-magic/fluttershy-glow.jpg)
![Twilight and Fluttershy glowing in the dark](/images/internet-is-magic/night.jpg)

_When they light up at night, you can feel the magic._

If you want to build something similar to this, be sure to ask your friends whether it's okay for them that you monitor their presence all day long.