FIX: Kameras vertauscht / unkalibriert nach neustart - Feste Zuweisung der Cams unter Linux
Verfasst: 15. Jan 2025 09:43
um die Kameras in Autodarts immer in der gleichen Reihenfolge zu verwenden (damit die Kalibrierung nicht verloren geht)
kann man so vorgehen:
Für Autodarts 0.26.x Man ordnet also z.b.:
USB-Buchse 1 fest der cam1 in Autodarts zu
USB-Buchse 2 fest der cam2 in Autodarts zu
USB-Buchse 3 fest der cam3 in Autodarts zu
Grund:
Weil der Rechner zufällig (..und zu oft..) mal die Kameras anders anordnet.
Die Zuordnung von "video0", "video2", und "video4" geschied also "zufällig".
Dadurch scheint es so, das die Kalibrierung verloren geht.
Lösungsmöglichkeit für Linux:
bash-Installationsversion:
Nachteil:
Browsen mit der Maus/Tastatur ..wie es einem gefällt..
zu /home/$User/.config/autodarts/ (bash Installations-Version)
oder /home/$User/.config/Autodarts Desktop/autodarts/ (Autodarts Desktop Version)
mit "F2" speichern (oder unten auf "2 Speichern" mit der Maus klicken)
Nach dem editieren und speichern:
Mal ein Beispiel, wie das dann aussehen könnte in der Konsole:
Befehl und Ausgabe:
dart@dart1:~$ ls -l /dev/v4l/by-path/
total 0
root root 12 Mär 11 16:50 pci-0000:00:15.0-usb-0:1.1.1:1.0-video-index0 -> ../../video2 <---das ist cam1 bei mir
root root 12 Mär 11 16:50 pci-0000:00:15.0-usb-0:1.1.1:1.0-video-index1 -> ../../video3
root root 12 Mär 11 16:50 pci-0000:00:15.0-usb-0:1.1.4:1.0-video-index0 -> ../../video4 <---das ist cam2 bei mir
root root 12 Mär 11 16:50 pci-0000:00:15.0-usb-0:1.1.4:1.0-video-index1 -> ../../video5
root root 12 Mär 11 16:50 pci-0000:00:15.0-usb-0:4:1.0-video-index0 -> ../../video0 <---das ist cam3 bei mir
root root 12 Mär 11 16:50 pci-0000:00:15.0-usb-0:4:1.0-video-index1 -> ../../video1
dart@dart1:~$
Also als Beispieleintrag in der config.toml für cam1 dann:
/dev/v4l/by-path/pci-0000:00:15.0-usb-0:1.1.1:1.0-video-index0
Vor der Arbeit (also das original), teil von config.toml:
Nach der Arbeit, teil von config.toml:
kann man so vorgehen:
Für Autodarts 0.26.x Man ordnet also z.b.:
USB-Buchse 1 fest der cam1 in Autodarts zu
USB-Buchse 2 fest der cam2 in Autodarts zu
USB-Buchse 3 fest der cam3 in Autodarts zu
Grund:
Weil der Rechner zufällig (..und zu oft..) mal die Kameras anders anordnet.
Die Zuordnung von "video0", "video2", und "video4" geschied also "zufällig".
Dadurch scheint es so, das die Kalibrierung verloren geht.
Lösungsmöglichkeit für Linux:
bash-Installationsversion:
- Feste Zuweisung in der /home/$User/.config/autodarts/config.toml
- Feste Zuweisung in der /home/$User/.config/Autodarts Desktop/autodarts/config.toml
Nachteil:
- Die "config.toml" kann kaputt gehen, dann muss man ALLES neu machen
(Board-ID, API-Key, Kalibrierung, etc... alles) - Keine Änderung der Kamerapositionen möglich im Boardmanager. Die Kameras müssen dann immer
an der gleichen USB-Buchse sein, sonst muss man wieder die "config.toml" händisch/manuell
mit einem Editor bearbeiten/manuell in einem Terminal/Konsole. - Im Boardmanager steht dann auch immer nur "select cam", als ob keine ausgewählt ist.
Es ist aber -- direkt -- also nicht mehr auswählen !! sonst wird die "config.toml" überschrieben, und ohne Sicherung,
wieder viel "Tipp-Arbeit" - Auflösung kann nicht mehr im Boardmanager geändert werden, nur in der config.toml direkt
- Zugang zu einem Teminal/Konsole am Autodarts-Rechner ( direkt, putty, gedit, etc.)
- Linux Kenntnisse, oder keine Angst, das man eventuell Autodarts neu installieren muss
- ein Editor unter Linux am Autodarts-Rechner ( mc, nano, gedit etc.)
- man sollte die config.toml sichern, wenn es nicht klappt ...
- Kameras müssen an den funktionierenden USB-Buchsen hängen
- man muss raus bekommen, wie der Rechner die Usb-Ports mit der Kamera intern bezeichnet
- Diese interne Bezeichnungen der drei Kameras, muss man dann in der "config.toml" Datei eintragen, speichern
und hoffen das der Rechner dann nicht explodiert - viel tippen, kopieren, Fotos machen, unsicher sein...etc...Mit Linux mit einer Desktop-Oberfläche aber mit z.B. gedit sehr schnell
- sudo systemctl stop autodarts - autodarts erstmal stoppen (bei der bash-Installationsversion)
- Autodarts Desktop schliessen - Autodarts Desktop erstmal stoppen (bei der AutodartsDesktop Version)
- ls -l /dev/v4l/by-path/ - interne Bezeichnung der benutzten Usb-Buchsen finden
- sudo apt install mc - Einen Editor der Wahl installieren hier als Beispiel "mc editor"
- mc - mc editor öffnen
Browsen mit der Maus/Tastatur ..wie es einem gefällt..
zu /home/$User/.config/autodarts/ (bash Installations-Version)
oder /home/$User/.config/Autodarts Desktop/autodarts/ (Autodarts Desktop Version)
- $User steht für euren, persönlich anlegten User
mit "F2" speichern (oder unten auf "2 Speichern" mit der Maus klicken)
Nach dem editieren und speichern:
- sudo systemctl start autodarts -autodarts wieder starten (bei der bash-Installationsversion)
- Autodarts Desktop Starten -autodarts wieder starten (bei der AutodartsDesktop Version)
Mal ein Beispiel, wie das dann aussehen könnte in der Konsole:
Befehl und Ausgabe:
dart@dart1:~$ ls -l /dev/v4l/by-path/
total 0
root root 12 Mär 11 16:50 pci-0000:00:15.0-usb-0:1.1.1:1.0-video-index0 -> ../../video2 <---das ist cam1 bei mir
root root 12 Mär 11 16:50 pci-0000:00:15.0-usb-0:1.1.1:1.0-video-index1 -> ../../video3
root root 12 Mär 11 16:50 pci-0000:00:15.0-usb-0:1.1.4:1.0-video-index0 -> ../../video4 <---das ist cam2 bei mir
root root 12 Mär 11 16:50 pci-0000:00:15.0-usb-0:1.1.4:1.0-video-index1 -> ../../video5
root root 12 Mär 11 16:50 pci-0000:00:15.0-usb-0:4:1.0-video-index0 -> ../../video0 <---das ist cam3 bei mir
root root 12 Mär 11 16:50 pci-0000:00:15.0-usb-0:4:1.0-video-index1 -> ../../video1
dart@dart1:~$
Also als Beispieleintrag in der config.toml für cam1 dann:
/dev/v4l/by-path/pci-0000:00:15.0-usb-0:1.1.1:1.0-video-index0
Vor der Arbeit (also das original), teil von config.toml:
Code: Alles auswählen
[cam]
cams = ['/dev/video2', '/dev/video4', '/dev/video0']
width = 1280
height = 720
fps = 25
Nach der Arbeit, teil von config.toml:
Code: Alles auswählen
[cam]
cams = ['/dev/v4l/by-path/pci-0000:00:15.0-usb-0:1.1.1:1.0-video-index0', '/dev/v4l/by-path/pci-0000:00:15.0-usb-0:1.1.4:1.0-videoindex0', '/dev/v4l/by-path/pci-0000:00:15.0-usb-0:4:1.0-video-index0']
width = 1280
height = 720
fps = 25