Description
Un drone, una RaspberryPi, una cámara con visión nocturna, una web diseñada mediante Flask que permite controlar ese drone de forma totalmente remota, y desde cualquier lugar del mundo... y todo ello bien conectado por el lenguaje que hoy nos ha traido aquí:
Sí... Pocas palabras juntas podrían atraer tanta atención.
¿Te gusta(n)...
- ...programar en Python? Menuda pregunta, si no ¿qué ibas a hacer aquí?
- ...los drones? Menuda pregunta, ¿a quién no?
- ...las RaspberryPi? Deme diez, pero démelas ya.
- ...las enumeraciones interminables?
Esta charla es un ejemplo perfecto de que se puede conseguir con Python. Una implementación que pasa de la simple teoría a algo real, tremendamente divertido, y potencialmente peligroso :D.
En esta charla se mostrará como se han integrado diferentes tecnologías mediante Python, para conseguir controlar un drone conectado a una RaspberryPi.
Hablaremos de...
Flask
Utilizado en el diseño y gestión de la página web, así como de SQLAlchemy para mantener la base de datos, Flask-SocketIO para comunicación en tiempo real con WebSockets y otros módulos compatibles con este pequeño gran framework.
WebSockets
Un poco de JavaScript para ayudarnos a comunicar el input de usuario con la aplicación web basada en Flask.
WebRTC
Una de las tecnologías más prometedoras para el streaming de video en riguroso directo, y con una latencia mínima.
Python
Comunicación Serie
De alguna forma se tiene que establecer comunicación entre la RaspberryPi y el drone, y Python provee de mecanismos que permiten implementar un protocolo de comunicación muy avanzado, de forma relativamente sencilla.
Threads y Sockets
Hay que mantener ese servidor de control remoto constántemente atento y listo para recibir órdenes!
Numpy
Utilizado para implemnetar un sistema de evasión de obstáculos de forma eficiente, y un sistema de localización sin GPS, basando ambos en las posibilidades del cálculo vectorizado que ofrece Numpy.
Y por supuesto...
DEMO || GT*O
Demo!
Para la admiración, sorpresa y/o terror (no son excluyentes) de los asistentes, se llevará a cabo una pequeña demo en la que se hará volar un drone basado en el sistema expuesto. Siempre contemplando una serie de medidas de seguridad, por supuesto.