Autor Tema: Leer datos en archivo  (Leído 6215 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
Leer datos en archivo
« en: 16 de Septiembre de 2010, 18:49:06 »
Hola amigos, me gustaria saber si alguien tiene experiencia haciendo lo que quiero hacer, simple, es leer datos de un archivo guardado en una memoria micro sd, que tiene datos en formato no ascii, esto quiere decir, que cuando abro el archivo se ve en simbolos extraños, esto lo estoy haciendo como segunda parte de un proyecto que llevo desarollando hace un mes, guardo datos de sensores desde una tarjeta que hice, con un micro arm, en estas guardo los datos de los ADC, y del RTC, y me gustaria exportarlos a un archivo excel, por ahora no he investigado mucho, ya que estoy empezando esta etapa, si alguien sabe de alguno ejemplos o comentarios, sera de gran ayuda, saludos
NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Leer datos en archivo
« Respuesta #1 en: 16 de Septiembre de 2010, 19:06:49 »
Hola Braulio

¿Qué lenguaje?

¿La SD tiene un sistema de archivos o es RAW data?

Si es C# y la SD está formateada, puedes usar el BinaryReader.

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
Re: Leer datos en archivo
« Respuesta #2 en: 16 de Septiembre de 2010, 20:01:07 »
Hola mig, una disculpa, es en c#, y si tiene un formato (fat32), voy a checarlo, estaba pensando que seria conveniente poner un caracter delimitador, para que sepa cuando termina y acaba un dato, como por ejemplo, pero no estoy tan seguro que sea buena idea, por lo pronto, todo lo guardo dentro seguidamente, aqui pego una vista de como se ve el archivo

el orden que tiene es = byte adc msb(depende de cuantos canales seleccione el usuario),byte adc lsb, byte year, byte month, byte date, byte hour, byte min, byte second

saludos
NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Leer datos en archivo
« Respuesta #3 en: 16 de Septiembre de 2010, 20:18:47 »
Ohh entonces es fácil.

Código: [Seleccionar]
FileStream archivo = new FileStream(txtArchivoOrigen.Text,
                    FileMode.Open, FileAccess.Read);
BinaryReader leer = new BinaryReader(archivo);

byte[] octeto = new byte[1];

leer.Read(octeto, 0, 1);

leer.Close();
archivo.Close();

Este código lee el primer byte del archivo.

Creo que no necesita más explicación. Si lo pegas en C# podrás ver qué hace cada cosa.

Si hay dudas me avisas.  :mrgreen:

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Leer datos en archivo
« Respuesta #4 en: 16 de Septiembre de 2010, 22:13:22 »
También puedes agregar un cuadro de dialogo para abrir el archivo, tomar el nombre y su dirección del cuadro y trabajar como dice Mig.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
Re: Leer datos en archivo
« Respuesta #5 en: 17 de Septiembre de 2010, 00:16:17 »
muchas gracias mig, solo necesitaba ese empujón, ahora mismo hare un pequeño programa, cualquier duda, por aquí estaré, gracias suky por el comentario, así tenía pensado hacerlo, abrir un cuadro de dialogo, y que el usuario buscará la unidad de almacenamiento, saludos
NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Leer datos en archivo
« Respuesta #6 en: 17 de Septiembre de 2010, 14:37:52 »
Hola Braulio, si vos determinar lo que se escribe en la SD, podrias escribirlos con separadores de campo, usando la coma y comillas. En este formato de datos ( llamado CSV ) la importacion a Excel o cualquier planilla de datos es sencilla.

Saludos !

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
Re: Leer datos en archivo
« Respuesta #7 en: 17 de Septiembre de 2010, 14:56:44 »
excelente tip, gracias Richard, de ser posible esto, me ahorraria muchisimo tiempo, saludos
cuando hiba a empezar a poner esta parte, me surgio la duda, toda la informacion tiene que estar en ascii para poder exportarlo directamente a excel, no es asi?
« Última modificación: 17 de Septiembre de 2010, 15:09:57 por scientist »
NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Leer datos en archivo
« Respuesta #8 en: 17 de Septiembre de 2010, 16:01:19 »

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Leer datos en archivo
« Respuesta #9 en: 17 de Septiembre de 2010, 16:38:56 »
Colocando por ejemplo:

Código: [Seleccionar]
Texto[]="Datos del logger\r\nTemperatura\tHora\r\n22.5º\t10:15:48\r\n23.1º\t11:01:36\r\n23.7º\t11:42:53\r\n24.2º\t12:23:12"
Y al guardarlo con extensión *.xsl, al abrirlo con excel se logra:



Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
Re: Leer datos en archivo
« Respuesta #10 en: 17 de Septiembre de 2010, 21:32:26 »
Excelente ejemplo Suky, muchas gracias por el ejemplo, ya dispuse hacerlo de forma hexadecimal, creando mi propio tipo de extension de archivo, esto por que requiero de varias configuraciones de medicion, no solamente de temperatura, aparte de que estoy utilizando un micro con limitantes en memoria flash, ya casi lo tengo al 80%, me consumiria muchos recursos, definitivamente haré una versión solo para datalogger de temperatura, y ahi yo creo que se podra utilizar el ejemplo que mencionas.
Una de las desventajas de la manera que lo estoy haciendo, que tiene tantas opciones, que empieza a caer en lo complicado, pero ni modos, lo haré de esta manera, y veremos que sale, por cierto, tengo una duda, los archivos más grandes que puede manejar una computadora es de 4gb? por ejemplo, un archivo no puede exceder el limite de 4 gb de tamaño, lo pregunto, por que estoy utilizando es un fat32, que en teoria puede manejar memorias de hasta 32gb, pero creo que en cuanto archivos unitarios, no es el mismo dilema, como lo tenia pensado era, que cada dia, se vaya creando un archivo nuevo, pero bueno, solo estoy divagando, saludos y gracias por su ayuda!
NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Leer datos en archivo
« Respuesta #11 en: 18 de Septiembre de 2010, 01:19:07 »
Por limitación del campo de la estructura que indica los parámetros del archivo en FAT (4 bytes) no se puede manejar archivos mayores a 4GB, pero desconozco si existe alguna extensión para romper esa limitación  :?  


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Leer datos en archivo
« Respuesta #12 en: 18 de Septiembre de 2010, 01:47:41 »
Hola!

Microsoft tiene su sistema de archivos NTFS que permite archivos de hasta 16TB.
Linux usa varios sistemas de archivos:
http://es.wikipedia.org/wiki/Categor%C3%ADa:Sistemas_de_archivos_de_Linux
 
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Leer datos en archivo
« Respuesta #13 en: 18 de Septiembre de 2010, 11:03:21 »
El problema es que el firmware de Scientist sólo ha de tolerar hasta FAT32. Es poco común ver firmware para micros que tolere NTFS.

Desconectado scientist

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 999
Re: Leer datos en archivo
« Respuesta #14 en: 18 de Septiembre de 2010, 11:39:16 »
Definitivamente he estado checando el codigo de Suky, no habia caido en cuenta que el utiliza \t (horizontal tab) para separar las columnas, y al abrir el archivo con extension xls, sin tener que configurar nada en excel, te respeta las columnas y filas, excelente ejemplo, estuve checando cuanto me consumiria las rutinas de manejo de cadenas (itoa) y veo que es conveniente utilizar y crear directamente una extension xls, saludos
NO le digas a DIOS que tienes un gran problema, dile a tu problema que tienes un GRAN DIOS!!
Alma mia y castillo mio, mi Dios en quien yo confiare....