Programando el Butia desde el celular

De Proyecto Butiá
Revisión del 09:55 22 jun 2021 de German.moreira (Discusión | contribuciones) (Implementacion codigo Python)

Saltar a: navegación, buscar

Introduccion

Objetivo

Armado del Butia

Implementacion codigo Python

Antes de empezar a programar o usar el codigo, es necesario instalar las librerias a usar, esto se puede hacer escribiendo

pip install [nombre de la libreria] en el interprete de comandos del sistema.

Entonces instalamos la libreria a utilizar, en este caso:

pip install simple_websocket_server

Una vez instalada la libreria, hay que empezar a escribir el codigo.

El encabezado del codigo es el siguiente El uso de cada libreria se explica con detalle mas adelante

Encabezado.jpg


Luego, a partir de la libreria sys se define el camino del sistema para utilizar los plugins Butia. En nuestro caso, la ruta es '/home/trerb/TurtleBots.activity/plugins/butia' , eso se tiene que modificar dependiendo de donde se encuentren el directorio TurtleBots.activity/ en su sistema de archivos

UsoPluginButia.jpg


Luego se encuentra la funcion clearConsole , Esta funcion sirve unicamente para limpiar el interprete de python usando la libreria os y tener una ejecucion mas limpia

ClearConsole().png


El siguiente codigo utiliza la libreria socket para conectarse a la web y preguntar la ip del ordenador que ejecuta el archivo y la muestra en pantalla, esto se usa para facilitar la conexion con la App Mobil

ConexionSocket.png


Las siguientes lineas de codigo preguntan al usuario que puerto va a utilizar para la conexion, este codigo verifica que se ingrese un dato numerico, dentro del rango de los puertos, y que el puerto este disponible.

TryPuerto.png


Luego se declaran las variables: Speed, Puerto_Gris y Puerto_Distancia , se verifica que los sensores de distancia y de grises esten conectados y asigna el puerto en el que esten conectados a las variables Puerto_Distancia y Puerto_Gris respectivamente. La variable speed es una variable global que se lee al inicio de cada cadena de acciones y la utiliza para todos los movimientos del Butia de esa cadena.

DeclaracionVariables.png


Seguimos con la declaracion de las funciones basicas del Butia, en este caso son Avanzar, Rotar, AvanzarHastaVerColor y AvanzarHastaObstaculo

-La funcion Avanzar recive un parametro de tiempo y el Butia avanza ese determinado tiempo.

-La funcion Rotar recive dos parametros, una direccion que puede ser Izquierda o Derecha y un tiempo que indica la duracion de la rotacion del Butia.

-La funcion AvanzarHastaVerColor recive un parametro que varia entre Blanco o Negro, el robot va a avanzar hasta detectar el color seleccionado. Esta funcion solo se puede usar si el sensor de grises esta conectado.

-Por ultimo, la funcion AvanzarHastaObstaculo no recive parametros, en este caso el Butia va a avanzar hasta estar a unos pocos centimetros de un obstaculo. Esta funcion solo se puede usar si el sensor de distancia esta conectado.

FuncionesBasicas.png

Implementacion codigo React

Vista general

Mejoras a futuro