Programando el Butia desde el celular

De Proyecto Butiá
Revisión del 10:04 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


Luego se encuentra una funcion Accion1 esta funcion se puede definir

Implementacion codigo React

Vista general

Mejoras a futuro