- Instalación y configuración de 'Motion' para obtener alimentación de video:
- Configuración del matraz en Raspberry Pi para controlar el robot a través de la página web:
- Código HTML para página web:
- Robot de vigilancia
- Diagrama de circuito y configuración:
- Como operar:
En esta sesión de bricolaje, estamos construyendo un automóvil robótico de vigilancia controlado por web utilizando una frambuesa pi y una cámara web. Esta podría ser una herramienta de seguridad y espionaje útil y económica, que tiene muchas opciones configurables y se puede construir en pocas horas. En este proyecto de IoT, utilizamos principalmente Raspberry Pi, cámara web USB y dos motores de CC con chasis de robot para construir este automóvil robótico.
Tiene una cámara web montada encima, a través de la cual obtendremos una transmisión de video en vivo y lo interesante aquí es que podemos controlar y mover este robot desde un navegador web a través de Internet. Como se puede controlar mediante la página web, también se puede controlar mediante la página web en Mobile. Creamos una página web en HTML que tiene enlaces Izquierda, Derecha, Adelante, Atrás, haciendo clic en ellos podemos mover el robot en cualquier dirección. Aquí usamos "Motion" para obtener la transmisión de video en vivo desde la cámara USB y usamos "Flask" para enviar comandos desde la página web a Raspberry Pi usando Pythonpara mover el Robot, que se explican en detalle en la parte posterior de este tutorial. Tenemos el sistema operativo Raspbian Jessie instalado en nuestra placa Raspberry Pi. Puede consultar este artículo para instalar el sistema operativo Raspbian y comenzar con Raspberry Pi.
Instalación y configuración de 'Motion' para obtener alimentación de video:
Motion (software de vigilancia) es un software de CCTV de detector de movimiento de código abierto y gratuito, desarrollado para Linux. Detecta el movimiento y comienza a grabar un video del mismo. Con 'Motion' instalado en su Raspberry Pi, puede convertir mágicamente su Raspberry Pi en una cámara de seguridad. Se utiliza para obtener transmisión de video en vivo, hacer videos a intervalos y tomar instantáneas a intervalos regulares. Graba y guarda el video siempre que detecta movimiento o cualquier perturbación en el área de visualización. La transmisión de video en vivo se puede ver en el navegador web ingresando la dirección IP de Pi junto con el puerto.
Hemos creado un tutorial detallado sobre el uso de Motion con Raspberry Pi y una cámara USB, aquí explicamos brevemente su instalación en Raspberry pi para que nuestro robot envíe transmisión de video en vivo a la página web.
Aquí solo necesita ejecutar algunos comandos para comenzar a obtener su primer video en la red. Antes de eso, verifique adecuadamente que su Raspberry Pi esté conectada a Internet, ya sea usando LAN o Wi-Fi y luego siga los pasos a continuación:
Paso 1: Primero ejecute el siguiente comando para actualizar el sistema operativo Raspbian en Raspberry Pi:
sudo apt-get update
Paso 2: luego instale la biblioteca 'Motion' usando el siguiente comando:
sudo apt-get install motion
Paso 3: Ahora configure el demonio de movimiento en sí editando el archivo: / etc / default / motion para que siempre se esté ejecutando. Edite este archivo usando el editor 'nano' con 'sudo' como se indica a continuación:
sudo nano / etc / default / motion
Luego guarde el archivo presionando 'CTRL + X', luego 'Y' y Enter.
Paso 4: Ahora necesitamos establecer el permiso para el Directorio de destino (/ var / lib / motion /), en el que Motion guarda todas las grabaciones de video y archivos de imágenes. Necesitamos configurar 'Motion' como propietario de este directorio emitiendo el siguiente comando:
sudo chown motion: movimiento / var / lib / motion /
Este permiso es necesario, de lo contrario, obtendrá un error cuando verifique el Estado del servicio de movimiento.
Puede verificar el estado del servicio usando este comando: sudo service motion status
Paso 5: Ahora casi hemos terminado, solo necesitamos cambiar una opción de configuración en el archivo de configuración de Motion (/etc/motion/motion.conf ) que está desactivado stream_localhost. Tenemos que apagar esta transmisión de host local, de lo contrario no podremos acceder a la alimentación de video en nuestra red y solo será accesible desde la propia Raspberry Pi. Para hacerlo, edite el archivo de configuración de movimiento con el editor 'nano' y apáguelo, como se muestra a continuación:
sudo nano /etc/motion/motion.conf
Ahora hemos terminado y estamos listos para obtener nuestra transmisión en vivo desde la cámara web USB conectada a Pi. Simplemente inicie (o reinicie) el servicio Motion usando el siguiente comando y abra la IP de su Raspberry Pi, con el puerto 8081, en su navegador (como 192.168.43.199:8081). En este proyecto hemos incrustado esta IP en nuestro código HTML en la etiqueta img src .
sudo /etc/init.d/motion reiniciar
Y verá la transmisión en vivo de su cámara web. Aquí hemos usado una cámara web USB de bajo costo que funcionó sin problemas con nuestra Raspberry Pi, pero puede usar una cámara de buena calidad para una mejor resolución. Como se mostrará en el navegador, puede usar cualquier dispositivo para ver el feed, que sea compatible con navegadores web como dispositivos móviles, tabletas, etc.
Intente reiniciar la Raspberry Pi como paso de solución de problemas cuando sea necesario:
sudo reiniciar
Se trata de usar Motion para nuestro Robot de vigilancia, aparte de eso, tiene varias opciones de configuración que ya hemos comentado en nuestro tutorial anterior.
Nota: Si su modelo Raspberry Pi es inferior a la versión 3, es posible que necesite una llave Wi-Fi para conectar de forma inalámbrica la Raspberry Pi al enrutador.
Configuración del matraz en Raspberry Pi para controlar el robot a través de la página web:
Aquí, hemos creado un servidor web usando Flask, que proporciona una forma de enviar los comandos desde la página web a Raspberry Pi para controlar el Robot a través de la red. Flask nos permite ejecutar nuestros scripts de Python a través de una página web y podemos enviar y recibir datos desde Raspberry Pi al navegador web y viceversa. Flask es un microframework para Python. Esta herramienta está basada en Unicode y tiene un depurador y un servidor de desarrollo integrados, soporte para pruebas unitarias integradas, soporte para cookies seguras y es fácil de usar, estas cosas la hacen útil para el aficionado.
Instale un paquete de soporte de matraces en la Raspberry Pi usando el comando dado:
$ pip instalar Frasco
Entonces podemos usar el matraz simplemente importándolo en nuestro programa, como si hubiéramos importado los siguientes paquetes de matraces para este proyecto:
desde el matraz import Flask desde el matraz import Flask, render_template, solicitud
Puede obtener más información sobre la programación usando Flask aquí, también consulte nuestros proyectos anteriores donde hemos usado Flask para enviar el mensaje desde la página web a Raspberry Pi y enviar el valor del peso a Raspberry Pi en Smart Container.
Código HTML para página web:
Hemos creado una página web utilizando lenguaje HTML para mostrar enlaces de control (izquierda, derecha, adelante, atrás) para mover el robot desde el navegador web. Hemos utilizado el script jQuery para llamar a las funciones en nuestro programa Python. Hay cinco funciones en Python Code para mover el robot hacia la izquierda, derecha, adelante, atrás y detenerlo. Se ha proporcionado el código Python completo al final. Estas funciones se ejecutarán haciendo clic en los enlaces de control en la página web y los motores se moverán según el enlace en el que se haga clic. Aquí hemos escrito el código de tal manera que Robot se moverá en cierta dirección mientras hace clic y mantiene presionado el enlace, y tan pronto como soltamos el botón del mouse, Robot se detendrá. A continuación se muestra el código HTML para la página web que incluye jQuery:
Aquí puede ver que hemos incrustado la dirección IP, en la que se está transmitiendo el video, en la página web usando la etiqueta img src . Cambie la dirección IP de acuerdo con su Raspberry Pi pero mantenga el mismo puerto.
El usuario debe copiar y pegar el código HTML dado anteriormente en algún editor de texto (bloc de notas) y guardar el archivo con la extensión.HTML (robot.html). Luego, coloque este archivo HTML en la carpeta / templates con respecto a la ubicación de su script de Python. Significa que necesita crear una carpeta llamada plantillas, donde ha puesto su archivo de código Python para este robot de vigilancia Raspberry, luego ponga el archivo robot.html en esta carpeta de plantillas. Este paso es importante, de lo contrario nuestro proyecto no funcionará. Puede abrir directamente el archivo robot.html haciendo doble clic en él para ver cómo se verán sus enlaces de control. Verifique más a fondo todo el proceso en el video de demostración al final. Una vez que hayamos terminado con la programación y todo, podemos ejecutar el código Python en Raspberry Pi y abrir IP_address_of_your_Pi: 5010 en el navegador web (como
Puede verificar la dirección IP de su Raspberry Pi usando el comando ifconfig :
ifconfig
Diagrama de circuito y configuración:
Después de probar la transmisión de video en vivo y el código HTML, necesitamos construir un robot utilizando chasis de robot, ruedas y pernos de tuerca hechos a mano o listos para usar. Luego coloque el banco de energía sobre él para alimentar la Raspberry pi y luego coloque la Raspberry Pi y la cámara web sobre el banco de energía y arregle la configuración con cinta de cello o tiras de goma, conecte la cámara USB con Raspberry Pi.
En este proyecto de IoT, no necesitamos hacer muchas conexiones, solo necesitamos conectar algunos cables para Motor Driver IC L293D y DC Motors. Las conexiones se muestran en el diagrama de circuito a continuación. Aquí hemos utilizado una PCB de uso general para montar L293D IC para reducir el espacio, pero también puede usar una placa de pruebas pequeña para conectar motores de CC con L293D.
Como operar:
La operación y el funcionamiento de este robot de vigilancia es muy fácil. Cree un archivo Python (extensión.py) y copie el siguiente código en él y luego guárdelo en su Raspberry Pi. Luego coloque el archivo HTML en la carpeta de plantillas como se explicó anteriormente. No olvide cambiar la dirección IP en el archivo HTML.
Luego, ejecute el código Python ingresando el siguiente comando:
python name_of_file.py
Luego abra su dirección IP de Raspberry Pi con el puerto 5010 como http://192.168.43.199:5010 (nuevamente reemplace la dirección IP con su dirección). Ahora verá la página web con cuatro enlaces de control de robots y transmisión de video en vivo. El usuario puede controlar el robot haciendo clic y manteniendo presionados los enlaces. Si el usuario hace clic y mantiene presionados los enlaces, el robot se moverá de acuerdo con el enlace en el que se hizo clic y cuando el usuario soltará el enlace, el robot se detendrá automáticamente.
El código completo de Python se proporciona a continuación, donde hemos escrito varias funciones para controlar el Robot al hacer clic en los enlaces de la página web. Puede comprenderlos fácilmente o, si es un principiante, consulte nuestros Tutoriales anteriores de Raspberry Pi. También visite nuestra Sección de Robótica para obtener Robots más interesantes y fáciles de construir.