The_Punisher
27/11/2014, 10:53
Buenas zagales, estoy probando unas cosas con un server en python (ejecutandose en Raspbian) y no consigo reproducir un sonido cuándo alguien introduce un url en el navegador, igual me explico fatal, pero dejo el código a ver si me podeís echar una mano.
import BaseHTTPServer
import serial
import os
os.system("aplay police_s.wav")
try:
RaspberrySerial = serial.Serial('/dev/ttyACM0', 9600)
except:
RaspberrySerial = serial.Serial('/dev/ttyACM1', 9600)
class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler):
def do_GET(self):
if '/on' == self.path:
RaspberrySerial.write('1')
elif '/off' == self.path:
RaspberrySerial.write('0')
elif 'fabrica_on' == self.path:
RaspberrySerial.write('2')
elif 'fabrica_off' == self.path:
RaspberrySerial.write('3')
elif 'parque_despejado' == self.path:
RaspberrySerial.write('4')
RaspberrySerial.write('5')
elif 'parque_ocupado':
RaspberrySerial.write('6')
RaspberrySerial.write('7')
elif 'bocina' == self.path:
os.system("aplay police_s.wav")
self.send_response(200)
self.send_header("Content-type", "text/plain")
self.end_headers()
self.wfile.write(str(self.path))
if __name__ == '__main__':
HOST_NAME = '0.0.0.0'
PORT_NUMBER = 8088
server_class = BaseHTTPServer.HTTPServer
httpd = server_class((HOST_NAME, PORT_NUMBER), MyHandler)
print "Server Starts - %s:%s" % (HOST_NAME, PORT_NUMBER)
try:
httpd.serve_forever()
except KeyboardInterrupt:
pass
httpd.server_close()
print "Server Stops - %s:%s" % (HOST_NAME, PORT_NUMBER)
El montaje es una Raspberry conectada con un Arduino Mega y se conectan por serie, por ejemplo el /on /off funcionar perfectamente, y el /bocina llega al server pero no ejecuta el sonido.
La primera linea es para probar que ejecuta el sonido, y lo hace perfectamente.
¿Alguna idea de porque no tira? :(
import BaseHTTPServer
import serial
import os
os.system("aplay police_s.wav")
try:
RaspberrySerial = serial.Serial('/dev/ttyACM0', 9600)
except:
RaspberrySerial = serial.Serial('/dev/ttyACM1', 9600)
class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler):
def do_GET(self):
if '/on' == self.path:
RaspberrySerial.write('1')
elif '/off' == self.path:
RaspberrySerial.write('0')
elif 'fabrica_on' == self.path:
RaspberrySerial.write('2')
elif 'fabrica_off' == self.path:
RaspberrySerial.write('3')
elif 'parque_despejado' == self.path:
RaspberrySerial.write('4')
RaspberrySerial.write('5')
elif 'parque_ocupado':
RaspberrySerial.write('6')
RaspberrySerial.write('7')
elif 'bocina' == self.path:
os.system("aplay police_s.wav")
self.send_response(200)
self.send_header("Content-type", "text/plain")
self.end_headers()
self.wfile.write(str(self.path))
if __name__ == '__main__':
HOST_NAME = '0.0.0.0'
PORT_NUMBER = 8088
server_class = BaseHTTPServer.HTTPServer
httpd = server_class((HOST_NAME, PORT_NUMBER), MyHandler)
print "Server Starts - %s:%s" % (HOST_NAME, PORT_NUMBER)
try:
httpd.serve_forever()
except KeyboardInterrupt:
pass
httpd.server_close()
print "Server Stops - %s:%s" % (HOST_NAME, PORT_NUMBER)
El montaje es una Raspberry conectada con un Arduino Mega y se conectan por serie, por ejemplo el /on /off funcionar perfectamente, y el /bocina llega al server pero no ejecuta el sonido.
La primera linea es para probar que ejecuta el sonido, y lo hace perfectamente.
¿Alguna idea de porque no tira? :(