Programando el Butia desde el celular

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

Implementacion codigo React

Vista general

Mejoras a futuro