Quizás te interese Telemetry
Ver en Github . Es un protocolo de comunicación, muy fácil de usar, con una interfaz limpia, que permite la comunicación bidireccional con dispositivos Arduino / Mbed.
Si no desea leer esta larga publicación, vea un tutorial de todas las características increíbles que contiene.
El poder de esta biblioteca proviene de la interfaz de línea de comandos del escritorio (que no requiere habilidades de programación en python).
Es capaz de abrir trazados de alto rendimiento (mucho más altos que lo que se puede hacer con matplotlib) simplemente escribiendo un comando .
El protocolo admite estructuras de datos complejas . Por ahora, se pueden enviar matrices y matrices dispersas desde la placa integrada.
Las gráficas abiertas desde la interfaz de línea de comando comprenden el tipo de datos, y para las matrices, en lugar de trazar cada muestra en función del tiempo, la muestra se trazará en función de su propio índice.
En un futuro cercano, se planea agregar soporte para coordenadas espaciales (datos xyz), que le permitirán trazar datos espaciales de inmediato. Una vez más, las tramas resolverán todo, trazarán sus datos en espacio 2D o 3D y podrá concentrarse en desarrollar su aplicación.
Creo que esas características son simplemente únicas para tal proyecto.
Pylelemetry CLI
Una vez instalado con pip
, la línea de comando se puede iniciar con
pytlm
A continuación, puede connect
, ls
(lista) recibió los temas, print
los datos recibidos sobre un tema, pub
(publicar) sobre un tema, o una abierta plot
sobre un tema para mostrar los datos recibidos en tiempo real,
Empezar
Wiki
PD: soy el autor.
Lo desarrollé porque no pude encontrar una solución que me permitiera:
- escribir rápidamente scripts de PC para controlar un Arduino
- depurar rápidamente
- trazar datos complejos (no solo un valor variable en el tiempo)
todo lo anterior sin usar soluciones patentadas o GUI hinchadas.
Usando esta biblioteca, el tiempo para configurar una comunicación entre Arduino y la PC pasó generalmente de medio día a 5 minutos.