BuildStatusTrafficLight: Difference between revisions

From RevSpace
Jump to navigation Jump to search
No edit summary
No edit summary
Line 25: Line 25:
Bonus point if we can add sound when the status changes.
Bonus point if we can add sound when the status changes.


[https://aliexpress.com/item/verkeerslicht/32836170176.html This one] has been ordered, to be modified with the ESP8266.
I'm using [https://aliexpress.com/item/verkeerslicht/32836170176.html This one] , to be modified with the ESP8266.
It lights the lanterns in order, speaking some Chinese for each lantern.
The lanterns are basically white LEDs behind a colored piece of transparent plastic.


== Software ==
== Software ==

Revision as of 08:25, 1 November 2018

Project BuildStatusTrafficLight
BuildStatusTrafficLight.png
A traffic light showing CI build status
Status In progress
Contact bertrik
Last Update 2018-11-01

Introduction

The end result of this project is a traffic light that shows the status of a software build.

It can show the following statuses:

  • red: build has failed to compile
  • yellow: build compiles but a unit test fails
  • green: build is OK
  • yellow flashing: build status unknown, e.g. still starting up, connection problem, or we receive a status we don't understand

Hardware

The plan is to use an ESP8266 (e.g. Wemos D1 mini) along with a modified toy traffic light (see below). Perhaps I'll need some kind of LED or bulb driver too.

Apparently, the ESP8266 can source about 12 mA and sink about 20 mA of current. This is enough for a small LED, might need more, I'll just have to see what kind of LED/bulb is inside the toy traffic light.

Bonus point if we can add sound when the status changes.

I'm using This one , to be modified with the ESP8266. It lights the lanterns in order, speaking some Chinese for each lantern. The lanterns are basically white LEDs behind a colored piece of transparent plastic.

Software

Source code can be found here.

It is written in C/C++ for Arduino for quick and easy development using existing libraries, like WifiManager, PubSubClient.

The plan is to simply listen to an MQTT stream. To keep things secure and secret as much as possible, I plan to use an encrypted link to the MQTT server along with a username/password.

External links