User Tag List

Resultados 1 al 2 de 2

Tema: Reproducir sonido en petición HTTP

  1. #1
    Car Park Chaos Champion!
    Fecha de ingreso
    Jan 2006
    Mensajes
    7,311
    Mencionado
    18 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    111
    Agradecer Thanks Received 
    63
    Thanked in
    Agradecido 42 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    55

    Reproducir sonido en petición HTTP

    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.

    Código:
    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?

  2. #2

    Fecha de ingreso
    Jun 2006
    Mensajes
    4,558
    Mencionado
    41 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,259
    Agradecer Thanks Received 
    698
    Thanked in
    Agradecido 425 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    6
    Igual lo que voy a decir es una solemne gilipollez pero, por si acaso, ahí va. Si este lenguaje es ligeramente parecido a cuando yo hacía servlets en el ciclo formativo, veo que solamente estás sobreescribiendo el método do_GET, ¿No podría ser que la petición se estuviera haciendo por POST o cualquier otro método en lugar del GET y por lo tanto no ejecutase nada?

    Si no, otra cosa que se me ocurre es que por agún motivo que se me escapa, la condición de ese if '/on' == self.path: no se cumpla y por lo tanto no entre en él.
    _
    .▲ ALABADO SEA EL TRI-FORCEPS!

    Nunca me he considerado de clase media. Soy más bien de clase calcetín roñoso.

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •