Hallo,
ich habe ein kleines Problem, das meiner totalen Unwissenheit geschuldet ist.
Ich sende per UDP ein Wort an den Raspberry, dass dann von einem kleinen Python Skript angenommen wird und damit einen Befehl ausführen soll.
Was nicht funktioniert ist die if Bedingung, ich weiß echt nicht mehr, was ich noch ausprobieren soll.
Hier erstmal der Output, ich habe mir die Übergabe ausgeben lassen um festzustellen, dass überhaupt etwas ankommt:
pi@raspberrypi:~/musik $ ./audioscript.py
Message1: Klingel
Message1: Waschmaschine
Und hier das Skriptchen (ohne das ‚-‘).
-#!/usr/bin/python
import socket
import os
import subprocess
UDP_IP_ADDRESS = „192.168.2.75“
UDP_PORT_NO = 65000
Sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
Sock.bind((UDP_IP_ADDRESS, UDP_PORT_NO))
while True:
data, addr = Sock.recvfrom(1024)
print "Message1: ", data
if data == ‚Klingel‘ :
subprocess.Popen(‚mpg321 /home/pi/musik/sonar.mp3‘)
elif data == ‚Waschmaschine‘ :
subprocess.Popen(‚mpg321 /home/pi/musik/sonar2.mp3‘)
ich habe auch schon nur ein Print an die Stelle des subprocess.Popen gesetzt, es ist der IF-Vergleich, der nicht funktioniert.
Ich habs mit Zahlen, Doppelten Hochkomma, ohne Hochkomma versucht, Dem Skript mitgegeben, welchen Zeichensatz es nehmen soll, es alles mit upper() formatiert……
Was mache ich für einen Fehler?
Ich freue mich auf eure Antwort.
Grüße
Chris