summaryrefslogtreecommitdiff
path: root/content/projects/internet-is-magic.md
blob: ed51845a10bea6e358ce84cad8e96127f55fa66f (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
44
45
---
date: 2015-10-29
title: Internet is magic
image: /images/internet-is-magic/fluttershy-glow.jpg
aliases:
- /2015/10/29/internet-is-magic.html
---

LEDs for two figurines that show whether my friends are online.
<!--more-->

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/electronics/internet-is-magic/src/master/luminate.ino).

![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/electronics/internet-is-magic/src/master/client.py).

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.