Hallo liebe Gemeinde,
erstmal: Ich bin ein Programmieranfänger. Hab zwar in der Uni zwei C-Kurse gehabt aber das war alles immer sehr "Standard" gehalten. Nun versuche ich auf meinem Raspberry einen Pythoncode laufen zu lassen der aus mehreren Tastern, LED's bestehen soll und im Raspi dann einezelne Programme aufrufen bzw wieder schließen soll.
Hier ist mein derzeitiger Codeschnipsel:
[code=php]
import RPi.GPIO as GPIO
import time
import subprocess
import webbrowser
import os
GPIO.setmode(GPIO.BCM)
GPIO.setup(14, GPIO.IN, pull_up_down = GPIO.PUD_UP)
GPIO.setup(15, GPIO.IN, pull_up_down = GPIO.PUD_UP)
GPIO.setup(18, GPIO.IN, pull_up_down = GPIO.PUD_UP)
while True:
time.sleep(0.1)
input_state14 = GPIO.input(14)
input_state15 = GPIO.input(15)
input_state18 = GPIO.input(18)
if input_state14 == False:
print ('Button 1 pressed')
subprocess.call(["midori", "-e"])
if input_state15 == False:
print ('Button 2 pressed')
webbrowser.open("http://192.168.178.41%22,1)
if input_state18 == False:
print ('Button 3 pressed')
os.system('omxplayer A.mp3 &')
time.sleep(0.2)
[/php]
Nun funktionieren alle 3 Taster wunderbar und dank dem time.sleep stirbt mein Raspi auch noch keinen CPU Tot...
Nun hab ich zwei Probleme:
1) Bei Button 1 öffnet sich zwar der Browser aber wenn ich das Programm mit Strg-C beende dann schließt sich dieser auch wieder. Das hätte ich gerne nicht, da falls ich mal nen Fehler bekomme oder etwas schief läuft, das Programm nicht ohne zu speichern abgewürgt werden soll (würde es das tun, wäre es ok).
2) Bei button 2 habe ich genau das Problem 1 nicht aber dafür schaff ich es einfach nicht den browser quasi als Splittscreen zu nutzen. Ich hätte gerne das eine Programm beim starten standardmäßig auf der linken Bildschirmhälfte und das andere Programm auf der rechten. Also quasi wie bei Windows wenn man das Fenster nach rechts oder links rauszieht - nur sollte das schon so öffnen.
Für Tipps und andere Hinweise wäre ich sehr dankbar.
Gruß, Max