/Busylight-Microcontroller

The Busylight shows colleagues whether you are currently on a call. So you are no longer disturbed during a phone call. Or if you have time to talk (then you will be displayed in green).

Primary LanguageC++

USB LED matrix - availability status at the workstation

Link to Busylight Client: Busylight Client

USB API

Update light color

@startuml
"Java Client" -> "Controller" : REQUEST_IMAGE_CHANGE (0x02)
"Controller" -> "Java Client" : READY_FOR_IMAGE_CHANGE (0x03)
"Java Client" -> "Controller" : data (size: 2+n*3 byte;[brightness] [numbersOfLEDs] [red] [green] [blue] [red] [green] [blue] ...)
"Controller" -> "Java Client" : SUCCESSFULLY_TRANSMITTED_IMAGE (0x04)
@enduml

Connection

@startuml
"Java Client" -> "Controller" : REQUEST_FOR_CONNECTION (0x00)
"Controller" -> "Java Client" : ANSWER_CONNECTION (0x01)
@enduml

Check for connection loss

@startuml
"Java Client" -> "Controller" : CONNECTION_CHECK (0x05)
"Controller" -> "Java Client" : ANSWER_CONNECTION_CHECK (0x06)
@enduml

Check for Versioning

@startuml
"Java Client" -> "Controller" : REQUEST_VERSION = (0x07)
"Controller" -> "Java Client" : ANSWER_VERSION = (0x08)
"Controller" -> "Java Client" : VERSION
@enduml

Hardware

  1. WEMOS D1 Mini:
    WEMOS D1 Mini
  2. Micro USB cable:
    Micro USB cable
  3. Jumper cable 3 pcs:
    Jumper cable
  4. LED Strip WS2812b 10 LEDs:
    LED Strip

How are the LEDs connected on the WEMOS?

GND ----> Must be on GND
+5V ----> Must be on 5V
DIN ----> Is freely assignable (currently in the code at D7)

WEMOS LED connection

[WEMOS D1-mini](https://www.wemos.cc/en/latest/d1/d1_mini.html)

How are the LEDs connected on the M5?

GND ----> Must be on GND
+5V ----> Must be on 5V
DIN ----> Is freely assignable (currently in the code at G33)

M5 LED connection

[M5-Stack](https://www.bastelgarage.ch/m5stack-atom-matrix-esp32-development-kit)

The DIN connection can be set in the platformio.ini with the property -DPIXEL_PIN=xx to be changed.

You can install the Busylight e.g. on the monitor

LED Monitor

WEMOS Monitor


Update to MC with Visual Studio Code

  1. Start Visual Studio Code and open the Busylight Microcontroller folder.
    Open project
  2. First of all, you need to install PlatformIO IDE.
    Install PlatformIO
  3. After that you can click on the ant on the side and then you just have to press "Upload".
    Upload Firmware