Hallo ihr lieben,
ich habe eins zwei Hürden bei meinem Projekt zu nehmen.
Projekt:
Mit mehreren Relais lassen sich verschiede Lautsprecher-Zonen ansteuern (z.B. Theater, Bar, Pool, Gym, Aussenbereich....)
Dieses Funktioniert auch sehr gut mit unserem Durchsagesystem für Live-Durchsagen.
Nun möchte ich aber gewisse Sounds, Lieder, aufgenommene Durchsagen in den Bereichen spielen.
Meine Idee: Ein Pi ist an der Lautsprecheranlage angeschlossen, spielt über Klinke die Signale und schaltet mit GPIO die Relais damit die Lautsprecheranlage weiß, das was der PI jetzt spielt soll im z.B. Theater laufen.
An der Rezeption und in meinem Technikerraum soll ein weitere PI stehen mit einem Touchscreen wo ich dann z.B. einfach auf "Durchsage Theater öffnet" drücke. Dann soll der PI an der Lautsprecheranlage z.B. GPIO 5,7,9 & 18 ansteuern, die *.wav Datei abspielen und danach die GPIOs wieder ausschalten.
Ich habe auf dem PI an der LS-Anlage den OMXPLAYER-PI installiert und kann auch über SSH die Sounds abspielen oder eine BASH ausführen. Ich würde halt gerne die BASH so schreiben, das die GPIOs gesteuert werden, dann die OMSPLAYER auspielt und danach die GPIOs zurück gesetzt werden.
Probleme macht mir der PI mit dem Touchscreen. Hier wollte ich mit Phyton was schreiben, was mir die GUI und Buttons anzeigt (soweit bin ich noch nicht) und dann über "paramiko" eine SSH-Verbindung aufbaut und die dem endsprechende BASH an dem PI der Lautsprecheranlage ausführt.
Die Paramiko Verbindung steht auch. exec_command wie "sudo reboot" führt er aus aber wenn ich z.B. die BASH starten möchte oder einfach den OMXPLAYER (omxplayer-pi /home/pi/Music/xxx.wav) wird dieses nicht aufgeführt. Per Putty und Konsole läuft es aber.
import paramiko
import time
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('192.168.76.59', port=22, username='pi', password='meinpasswort')
time.sleep(5)
print('connected')
stdin, stdout, stderr = ssh.exec_command("bash /home/pi/2klang.sh")
als exec_command geht "sudo reboot". den führt er aus aber halt sachen wie "omxplayer-pi /home/pi/Music/blablabla.wav" oder "bash /home/pi/2klang.sh" nicht.
Kann mir jemand sagen wo mein Fehler ist?
Danke im Vorraus