Bannik

A status monitoring semaphore

Project bannik is created as a platform to receive and show real-time alerts regarding the status of any computer system. In my particular case the main objective is to use it as a device to show alerts regarding uptime in web pages and apps, REST services and other software systems some of my other programs depend upon.

Bannik will be formed by a hardware device and a software counterpart to control it. The hardware will be acquired keeping a low cost in mind and using what I have laying around. Regarding software, only open source systems will be used.

I visualize an unconventional “semaphore” regarding current standards. The idea is to use a single multicolor disc to show a status quickly (via colors) and a screen to get further information on an alert. Some sort of acoustic signal could be an improvement. The device could be mounted on a wall, or placed on a desk.

A sketch of the outside appearance of the bannik device

Regarding the screen I would like to use some sort of panel that is easy to read, I have my mind set on an e-paper one. Going back to the “disc”, something regarding RGB LEDs could be useful.

I’ve already specified the innards of the bannik monitor:

  • A RaspberryPi Model B (1st gen), it will run on Raspbian Jessie Lite
  • A TPlink TL-WN722N, to bless the RPi with WiFI connectivity
  • An Amazon kindle 4, as readable “more info” screen
  • Two RGB LED Rings, 24 and 12 LEDs respectively
  • To power all of this I got a 25W (5V, 5A) power supply

Let’s talk about the list: First, the RPi. I had it laying around. I think current RPis are a bit overpriced, but very capable devices. I considered an Arduino, which would be a better candidate to interface with the hardware, but, it’s easier to make an RPi host a REST API + other future improvement ideas, than an Arduino. Regarding the WiFi dongle, I’ve got nothing to say. It was cheap on amazon, some people said it worked, others that not. Well, when I got it I plugged it in the RPi and worked flawlessly. No driver installation, no kernel module recompilation, no nothing.

The kindle is my answer to an easily readable screen to get further information on bannik’s alerts. But, multiple problems arise: How am I going to show content which isn’t a book? How am I going to power it? And… The screen is too small. At least I bought it pretty cheap from an auction on ebay, let’s see what I can do with it.

LED Rings… They’re a copy of Adafruit’s wonderful NEOPixel Rings. I would have bought the Adafruit’s ones, would they be easily available in my country. But it’s easier to search ebay for cheap electronic components than to visit every European Adafruit distributor and find in their online stores what I’m looking for. Slight problem… 36 Neopixel LEDs require 60mAx36=2.16A. No way I’m pulling that from the RPi.

So here’s the solution to my power-related problems: A power supply. Putting an internal power supply in the bannik device will cover all my power needs an minimize the cords running to it. A single cable from the outlet to the device is all I need. I worry 5A may not be enough to power all the devices, it’ll probably be a close one.

And now… a shell to hide all of this. I will use balsa wood or plywood to make a case. 3D printed supports will hold everything in place inside. The problem lies on the front of the device. Cutting out a circle in a wood sheet to show the LED rings won’t be a problem, but cutting out a rectangle for the kindle may be, so I’m considering 3D printing the whole front of the device.

Bannik mounting brackets
Bannik mounting brackets

Planning how to place everything inside, without the components interfering with each other is proving difficult, especially trying to minimize the footprint of the device.

Internal placing of the components that are part of bannik #1
Internal placing of the components that are part of bannik #1
Internal placing of the components that are part of bannik #2
Internal placing of the components that are part of bannik #2