Saltar al contenido principal

3 publicaciones etiquetados con "MyCodo"

Ver Todas las Etiquetas

Actualización [ 10 ] | Comunicación con MyCodo éxitosa.

· 3 min de lectura
Wolfsrudel
All the Team

Logramos comunicar correctamente el envío de datos seriales a los Input de entrada de datos de MyCodo.

¿Cómo lo hicimos?

Exactamente de la misma forma que especificamos en la publicación anterior. Todo salió perfectamente tal y como lo planeamos.

Código

No pensamos explicar el código todavía. Pensamos refátorizarlo nuevamente para que sea más legible y más práctico. Solo queremos que el envío de datos sea una función de este. Aunque lo importante es que todo funcionó correctamente, sí alguien quiere ver el código para este punto del proyecto, este se encuentra aquí.

Luego ya cuando esté refáctorizado pensamos explicarlo con mayor detalle y su respectivo diagrama de flujo.

Por ahora nuestra siguiente acción a ejecutar es el refactorizarlo y crear un servidor con él. Más en concreto con Flask, la cuál es una libreria de Python utilizada en el Backend, para justamente, crear servidores. Nuestra intención es la siguiente:

  • Haremos que la misma variable de datos que retorne la función que recibe los datos del Arduino esté ligada a Flask en un servidor para, sí éste recibe solicitudes le devuelva el dato que hayan solicitado en una response. Nuestra intención es comenzar con la comunicación HTTP de la App. En un comienzo pensabamos utilizar Express.js, pero se vé que han cambiado las cosas; nos es más práctico seguir utilizando Python y no migrar a otro lenguaje de programación, sí hiciesemos eso, el mismo script que se comunica con MyCodo no podría ser un servidor en sí mismo, por tanto decidimos que fuese así.

Cambios | Ideas

Otro cambio a denotar es el que -muy posiblemente- utilizaremos el módulo Sense Hat de la Raspberry Pi para hacer de nuestro proyecto además de un sistema de monitoreo, hacerlo también una estación metereológica. Pensamos que, primero hará de nuestro proyecto uno más profesional y también porque estamos aburridos; ya no tenemos tantos retos como antes. De igual forma la integración con el Sense Hat se ve sencilla y la comunicación entre todos los Software ya está prácticamente hecha.

Ademas tiene una matriz led muy fachera que puede, o mostrar el logo de Wolfsrudel (nuestra empresa) o la ip del servidor en la red local así le establecemos dicha IP a la App/Programa manualmente al -seguramente- no hacerla fija.

Hablando de la matriz led y la facha; comenzamos la realización del Modelo 3D que envolverá nuestro proyecto. Pensamos que ésta puede tener un acrilico en frente así se ve toda la facha del circuito (。◕‿◕。).

Luego, otra idea que tenemos es que una vez hayamos realizado el modelo 3D de todas las partes, exportarlo junto con todos los circuitos y subirlo a la página web. Para esto podríamos utilizar Three.js. La página web de la documentación justamente está escrita con React, así que deberemos de utilizar una variante la cuál está adaptada para React. Esto ya una vez lo hemos querido hacer para proyectos pasados, y no pudimos; insertar un modelo 3D a una página web es un completo fiasco y más sí tenés muchas técnologias en tu misma web, de igual forma lo pensamos hacer por el profesionalismo, pero será mucho más tarde, muy al final del proyecto y seguramente a la vez que estemos realizando el video de Youtube del proyecto (el cuál también pensamos añadir a la página principal :p).

Somos un grupo de dementes.

Fin del comunicado.

Actualización [ 9 ] | PCB && Block Diagram

· 2 min de lectura
Wolfsrudel
All the Team

Buenas!

Hoy hemos terminado de montar el PCB y realizar el código que toma la lectura de todos los sensores y lo envía a través de serial hacia la Raspberry. Comenzando ahora, nuestro nuevo reto: la correcta interceptación de datos de parte de la Raspberry utilizando Python. Una forma de resolver este problema de forma sencilla es la que hicimos antes, y es tener el script de Python con la interceptación de datos seriales desde MyCodo, lo cual, aunque solucione nuestro problema, es muy poco práctico.

Nuestra idea es la siguiente:

  • Queremos que un único script de Python se encargue de manejar todos los datos enviados desde el microcontrolador y se encargue de clasificarlos para luego escribirlos en un archivo de cualquier tipo. Luego habrá scripts independientes en los widgets de MyCodo que crearán un sencillo bucle de lectura de datos de un archivo del cuál extraeran el dato a mostrar en pantalla.

Todo esto llevará a que la comunicación entre las partes quede tal que así:

Diagrama de Comunicación entre códigos

PCB

También, para concluir con el tema, les adjuntamos el PCB tanto montado como en KiCad al habernos quedado pendiente la última vez:

PCB | KiCad

PCB | Montado

Actualización [ 8 ] | Comunicación a MyCodo | Filtro

· 2 min de lectura
Wolfsrudel
All the Team

(。◕‿◕。)

Logramos comunicar correctamente la toma de datos de Python con MyCodo, esto fue realmente más fácil de lo que pensamos al no tener que interaccionar con algún otro lenguaje de programación en el proceso. El resto será cuestión de tiempo para que se logré.

Filtro

Hoy fue impreso el filtro/recipiente necesario para alojar los plantines.

Filtro

Ideas

Sí logramos unificar todo el proyecto con MyCodo rápidamente, pensamos que podríamos crear un programa de escritorio para poder muestrear los datos. Todo esto con la intención de tener más control sobre nuestro código. Realmente con MyCodo no sabemos lo que estamos haciendo, lo cual es una ayuda realmente práctica porque uno no debe de saber como funciona internamente el programa; pero no nos satisface. Sabemos utilizar una técnologia llamada Tauri. La cual es todo un ecosistema de herramientas que te permiten utilizar Webview (Microsoft) para crear un programa de escritorio con técnologia web y, manejar todo su Backend utilizando el lenguaje de bajo nivel Rust. Pensamos que haría que el proyecto se sintiera menos incompleto y que sería grandioso que tuviese un programa propio también.

Aparte, ya tenemos un código; Spectrum-IOT_WebPage

Spectrum-IOT_WebPage es una aplicación web que fue creada para monitorear la lectura de datos que ésta recibiera de una casa completamente automátizada para que unos robots se movilizarán de forma autonóma en ella; como es de imaginar, el proyecto fue cancelado. Es justamente por ello que nos gustaría reutilizar el código y adaptarlo al diseño de la App (por una cuestión de consistencia). Aunque también seria increible que pudiese ser hecho para que, a diferencia de la app, se pueda modificar alguna parte del código del microcontrolador y regular mágnitudes. Sería altamente práctico como una interfaz visual táctil que pudiese estar instalada en la Raspberry y, simplemente con un par de touch's y la misma navegación intuitiva de la aplicación web, pudiese ser controlado.

Aunque muy seguramente no lleguemos con el tiempo para ello; pero puede que sea un buen código Open Source del que se pueda sacar mucho provecho sí alguien así lo quiere.