# lightpickrally

Dieses Projekt soll eine Kombination aus dem Open LED Race und einem Regalsystem mit Pick by Light werden.

Die LED-Streifen werden unterhalb unserer Regale geklebt und es wird ein Arduino Nano zur Ansteuerung der LEDs verwendet.

Der Arduino hört auf einer HTTP-Schnittstelle auf Anforderungen um einzelne LEDs aufleuchten zu lassen.

Sobald ein Knopf des LED-Races gedrückt wird, schält die Software in den Race Modus. Nach einem Ablauf von einer bestimmten Zeit wechselt die Software wieder in den Pick by Light Modus.

Die LEDs werden im Directus zu den Inventaren gepflegt und der HTTP Post Aufruf erfolgt über eine separate Web Anwendung.

Code für den Arduino Nano: [https://git.swablab.de/projects/lightpickrally](https://git.swablab.de/projects/lightpickrally)

### Display-Pi

- Installieren von Alpine aarch64
- usercfg.txt (neben config.txt) folgenden Inhalt:   
    `<span class="editor-theme-code">dtoverlay=vc4-kms-v3d</span>`  
    `<span class="editor-theme-code">dtoverlay=ads7846,penirq=25,speed=10000,xohms=150</span>`  
    `<span class="editor-theme-code">dtparam=spi=on</span>`
- Display per HDMI anschließen
- `<span class="editor-theme-code">setup-alpine</span>` durchlaufen und user `<span class="editor-theme-code">pi</span>` anlegen
- `<span class="editor-theme-code">ssh pi@dieter.diy</span>`
- [Autologin einrichten](https://wiki.alpinelinux.org/wiki/TTY_Autologin)
    - `<span class="editor-theme-code">doas nano /usr/sbin/autologin</span>` mit folgendem Inhalt:  
        `<span class="editor-theme-code">#!/bin/sh</span>`  
        `<span class="editor-theme-code">exec login -f pi</span>`
    - `<span class="editor-theme-code">doas chmod +x /usr/sbin/autologin</span>`
    - `<span class="editor-theme-code">doas nano /etc/inittab</span>` (ersetzen):  
        `<span class="editor-theme-code">tty1::respawn:/sbin/getty 38400 tty1 -n -l /usr/sbin/autologin</span>`
- - `<span class="editor-theme-code">nano .profile</span>` :  
        `<span class="editor-theme-code">if [ $(tty) = "/dev/tty1" ]; then</span>`  
        `<span class="editor-theme-code">  exec ./lightpickrally</span>`  
        `<span class="editor-theme-code">fi</span>`
- Lightpickrally installieren
    - `<span class="editor-theme-code">doas apk add mesa-dri-gallium mesa-egl</span>`
    - `<span class="editor-theme-code">GOARCH=arm64 go build -o dist/lightpickrally</span>`
    - `<span class="editor-theme-code">scp dist/lightpickrally pi@dieter.diy:</span>`
    - `<span class="editor-theme-code">doas nano /etc/mdev.conf</span>`  
        `<span class="editor-theme-code">## gpio</span>`  
        `<span class="editor-theme-code">gpio(.*) root:dialout 0660</span>`
    - `<span class="editor-theme-code">doas addgroup pi dialout</span>`
- Persistieren
    - `<span class="editor-theme-code">doas lbu add /home/pi /usr/sbin/autologin</span>`
    - `<span class="editor-theme-code">doas lbu ci</span>`