El proyecto consiste en controlar un robot autónomo por medio de una web.
Explicación del lado del cliente frontend
- Entro en raybot.es y veo las últimas fotos realizadas por las webcams.
- Tambien veo la fecha, hora, temperatura y humedad en la que se ha realizado la foto.
- Se tiene la opción de hacer nueva foto con temperatura y humedad.
- Opciones de mover 2 brazos horizontalmente y verticalmente.
- Opciones de mover 2 motores, adelante y atrás.
- Ver histórico de fotos
- Ver histórico de ordenes
- Mido distancia al suelo para futuras mejoras.
- Es decir, desde la web se puede ver y mover el robot dándole ordenes de segar o hachar.
Explicación del backend
En arduino tengo conectado 2 sensores de temperatura y humedad, 4 servos, 2 para cada brazo, y dos motores paso a paso para moverlo adelante, atrás, derecha o izquierda.Utilizo una rasberry alimentada por un Power Bank Solar,
que la conecto a internet con una tarjeta de internet movil tipo SIM
y dos webcam por usb.
En la raspberry dispongo de un codigo python para comunicarse con arduino, envia y recibe datos a base de datos remota por medio de GET y POST, a un archivo php.
Programo cron:
- fswebcam para que haga foto cada hora
- ejecuta python para recoger los datos de temperatura y humedad que recibe con python desde serial que devuelve arduino.
- ejecuta python para guardar esos datos con POST, tipo webservice con usuario/contraseña y certificado de seguridad.
- ejecuta python para recoger ordenes con GET, tipo webservice con usuario/contraseña y certificado de seguridad.
Hardware:
- Power Bank Solar 5V-3V
- Rasberry pi 3
- Tarjeta de microSD 32GB
- SIM808, GSM,GPRS,IPX,... simcard*
- Arduino uno
- Arduino Sensor Shield V 5.0
- 2 Sensores de temperatura y humedad DHT11
- 4 Micro servo motor SG90
- 2 Motor paso a paso de 5V 28BYJ-48 + ULN2003
- Sensor de distancia HC-SR04 HCSR04
Módulos desarrollados:
- Un modulo para los sentidos que recibimos del robot, es decir sensores de temperatura y humedad, y dos webcam que por defecto veremos imagen de la última foto realizada.
- Un módulo para las órdenes que enviamos al robot. Inicialmete, por medio de dos servos, podemos mover la webcam horizontalmente y verticalmente a posiciones concretas o paso a paso.
- Módulo para guardar datos como imagen, fecha/hora, temperatura, humedad, orden, distancia
Otros
- Rasbian como sistema operativo para rasberry pi 3, utilidades como python, ide arduino...
- Servidor web con apache, php y mysql
- Estructura formada con escuadras de acero inox.
- Se recubre con una tapadera de laminas de metracritato transparente en forma de cubo, unidas por silicona. Y se pinta con spray.
Ideas futuras: Automatización de procesos, loT y BigData
¡