Serial to Excel: una forma de registrar datos de arduino
HTML-код
- Опубликовано: 8 сен 2024
- Un sencillo programa que nos permite guardar datos provenientes de Arduino a una planilla excel.
Repositorio: github.com/gsa...
www.gsampallo.c...
Web: www.gsampallo.com
Mi twitter: / gsampallo
Thingiverse: www.thingivers...
no lo he probado todavía, pero me encanto el video, muy profesional, me solucionasete un trabajo que me dio mi jefe mil gracias.
Muchas gracias Guillermo me sirvió de mucho para mis aplicaciones.
Muchas gracias por el gran aporte. El programa funciona correctamente.
es la primera vez que uso arduino y CODE también... cuando intento compilar ("run - run whitout debugging") me aparece "ModuleNotFoundError: No module named 'serial' " ... :/ sabes que es...
esto esta genial me ahorrara mucho tiempo, muchas gracias :)
Disculpa, ¿en que pestaña o en que parte se deben instalar los pip? el - xlwt: pip install xlwt
y el pyserial: pip install pyserial
Muchas gracias Guillermo. Excelente aporte, muy bien explicado y bastante útil para quienes estamos iniciando en sistemas de adquisición de datos. Me gustaría saber, si es posible, como modificarías el código de modo que en las columnas de Excel quede guardado únicamente la parte numérica (sin el b' o el
').
Gracias por la ayuda!
Hola Guillermo pregunta quiero hacer un proyecto de lectura de temperatura y humedad ya tengo el programa en arduino. Mi duda es ya solo tal cual lo pasaría a visual studio para poder graficar en excel y tener históricos y de ser así hay una manera de poderlo visualizar repotamemte desde cualquier dispositivo como si se guardase en una nube al algo así. Tienes un tutorial de referencia?
Excelente video
Una pregunta
Se puede registrar esos cambios en una sola celda del Excel?
Hola, Gracias! si se puede hacer, tenes que modificar el programa de python, para que solo escriba en la misma celda. Reemplazas en while interno por self.ws.write(nroFila,nroColulmna, valorLeido) Primero vas a tener que extraer el valor que queres guardar del array. Saludos.
Muy bueno!. Saludos.
ModuleNotFoundError: No module named 'serial' me sale este error. que hago? nunca habia usado el visual code
Tenes que instalar los módulos de python para manejar el puerto serie y los archivos excel, en el link a github esta explicado como hacerlo, corres los comandos desde la terminal.
Una consulta, soy nuevo en Arduino. Esto solamente se puede hacer a través del programa en Python? A lo que me refiero es tener que ejecutar el programa en python para que comience a leer o lee lo que ya se registró con anterioridad? Saludos y excelente aporte.
buenos dias, gracias por el video y la explicacion, realizo un programa en arduino y requiero subir los datos a excel, pero no tengo la experiencia para instalar los complementos y habilitar el pc para realizar este trabajo, donde puedo consultar o como me puedes ayudar. mil gracias de nuevo
Me sales este error , que puedo hacer.
Traceback (most recent call last):
File "D:\1_2024\2_Feb\Arduino\lectura datos\sofware\Phyton\example.py", line 1, in
from serialToExcel import SerialToExcel
File "D:\1_2024\2_Feb\Arduino\lectura datos\sofware\Phyton\serialToExcel.py", line 1, in
import serial
ModuleNotFoundError: No module named 'serial'
Muy buenas! ¿Cómo haría para eliminar el salto de línea directamente desde el programa?
¡Gracias!
Sin haber probado se me ocurre desde Python reemplazar los caracteres de fin de linea por nada: line.replace('
','') lo tendrias que realizar dentro del archivo serialToExcel.py Saludos.
Como puedo hacer que funcione para Mega?
No funciona, tengo instado todo, en arduino estoy en el COM3 y al usar el codigo me sale el error: could not open port 'COM3': PermissionError(13, 'Acceso denegado.', None, 5)
File "D:\Descargas\serialToExcel-master\serialToExcel-master\serialToExcel.py", line 26, in readPort
ser = serial.Serial(self.port, self.speed, timeout=1)
File "D:\Descargas\serialToExcel-master\serialToExcel-master\example.py", line 9, in
serialToExcel.readPort()
serial.serialutil.SerialException: could not open port 'COM3': PermissionError(13, 'Acceso denegado.', None, 5)
Hola, buen video, lo voy a probar pronto...
Sin embargo, no entiendo porqué hay 2 ficheros .py.
Al parecer solo ejecutas el fichero llamado "ejemplo", pero no veo el uso del otro programa mucho mas largo.
A qué momento interviene el uso del primer programa que muestras en el video (el mas largo)?
Gracias
Hola, es para disminuir un poco la complejidad del código en serialToExcel.py se encuentra todo el modelo para capturar datos mientras que example.py solo tiene la llamada al primero; de esa forma podrías integrarlo dentro de tu programa sin necesidad de rescribir todo.
Excelente video. Muchas gracias.
¿Habría manera de que guarde los datos mientras está corriendo arduino, y que posteriormente se puedan descargar al ordenador para tratarlos?
Gracias de antemano.
Si, pero necesitarias almacenarlos en una tarjeta sd; y el formato no seria un excel sino csv; que luego lo podes levantar con excel. Saludos.
@@GuillermoSampallo muchas gracias. Se agradece video-tutorial al respecto
Consulta... Se podría hacer lo mismo con los sensores que traen los dispositivos sonoff th16?, tengo un sensor de temperatura que me gustaría que guarde cada cierto tiempo la temperatura que registra. Quizás puedas recomendarme algo, muchas gracias!
Hola, quizás te resulte mas útil publicar el dato en alguna plataforma como thingspeak, dado que el dispositivo tiene conexión WiFi.
@@GuillermoSampallo gracias por contestar! Lo investigo
excelente vídeo, estoy tratando de exportar datos de mi arduino mega a Excel pero no he sido capaz, la verdad es la primera ves que trabajo con visual studio y no he podido compilar el programa, agradecería un poco de ayuda
Hola, no hace falta que uses visual studio podes subir desde el Arduino IDE. Saludos
Hola buenas, tengo un problema para correr el programa. Estoy utilizando una programación para leer temperatura y humedad de un sensor SHT31 pero al momento de correr la programación del VScode me dice: ModuleNotFoundError: No module named 'serial'. De antemano muchas gracias.
Hola, gracias por comentar. Tenes que instalar la librería con pip, fíjate en el repositorio que están los pasos, creo que los puse también en otros comentarios. Saludos.
Nota: si lo hacen desde la IDE de python es necesario ejecutar como administrador para que pueda generar el archivo de exel.
amigo tengo una duda, me podrías ayudar?:(
@@hectorulisesromeromorales7671 claro en que te puedo ayudar?
Disculpa, ¿en que pestaña o en que parte se deben instalar los pip? el xlwt y el pyserial
Se ejecuta en la terminal, en cualquier carpeta, te lo instala a nivel global. Saludos.
@@GuillermoSampallo
estas librerías o extensiones aparecen tal cual dice el nombre?
No, lo haces desde el símbolo de sistema o la terminal, te copio un link: pip.pypa.io/en/stable/installing/ luego que lo instales recien podes cargar las librerias xlwt y pyserial. Saludos.
guillermo, buenas noches, el codigo en visual me da error, de donde descargo las librerias "xlwt" y "pyserial" ?
Hola, en el link del repositorio en la descripción están las instrucciones para instalar, se realiza por medio de pip, por ejemplo para xlwt: pip install xlwt Saludos!
hola, configure todo según el video pero me aparece el siguiente error: could not open port 'COM4': PermissionError(13, 'Acceso denegado.', None, 5)
Hola, Chequea de no estar utilizando el puerto con algún otro software. Saludos.
Hola, se puede modificar el codigo para que grabe con algún comando en consola? tipo puedo grabar, parar y detener (o algo parecido). Se algo de programacion pero nada de python. Saludos!
Hola, tendrías que incorporar alguna tipo de interrupción por teclado, es un lindo proyecto para aprender algo de python! sin miedo que practicando se aprende!
Hola Guille muy bueno los videos!! queria saber si se puede hacer lo mismo pero con python, osea graficar en forma online
Hola. Gracias! Si, seguramente se puede mostrar en un gráfico. Pero también podrías utilizar la herramienta Serial Plotter del Arduino IDE. Saludos!
Buenas, excelente aportación. Pero tengo un problema tengo una EPROM que tiene 524288 datos pero al ejecutar las lecturas con tu script arroja un error a un determinado numero de lecturas y ya deja de almacenar en el excel. Sabes como podría evitar ese error o solo el script soporta cierto numero de lecturas?
Hola, gracias! Creo que el tema es del excel, que llega al límite. Lo que podrías hacer es al alcanzar cierta cantidad de lecturas, generar un nuevo archivo. Saludos
Amigo como le haces para descargar desde el escritorio con el comando que pusiste, en el minuto 2.01 me podrias decir como le hiciste
Hola, clone el repositorio con el comando git (tenes que tener instalado git en tu pc), seria: git clone github.com/gsampallo/serialToExcel
Tambien podes entrar en la url y descargar desde la pagina web. Saludos!
que programa usas para clonar el repositorio?
git desde la consola. Lo podes encontrar en git-scm.com/ saludos.
Hola, está buenísimo el proyecto.
Tengo un problema y es que no encuentro la forma de saber cómo se llama el puerto com al que tengo conectado el arduino, en linux mint.
Si me podés ayudar con eso, agradecido.
Saludos.
Exception has occurred: SerialException
[Errno 2] could not open port com36: [Errno 2] No such file or directory: 'com36'
During handling of the above exception, another exception occurred:
File "/home/keru/serialToExcel/serialToExcel.py", line 26, in readPort
ser = serial.Serial(self.port, self.speed, timeout=1)
File "/home/keru/serialToExcel/example.py", line 9, in
serialToExcel.readPort()
Hola, los puertos COM1..COM36 en linux tienen otros nombres, te recomiendo ver este link www.cyberciti.biz/faq/find-out-linux-serial-ports-with-setserial/ donde vas a encontrar los comandos para poder utilizarlos; es posible que debas darle permiso al programa para que use los puertos en linux. Saludos!
@@GuillermoSampallo Muchas gracias
Lo podrías hacer con interfaz
Buenas guillermo justo lo que estaba buscando , eh armado un encoder para poder usar con mis alumnos y poder medir m/s desplazados con carga como podria hacer para integrar las lineas y que al tomar la lectura me haga un excel y un grafico del progreso , desde ya gracias
Hola, es un encoder rotativo?
@@GuillermoSampallo si es un encoder rotativo , un arduino nano toma los datos y los refleja en una pantalla oled pequeña montada en el mismo , dentro tiene un resorte en espiral que hace girar el encoder tirando de un hilo de acero finito
Muy bueno! En el proyecto del teclado use esta librería github.com/brianlow/Rotary para el encoder rotativo, es muy sencilla de utilizar; creo que van a poder usarla sin problemas. Un único detalle: el primer giro del encoder lo utiliza para saber la dirección de giro, a partir de ahí sabes si gira hacia la derecha/izquierda. Estimo que en cada giro se puede incrementar en 1 y tener algún función para saber los m/s. Saludos!
puedes hacer un tutorial de coo lo hicite el repositorio en visual studio por favor???
Hola, quizás más adelante haga uno sobre como usar Git y Vscode, por lo pronto te dejo el link a este video donde te explica git: ruclips.net/video/8aZW9mYOxhc/видео.html super cortito y lo esencial. Saludos!
ayuda como lo puedo hacer con python y guardar con archivo txt
gracias
Hola, fijate este video ruclips.net/video/8sOQXoRLfl8/видео.html si ves en el repositorio tiene una opcion para guardarlo en formato csv, que es un txt separado por comas github.com/gsampallo/serial2sql saludos!
No es posible acceder al repositorio.
Es un tema de github: www.githubstatus.com/incidents/80d0cs6kpsps . Intenta en unos minutos tiene que funcionar. Saludos!
se puede exportar en txt
Desde el excel podés pasar a txt o modificar el programa y que almacene a un archivo txt directo
Alguien me ayuda? es la primera vez que uso arduino y no logro hacer que funcione...
Comenza con algo más sencillo, tomar los datos del sensor y mostrarlo en la terminal del ide de arduino
@@GuillermoSampallo ya pude :), al principio no sé que había hecho, ahora el problema que tenía era que mi sensor toma datos cada 5 segundos y me costó un poco poner el delay, pero ya lo solucioné. te hago una pregunta que todavía estoy solucionando. sabes como puedo hacer que no sobreescriba el xml, o siga en el mismo documento o haga otro documento?