infrastructure:services:light
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
infrastructure:services:light [2023-09-21 22:47 UTC] – julian | infrastructure:services:light [2024-03-01 21:40 UTC] (current) – fix wiki syntax jtbx | ||
---|---|---|---|
Line 2: | Line 2: | ||
---- dataentry service ---- | ---- dataentry service ---- | ||
service-urls_urls: | service-urls_urls: | ||
- | other-service-fqdns: | + | other-service-fqdns: |
host-fqdn: | host-fqdn: | ||
netbox-link_url: | netbox-link_url: | ||
Line 10: | Line 10: | ||
---- | ---- | ||
- | Eine VM, welche ein Webinterface zur Steuerung der DMX-Lichter hostet. An dem ThinkCCCentre ist ein FTDI USB-to-Serial Converter angeschlossen und an die VM durchgereicht, | + | Eine VM, welche ein Webinterface zur Steuerung der DMX-Lichter hostet. An dem ThinkCCCentre ist ein FTDI USB-to-Serial Converter angeschlossen und an die VM durchgereicht, |
+ | |||
+ | Welche Lampen in den Räumen verbaut sind: Siehe [[club: | ||
===== Konfiguration ===== | ===== Konfiguration ===== | ||
- | TODO | + | |
+ | ==== Hypervisor-Configuration ==== | ||
+ | |||
+ | Da das DMX-Device bei uns in einer VM (mit dem Namen '' | ||
+ | Auf dem Hypervisor (Debian/ | ||
+ | < | ||
+ | root@red.bikeshed.hamburg.ccc.de: | ||
+ | blacklist ftdi_sio | ||
+ | </ | ||
+ | |||
+ | ==== VM-Configuration ==== | ||
+ | |||
+ | DMX-Device der VM mitgeben: | ||
+ | |||
+ | < | ||
+ | <hostdev mode=' | ||
+ | <source startupPolicy=' | ||
+ | <vendor id=' | ||
+ | <product id=' | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Man beachte das '' | ||
+ | Das ist ein USB-Device, dass könnten Leute entfernen und wir wollen trotzdem, dass die VM dann startet. | ||
+ | Genau aus dem Grund müssen wir auch noch mehr tun. | ||
+ | Obigen XML-Code in eine Datei tun, z.B. ''/ | ||
+ | Dann legen wir eine udev-Regeln an, dass beim anstöpseln das DMX-Device direkt an die VM durchgereicht wird: | ||
+ | |||
+ | < | ||
+ | # / | ||
+ | ACTION==" | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | ACTION==" | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | Lustig, nech? Bitte bitte Bescheid sagen, falls ich da 'ne Funktion in '' | ||
+ | |||
+ | ==== Treiber-Configuration ==== | ||
+ | |||
+ | So, endlich haben wir das DMX-Device in die VM durchgereicht. | ||
+ | Wir erinnern uns, USB-Vendor 0x0403 und Device-ID 0x6001. | ||
+ | Jetzt wollen wir es auch schön ansteuern. | ||
+ | Dazu muss man dem FTDI beibringen, auch ordentliches DMX rauszupipen, | ||
+ | Das DMX spricht jetzt der Demon der Open Lighting Architecture (olad). | ||
+ | Der ist konfiguriert, | ||
+ | Das geht also wieder übers Netz, yay! Außerdem muss man darauf achten, dass '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | ==== Business Logic ==== | ||
+ | |||
+ | Jetzt wird's lustig. Unser Software-Aufbau: | ||
+ | |||
+ | < | ||
+ | device | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | Der '' | ||
+ | Zu finden ist er unter [[https:// | ||
+ | |||
+ | < | ||
+ | licht@licht.z9 $ git clone https:// | ||
+ | </ | ||
+ | |||
+ | Hat als Abhängigkeit nur ruby. | ||
+ | |||
+ | Der '' | ||
+ | |||
+ | Das letzte ist ein Tool ohne großen Namen, heißt '' | ||
+ | |||
+ | Die Dinge brauchen noch Systemd-Units, | ||
+ | |||
+ | < | ||
+ | # / | ||
+ | [Unit] | ||
+ | Description=foobardmx lightig web control | ||
+ | After=dmx-repeater.service | ||
+ | |||
+ | [Service] | ||
+ | Type=simple | ||
+ | WorkingDirectory=/ | ||
+ | ExecStartPre=/ | ||
+ | ExecStart=/ | ||
+ | User=licht | ||
+ | Group=licht | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | # / | ||
+ | [Unit] | ||
+ | Description=dmx-repeater | ||
+ | |||
+ | [Service] | ||
+ | Type=simple | ||
+ | WorkingDirectory=/ | ||
+ | ExecStart=/ | ||
+ | User=licht | ||
+ | Group=licht | ||
+ | Restart=always | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | # / | ||
+ | [Unit] | ||
+ | Description=slowly chaning colors | ||
+ | |||
+ | [Service] | ||
+ | Type=simple | ||
+ | WorkingDirectory=/ | ||
+ | ExecStart=/ | ||
+ | User=licht | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | # visudo | ||
+ | licht | ||
+ | licht | ||
+ | </ | ||
+ | |||
+ | Services anmachen | ||
+ | |||
+ | < | ||
+ | # systemctl enable dmx-repeater | ||
+ | # systemctl enable foobardmx | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Debugging ===== | ||
+ | |||
+ | Das Licht schaltet beim aufschließen des Raumes standardmäßig alle Lampen auf weiß und beim zuschließen aus. | ||
+ | |||
+ | * Falls irgendwas nicht geht, folgendes tun: | ||
+ | |||
+ | < | ||
+ | $ ssh root@licht.z9 # Passwort muss geraten werden | ||
+ | |||
+ | root@lifesupport# | ||
+ | |||
+ | Bus 00X Device 003: ID 0403:6001 Future Technology Devices International, | ||
+ | </ | ||
+ | |||
+ | * Ist das Device im Output? '' | ||
+ | * Falls nicht: Den großen blauen Kasten im Schrank kurz vom USB trennen und wieder dran stecken. | ||
+ | * Wenn's dann immer noch nicht da ist: verzweifeln. | ||
+ | * Ist der ftdio_sio-Treiber geladen? \\ ''# | ||
+ | * Ist der '' | ||
+ | * Dann: Services neustarten: | ||
+ | < | ||
+ | # systemctl restart dmx-repeater | ||
+ | # systemctl restart foobardmx | ||
+ | </ | ||
+ | * Anschließend im Frontend nochmal auf " | ||
+ | * Wenn's dann immer noch nicht geht: verzweifeln und die VM neustarten. \\ ''# |
infrastructure/services/light.1695336468.txt.gz · Last modified: 2023-09-21 22:47 UTC by julian