Raspberrypi.led-md

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen

Ziel

  • In einem Server-Gehäuse (NAS mit vielen Festplatten) werden 10 RGB LED plaziert
  • Sie werden so plaziert dass klar wird welche LED für welche Festplatte zuständig ist
  • Hintergund: Im Service-Fall muss man wissen WELCHE Festplatte zu tauschen ist, das soll optisch angezeigt werden (FAIL-Farbe)
  • Die Steuerung der LEDs erfolgt durch einen Raspberry Pi (Zero oder normaler)
  • Der Raspberry Pi ist durch Dauer 5v+ des ATX-Netzteils dauerversorgt
  • ev. auch durch eine 5 V USB Schnittstelle, das ist noch fraglich
  • Auf dem Server ist ein RAID 6 Array in Betrieb mit 4 bis 10 Platten
  • Die LED spiegeln die Festplatten-Aktivität des RAID Verbundes wieder

Server Software

  • der Server betreibt ein OpenSuse 15.1
  • Ein kleines Programm auf dem Server gibt die Festplattenaktivität und md-Status an den Rasp weiter (über UART)
  • "So" ähnlich könnte es aussehen:

Server Gehäuse

Raspi Software

  • Der Rasp empfängt über UART einen Datenstrom mit Festplatteninfo
  • Dies setzt er in die Steuersignale für die bunten LED um
  • kommt es zum Abbruch der Datenverbindung wird dieser "Status" auch angezeigt

UART Hardware

UART Setup

Server

  • USB Stecker wird automatisch erkannt
  • Unter /dev gibt es dann plotzlich einen neuen Device
minicom -b 115200 -D /dev/ttyUSB0 -o

Raspi

UART Programmierung

Server

Raspi

https://www.electronicwings.com/raspberry-pi/raspberry-pi-uart-communication-using-python-and-c

Aufgaben

https://tutorials-raspberrypi.de/programmieren-lernen-am-raspberry-pi-teil-3-gui-erstellen/

  • schreibe ein Python Programm das 10 LEDs symbolisiert
  • In ein Eingabefeld kann man einen Wert eingeben, je nach Wert werden dann die LEDs entsprechend eingefärbt
  • mit einem "Start" Button wird ein Datei gelesen und interprätiert, dabei sind 10 Bytes immer für 250 ms gültig

Meilensteine

10.03.2020

  • Gehäuse beschafft, HDD Tray bestückt