Televigilancia con un coche RC, arduino y la raspberry pi

¿Quién no ha tenido alguna vez la necesidad de poder ver nuestra casa desde otro lugar (oficina, hotel, otra casa, etc), o poder hacer inspección de tuberías, respiraderos o sitios inaccesibles? La idea que planteo en este artículo es la de un coche teledirigido al que podemos manejar remotamente mediante wifi y que veamos por donde va.

vigilancia

Principalmente está compuesto de un coche RC, una placa arduino duemilanove (o UNO) con una motorshield y una raspbery pi modelo B con dos USB (un WIFI y una webcam) y el sistema operativo Raspbian.

El funcionamiento es sencillo: Por un lado con un programa en python que se ejecuta en la raspberry pi hacemos un servidor que reciba los comandos por tcp/ip, estos son enviados mediante el puerto serie de la raspberry pi al puerto serie del arduino, que será el encargado de manejar la motorshield para mover el conjunto. Por otro lado en la propia Raspberry Pi hacemos streaming de vídeo para que podamos ver a través de su webcam remotamente.

Todo está alimentado con una batería Lipo 7,4 V. (2S)  de 1000 mAh. Por un lado está conectado directamente a arduino y por otro a un regulador UBEC para alimentar a la raspberry pi a través de los pines GPIO de 5v y GND.

La comunicación entre la rasbperry Pi y arduino se hace simplemente con un cable, ya que no es necesario ninguna protección al ser el pin TX de la raspberry pi el que se conecta al pin RX de arduino, y por tanto no hay riesgo con los voltajes diferentes (siempre y cuando no reprogrames arduino, si es así desconecta el cable de RX hasta haber terminado).

arduino_raspberry

El programa de Arduino es bastante simple, sólo comprueba si existe un byte en el puerto serie y si lo hay lo interpreta para saber qué movimiento hay que hacer con los motores. Se parte del byte 0x30 (0 en ASCII) y se comprueban sus bits:

  • Si el bit 0 está activado el coche va hacia delante.
  • Si el bit 1 está activado el coche va hacia atrás.
  • Si los bits anteriores están desactivados entonces el coche no se mueve.
  • Si el bit 2 está activado gira las ruedas a la izquierda.
  • Si el bit 3 está activado gira las ruedas a la derecha.
  • Si los bits anteriores están desactivados entonces la dirección el coche permanece recta.

En el lado de la Raspberry Pi hay que instalar primero varias cosas:

Editado 17/04/2014: Desactivar la consola serie que viene por defecto activada:
En el fichero /etc/inittab poner una almohadilla (#) al principio en la línea:
T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
En el fichero /boot/cmdline.txt sustituir la línea:
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
por
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
Finalmente hay que reiniciar la Raspberry Pi para que coja los cambios.

Después hay que dar permisos de lectura y escritura al puerto serie:

A continuación creamos un fichero llamado servidor.py:

Este programa python se encarga de crear un socket tcp/ip que escucha por el puerto 1976 , cuando alguien se conecta a este puerto entonces permanece a la espera de recibir los bytes que posteriormente enviará a Arduino a través del puerto serie.

Finalmente crearemos un fichero llamado webcam.sh con el siguiente contenido (cambiar 192.168.1.133 por la ip que tenga vuestra raspberry pi):

Este programa shell arrancará un servidor de streaming con GStreamer. De momento GStreamer es el software que conozco que funciona más rápido enviando imágenes con un retardo de 2 segundos, ffmpeg tenía un retardo de hasta ¡¡¡ 10 segundos !!!. La idea la cogí de aquí.

Ahora que ya tenemos lo necesario en nuestra parte del coche, necesitamos configurar el router para redirigir los puertos 22, 1976 y 5000 hacía la ip que tenga la Raspberry Pi.

Desde el ordenador remoto necesitaremos tener el programa VLC para el recibir el streaming, un cliente de ssh  (en windows el mejor es el putty) y Processing para enviar los comandos.

Los pasos para hacer que nuestro sistema de televigilancia son los siguientes:

Conectar mediante ssh a la raspberry pi y ejecutar el comando:

Abrir otra sesión de ssh y ejecutar el comando:

Arrancar VLC y abrir una ubicación de red poniendo la siguiente línea, con esto podremos ver lo que hay frente a la webcam (cambiar 192.168.1.133 por la ip que tenga vuestra raspberry pi):

Arrancar el Processing con el siguiente programa y ejecutarlo (cambiar 192.168.1.133 por la ip que tenga vuestra raspberry pi):

Si todo ha ido bien, ponemos la ventana de processing que nos ha abierto como activa cuando hemos lanzado el programa y pulsamos los botones de los cursores del teclado, momento en el cual veremos a través de la webcam (o en local si lo tenemos enfrente) cómo nos desplazamos.

Y finalmente un vídeo de cómo funciona:

160 pensamientos en “Televigilancia con un coche RC, arduino y la raspberry pi

  1. Fernando

    Si, yo abro mediante el putty la sesion sh webcam.sh despues la otra sesion python servidor.py
    Luego arranco el VLC y se ve la imagen
    Pero cuando abro el Processing me salta el cuadro gris, pero cuando doy no funciona nada.

    Responder
  2. Fernando

    Creo que el problema esta cuando ejecuto mediante putty la sesion de python servidor.py me pone esto:

    Traceback (most recent call last):
    File “servidor.py”, line 4, in
    ser=serial.Serial(‘/dev/ttyAMA0’),115200)
    File “/usr/lib7python2.7/dist-packages/serial/serialutil.py”,line 260, in_init__
    self.open()
    File “/usr/lib7python2.7/dist-packages/serial/serialposix.py”,line 276, in open
    raise SerialException(“could not open port %s:%s” % (self._port, msg))
    serial.serialutil.SerialException:could not open port /dev/ttyAMA0: [Errno 13] permission denied: ‘/dev/ttyAMA0’

    Al final me dice que no puedo abrir el puerto pero no lo entiendo
    Gracias

    Responder
  3. Fernando

    Si lo ejecuto pero no me sale nada. Es decir meto el chmod y directamente me salta otra linea. Como si no se ejecutara nada.
    Cuando ejecuto el chmod, lo hago sin ninguna conexion con el arduino. Solamente tengo la raspberry conectada mediante wifi e instalo anteriormente los dos comandos, luego el chmod y los dos programas(servidor.py y webcam.sh)
    Una vez que he instalado todo eso, paso a hacer todas las conexiones con el arduino y me conecto mediante putty.
    Tengo que tenerlo conectado con el arduino cuando meta los comandos y el chmod?

    Responder
    1. admin Autor

      No, en principio no hace falta tenerlo conectado. El error que te da es que no tienes permisos para usar el puerto serie de la raspberry pi. ¿Puedes ejecutar un ls -la /dev/ttyAMA0 y ponerme lo que te sale?

      Responder
  4. Fernando

    Ya he solucionado ese problema, con el putty he puesto el chmod y despues he ejecutado el comando python servidor.py
    Y me salta espera una conexion
    Despues meto el Processing y me pone conectado mas la ip de mi ordenador

    Pero le doy por ejemplo a la tecla de hacia delante y al rato empieza a andar hacia delante pero sin parar

    Responder
  5. Fernando

    A la hora de ejecutar un ls -la /dev/ttyAMA0
    Me aparece esto:
    crw-rw—- 1 root tty 204, 64 Apr 16 15:17 /dev/ttyAMA0

    Responder
    1. admin Autor

      Algo raro pasa, tendría que salirte crw-rw-rw– No se están dando los permisos de lectura y escritura a otros. ¿el chmod lo estas ejecutando con el sudo delante?

      Responder
  6. Fernando

    Ahora mismo el problema que tengo es: que cuando ejecuto python servidor.py me sale “se espera una conexion”
    Luego arranco el Processing con la ip de mi raspberry y en el putty me pone “conectado” y la ip de la raspberry
    Pero cuando le doy al teclado de mi ordenador no se mueve el coche

    Responder
  7. Fernando

    A ver yo ejecuto el Processing y me salta el cuadro gris, pero le doy para que se mueva y nada.
    Lo que me sucede es que si desengancho el cable de conexion entre arduino y raspberry(el pin TX de la raspberry pi el que se conecta al pin RX de arduino)
    Pues el coche empieza a moverse y nose porque

    Responder
    1. admin Autor

      Bien, como es distinto al que yo tengo, en el programa de Arduino debes cambiar las 4 primeras lineas por estas:

      int dirA = 12; // sentido
      int dirB = 13; // direccion
      int speedA = 3; // velocidad del motor
      int speedB = 11; // parada o encendido de la dirección

      Prueba ahora a elegir la ventana de processing con el ratón y a continuación pulsar las teclas de dirección (arriba, abajo, izquierda y derecha)

      Responder
  8. Fernando

    Si, el codigo que tenia en el arduino es el mismo, solamente habia cambiado el 10 por 3 porque en el ardumoto era diferente.

    Te voy a decir los pasos por si me estoy confundiendo en algo. Una vez que tengo metido el programa en el arduino, meto los tres comandos y los dos programas de raspberry(servidor.py y webcam.sh). Hago todas las conexiones. Ejecuto con el putty el fichero sh webcam.sh hasta aqui todo correcto

    Luego ejecuto python servidor.py y me salta:
    Traceback(most recent call last):
    File “servidor.py”, line 4, in
    ser=serial.Serial(‘/dev/ttyAMA0’,115200)
    File “/usr/lib/python2.7/dist-packages/serial/serialutil.py”, line 260, in__init__
    self.opne()
    File “/usr/lib/python2.7/dist-packages/serial/serialposix.py”, line 276, in open
    raise SerialException(“could not open port %s:%s” % (self._port, msg))
    serial.serialutil.SerialException:could not open port /dev/ttyAMA0: [Errno 13] permission denied: ‘/dev/ttyAMA0’

    Entonces lo que hago es poner sudo chmod a+rw /dev/ttyAMA0 y despues otra vez python servidor.py y me sale se espera una conexion

    Luego me conecto al VLC y me sale la imagen de la webcam sin problemas

    Por ultimo me voy al Processing y lo ejecuto, me salta la ventana gris y a la vez en el putty me sale como conectado y la ip de mi ordenador, luego pincho la ventana gris y le doy a las teclas pero el coche no se mueve.

    Responder
    1. admin Autor

      Pon al final del fichero servidor.py un print data (al mismo nivel de identación que ser.write) y haz lo mismo, ¿te salen números en el putty después de “conectado” cada vez que pulsas una tecla?

      Responder
  9. Fernando

    He cambiado el codigo pero al ejecutarlo me pone esto:
    File “servidor.py”, line 23
    print data
    ^
    Indentation Error: expected an indented block

    Responder
  10. Fernando

    Vale si ya me salen numeros:
    Cuando dejo pulsado la tecla de arriba me sale 1 cuando la suelto me sale un 0
    Cuando dejo pulsado la tecla de abajo me sale 2 cuando la suelto me sale un 0
    Cuando dejo pulsado la tecla izquierda me sale 4 cuando la suelto me sale un 0
    Cuando dejo pulsado la tecla derecha me sale un 8 cuando la suelto me sale un 0

    Responder
    1. admin Autor

      Muy bien. Eso confirma que la raspberry pi recibe los carácteres que le envía el processing desde tu ordenador. Ahora vamos a ver que tengo alguna sospecha de la distribución de linux. Ejecuta estos comandos en la consola una sola vez:

      sudo wget https://raw.github.com/lurch/rpi-serial-console/master/rpi-serial-console -O /usr/bin/rpi-serial-console
      sudo chmod +x /usr/bin/rpi-serial-console
      sudo rpi-serial-console disable

      Reinicia la raspberry Pi Y prueba de nuevo el programa.

      Responder
  11. Fernando

    Ya he metido los comandos, cuando ejecuto el ultimo me pone Serial console has been disabled, a reboot is required to make this take effect

    Si estoy con el Putty como hago para reiniciar? Directamente cierro esta sesion y abro otra?

    Responder
  12. Fernando

    Lo unico que veo, es que cuando desconecto el cable entre el arduino y la raspberry el coche empieza a moverse sin ningun sentido.
    Donde puedo tener el fallo?

    Responder
    1. admin Autor

      Vamos a hacer otra prueba, sube esto al arduino y mira si el coche se mueve hacia delante cada 5 segundos durante medio segundo:

      int dirA = 12; // sentido
      int dirB = 13; // direccion
      int speedA = 3; // velocidad del motor
      int speedB = 11; // parada o encendido de la dirección
      int velocidad = 150; // PWM del motor de tracción

      // El robot va hacia atrás
      void atras()
      {
      digitalWrite (dirA, HIGH);
      }

      // El robot va hacia alante
      void alante()
      {
      digitalWrite (dirA, LOW);
      }

      // El robot tuerce a la izquierda
      void izquierda()
      {
      digitalWrite (dirB, LOW);
      }

      // El robot tuerce a la derecha
      void derecha()
      {
      digitalWrite (dirB, HIGH);
      }

      void setup()
      {

      // Configuración de los pines de la motorshield
      pinMode (dirA, OUTPUT);
      pinMode (dirB, OUTPUT);
      pinMode (speedA, OUTPUT);
      pinMode (speedB, OUTPUT);

      digitalWrite(speedA, LOW);
      digitalWrite(speedB, LOW);
      }

      void loop()
      {
      analogWrite(speedA, velocidad);
      alante();
      delay(500);
      digitalWrite(speedA, LOW);
      delay(5000);
      }

      Responder
  13. Fernando

    Exacto se mueve medio segundo, no hace nada en 5 segundos y vuelve moverse medio segundo y asi todo el rato. Todo correcto

    Creo que el fallo puede estar en la comunicacion entre el arduino y la raspberry. Las conexiones las he mirado y estan bien. Pero yo pienso que puede ser algo con la configuracion de las comunicaciones que a lo mejor para el ardumoto es diferente, pero no lo se

    Responder
    1. admin Autor

      Todo funciona excepto la comunicación por el puerto serie. ¿Tienes normalmente conectado el cable usb del ordenador a Arduino? si es así quitalo y prueba de nuevo.

      Responder
  14. Fernando

    Una vez que meto el programa en el arduino desconecto el cable. Como puedo comprobar si esa comunicacion por el puerto serie funciona bien.

    Voy a volver a instalar todo de nuevo, voy a formatear la sd de la raspberry e instalo todo de nuevo
    Pero para el arduino con instalar de nuevo el programa es suficiente no? O se queda algo guardado en otro lado? Para limpiar el arduino?

    Responder
    1. admin Autor

      Si, si lo subes al Arduino es como empezar de 0. Ahora no tengo tiempo, pero antes quiero probar contigo un par de ejemplos más. Mañana te los comento.

      Responder
    2. admin Autor

      Una pregunta, ¿la raspberry pi tiene una alimentación distinta a la del arduino? Cuando me refiero a distinta es a que la raspberry pi tiene el ubec con una batería y el arduino tiene otra batería distinta.

      Responder
  15. Fernando

    No no yo alimento el arduino con la bateria de 7,4V y a esta misma conecto el UBEC que luego va a la raspberry.

    Te voy a decir los pasos que hago por si lo estoy haciendo mal pero creo que no. Primero meto el programa al arduino, despues me conecto a una tele con la raspberry y activo el wifi usb. Luego desde la terminal de raspberry mediante la television con un teclado y raton y conectado al wifi meto los tres comandos indicados.

    Despues paso a crear los dos ficheros, se crean con el comando nano no? Es decir nano servidor.py y luego nano webcam.sh
    Se hace asi desde la terminal no?

    Una vez hecho eso conecto la pila al arduino y tambien a la raspberry, conecto el cable entre arduino y rasperry y conecto la webcam.

    Despues ejecuto el putty y meto los comandos siguientes paso a paso. Y nada el coche sigue sin funcionar

    Responder
    1. admin Autor

      Si, es correcto. Aunque los apt-get sólo los tienes que ejecutar una vez. Prueba una cosa, pon un cable desde el pin GND del arduino hasta el pin 14 de la Raspberry:

      gpio

      Responder
  16. Pingback: SISTEMAS O.R.P » Blog Archive » Retransmisión en tiempo real con la cámara de la Raspberry Pi

  17. Fernando

    En la actualizacion que has hecho es necesario modificar los dos ficheros? Es que me pone permiso denegado y no me deja hacerlo

    Ya he conectado el cable que me has dicho, pero nada sigue sin funcionar. El arduino tiene tres pines de tierra da igual a cual lo conecte no?

    Creo que el problema sigue siendo que la raspberry no se comunica como es debido con arduino porqe cuando desconecto el cable entre arduino y raspberry y con la pila puesta y el ubec conectado empieza a moverse sin sentido el coche

    Responder
    1. admin Autor

      Si, es necesario, tienes que hacerlo con sudo nano.

      Da igual, cualquier pin de tierra te vale, prueba a desactivar la consola serie como he puesto en la última edición y prueba de nuevo.

      Lo que comentas es raro, ya que sólo se debería mover si recibe los bytes correctos, es decir 0x31, 0x32, 0x34 o 0x38. Vamos a hacer otra prueba, instala el screen en la Raspberry Pi con sudo apt-get install screen y luego en vez de ejecutar el python servidor.py ejecuta sudo screen /dev/ttyAMA0 115200 y escribe en la misma pantalla del putty los números 1, 2, 4 y 8 a ver si se mueve el coche.

      Si no funciona me empiezo a temer que el puerto serie de tu Raspberry Pi o el Arduino estén defectuosos.

      Responder
  18. Fernando

    El cable que tengo conectado de arduino a raspberry, esta soldado con estaño a la patilla de la raspberry. Eso no creo que influya no?

    Ya tengo conectado el cable de tierra. he instalado el screen, pero al ejecutar sudo screen /dev/ttyAMA0 115200 le doy a los numeros, pero en la pantalla del putty no sale nada, ni tampoco se mueve.

    Responder
    1. admin Autor

      No, no tiene por qué influir.

      Los carácteres no salen porque no está puesto el eco (se envían al arduino pero no se muestran de vuelta).

      ¿Puedes hacerme una foto de cómo quedan los cables, subirla a http://postimg.org/ y poner aquí el enlace?

      Responder
  19. Fernando

    No aqui no, pero mañana lo podria medir.
    No habria ninguna forma de que me lo pudieras revisar en persona? Me seria de gran ayuda, lo necesito para un proyecto. Gracias

    Responder
    1. admin Autor

      Vamos a hacer otra prueba, aunque tendrás que prescindir de la webcam. Conecta un cable usb desde el arduino a la Raspberry Pi (quita los cables del RX y GND del Arduino). Cambia en el fichero servidor.py la línea ser=serial.Serial('/dev/ttyAMA0', 115200) por ser=serial.Serial('/dev/ttyUSB0', 115200) y prueba de nuevo a ver si funciona.

      Responder
  20. Fernando

    Me han dejado un polimetro, en la raspberry mide 4,97V y he medido en el arduino y mide lo mismo. la conexion que tengo hecha es correcta.
    He medido la tension que le llega a la raspberry mediante el UBEC y es de 5,13V

    Responder
    1. admin Autor

      4,97 me parece que es exagerado, tiene que ser 3,3 como mucho, ca da vez más me da la sensación de que o la UART del Arduino o de la Raspberry Pi están estropeadas.

      Responder
  21. Fernando

    Me podrias decir alguna motor shield que funcione con tu programa para comprarla, porque lo unico diferente a tu proyecto es eso.
    Por eso me podrias aconsejar alguna y que tarden poco en enviarmelo. Gracias

    Responder
  22. Fernando

    Te digo de decirme otra motor shield, porque ayer sin querer junte dos cables y salto un chispazo y he quemado el arduino, no me funciona.
    Por lo que tengo que comprar hasta que no me lo traigan no puedo hcer mas pruebas.
    Por eso si me dices una motor shield, la pido con el arduino.
    La ultima prueba que me dices seria seguir los mismos pasos del proyecto y cambiar unicamente esa linea en el fichero servidor.py no?

    Responder
    1. admin Autor

      Esa motorshield que tienes es buena.

      La última prueba es cambiar sólo la línea del fichero servidor.py si, pero también prescindir de los cables que van a del arduino a las raspberry pi y poner un cable usb desde el arduino hasta la raspberry pi.

      Responder
  23. Fernando

    En cuanto tenga el arduino voy a seguir estos pasos, dime si es correcto lo que hago.
    Primero meto el programa al arduino, Despues a parte me conecto con la raspberry solamente a un televisor y en el menu que te sale al principio solo le doy a expandir y cambio el teclado al español, luego conecto el wifi.
    Despues voy a conectar la pila al arduino, el UBEC a la raspberry y conecto el cable de arduino al usb que me sobra en la raspberry.
    Luego me conecto mediante el putty, instalo los dos primeros comandos, luego edito esos dos ficheros, instalo el siguiente comando que seria asi sudo chmod a+rw /dev/ttyUSB0.
    Despues creo el fichero servidor.py mediante el comando nano servidor.py y cambio esto /dev/ttyAMA0 por /dev/ttyUSB0
    Luego creo el fichero webcam.sh mediante el comando nano webcam.sh

    Despues llamo ejecuto sh webcam.sh
    Luego la funcion python servidor.py
    Luego enciendo el VLC
    y por ultiimo abro el processing y ejecuto el programa tal cual

    Se que el fichero webcam.sh y ejecutar su funcion no hace falta porque no tengo webcam conectada, pero si le pongo un adaptador a la raspberry para que pueda conectar 3 usb seria posible?

    Responder
  24. Pingback: “Es importante y necesario que se enseñe robótica en los colegios” | Educación abierta

  25. Javier

    Buenas:
    Estamos terminando ya el proyecto, pero no sabemos muy bien como conectar las Lipo en serie. Nos han comentado que no es tan facil como ponerlas en serie ya que hay que estar constantemente comprobando que no se desequilibren, etc. tiene alguno idea de como podriamos hacerlo?

    Responder
  26. Fernando

    Ya tengo el arduino, estoy siguiendo los pasos tal cual, pero a la hora de meter el comando sudo chmod a+rw /dev/ttyUSB0 me pone esto:

    chmod:cannot access ‘/dev/ttyUSB0’: no such file or directory

    Responder
    1. admin Autor

      Supongo que tendrás el arduino alimentado a través de la batería y enchufado el cable usb del arduino a la raspberry. Si es así, haz un sudo ls /dev/tty* y copia aquí el resultado.

      Responder
  27. Fernando

    Ya me funciona, muchas gracias por todo.
    He cambiado en el fichero servidor.py lo que me dijiste por /dev/ttyACM0.
    Ya que tengo conectado la pila al arduino y el cable usb a la raspberry y ademas el ubec.

    A parte me gustaria hacerte en estos dias unas preguntas sobre los programas utilizados ya que hay funciones que no se el sentido que tienen ni la funcion que empeñan.
    Gracias. Un saludo

    Responder
  28. Fernanedo

    Perdona por tardar en contestar no he tenido tiempo. Si acabo de comprarlo, tengo que modificar algo en algun programa para que vaya la webcam?

    Otra pregunta, hay alguna forma para poder manejar el coche desde otro sitio mediante internet?
    Gracias

    Responder
    1. admin Autor

      No, todo es igual.

      Claro, configura el router para que redirija los puertos 22 (ssh), 1976 (programa) y 5000 (webcam) desde fuera a tu raspberry.

      Responder
  29. Fernando

    He conectado a los usb de la raspberry, por un lado el wifi y por otro el hub
    En el hub tengo conectado el cable del arduino y la webcam.
    El programa para mover el coche funciona perfecto, pero cuando ejecuto el comando sh webcam.sh me aparece esto:

    Setting pipeline to PAUSED …
    ERROR: Pipeline doesn’t want to pause.
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Could not negotiate format
    Additional debug info:
    gstbasesrc.c(2830): gst_base_src_start (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    Check your filtered caps, if any
    Setting pipeline to NULL …
    Freeing pipeline …

    Responder
  30. Fernando

    Ahora he conectado, el hub y la webcam a la raspberry.
    Y luego al hub he conectado el arduino y el wifi y si que funciona todo.
    Por que puede ser?

    Me podias explicar o hacer un resumen del funcionamiento por encima del programa servidor.py y de webcam.sh es para hacer un informe del proyecto.
    Tambien queria saber porque hay que poner “sh” para ejecutar el programa y despues el nombre del fichero
    Al igual que porque ponemos “python” y el nombre servidor.py

    Responder
    1. admin Autor

      No lo se, puede ser por tema de consumos.

      El resumen está en el propio artículo.

      sh es necesario para ejecutar scripts bash y python para ejecutar scripts python, es simple. Si quieres prescindir de ellos tendrás que dar permisos de ejecución a ambos y poner #!/bin/sh en la primera línea de webcam.sh y #/usr/bin/env python en la primera línea de servidor.py.

      Responder
  31. Fernando

    Me quiero conectar a una red de a universidad, donde tengo que poner la identidad ( que es mi correo) una contraseña (es la que me dieron) y tambien tengo que poner CA certificate. No se que tengo que poner ahi en el CA para poder conectarme al wifi

    Responder
  32. Pingback: Blog@luigdima » Controlar Arduino desde GNU/Linux con PySerial

  33. alexander

    hola mira soy nuevo con raspberry y me gusto mucho tu proyecto, estoy tratando de hacer lo mismo per cuando trato de hacer el sudo apt-get install me sale esto Package gstreamer-tools is not available, but is referred to by another package.
    This may mean that the package is missing, has been obsoleted, or
    is only available from another source
    However the following packages replace it:
    libgstreamer0.10-dev

    me gustaria saber como puedo corregir eso
    mil gracias por tu ayuda.

    Responder
  34. alexander

    ola de nuevo ya llegue a la parte donde tengo que reboot mi pi y me sale un problema con el kernel y algo de vfs y se me queda en la pantalla negra con las 4 fresitas y una lista de toda la pantalla y no me hace mas nada no me deja entrar en el sistema nada
    me tocara formatear de nuevo la sdcard

    Responder
  35. sergio

    en el código de processing que has puesto de donde sacas los valores de las teclas ?
    0xFFFFFFFE
    0xFFFFFFFD
    0xFFFFFFFB
    0xFFFFFFF7

    es que me gustaría añadirle más teclas para hacer otras funciones pero no se como hacerlo, muchas gracias de antemano.
    —————
    void keyReleased()
    {
    if (key == CODED)
    {
    if (keyCode == UP)
    {
    valor &= 0xFFFFFFFE;
    }
    else if (keyCode == DOWN)
    {
    valor &= 0xFFFFFFFD;
    }
    else if (keyCode == LEFT)
    {
    valor &= 0xFFFFFFFB;
    }
    else if (keyCode == RIGHT)
    {
    valor &= 0xFFFFFFF7;

    Responder

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *