Page 1 sur 2

Enregistrer des mesures dans un fichier

Posté : ven. 29 avr. 2016 17:28
par Costigan
Bonjour,
J'ai un projet en licence biomédical qui consiste à récupérer des mesures en continu, les enregistrer dans un fichier pour les archiver. Ceci pour au final mettre ces données sur un site web.
Je ne sais pas trop quelle commande utilisée, du coup si quelqu'un peut m'aider, ca me sauverait la vie.

Merci d'avance !!

Re: Enregistrer des mesures dans un fichier

Posté : ven. 29 avr. 2016 17:43
par EVOTk
Salut,
Si tu souhaite recevoir de l'aide, il va falloir un peu plus d'info !

Déja, quelles sortes de mesures ? Comment le Pi les récupere ?

Sonde de température ? Tension ? ...

Re: Enregistrer des mesures dans un fichier

Posté : mer. 4 mai 2016 15:17
par Costigan
On reçoit un signal des muscles emg qu'il faut que je convertisse en numérique puis enregistrer au fur et à mesure ces valeurs dans un fichier pour les archiver.
J'espère que c'est assez clair

Re: Enregistrer des mesures dans un fichier

Posté : jeu. 5 mai 2016 00:20
par spourre
Costigan a écrit :On reçoit un signal des muscles emg qu'il faut que je convertisse en numérique puis enregistrer au fur et à mesure ces valeurs dans un fichier pour les archiver.
J'espère que c'est assez clair
Bonsoir,

Je ne suis pas persuadé que ce soit plus clair pour tout le monde ;-)
Je suppose que emg signifie ElectroMyoGramme ce qui ne doit pas beaucoup parler à la majorité des lecteurs.

Si c'est bien de cela qu'il s'agit, il faut savoir si le projet consiste à générer l'impulsion du stimulus et a mesurer la Vitesse de Conduction Nerveuse Motrice (VCNM) en recueillant le signal sur la zone distale ou si on dispose d'un générateur externe. S'il faut générer le signal, il faut en définir la tension (éventuellement ajustable), l'intensité (idem) et la fréquence de récurrence (ou one shoot).
Pour le recueil de la tension sur les aiguilles (ou électrodes), sauf erreur de ma part, il peut s'agir de signaux très faibles (en mV), pouvant présenter des rebonds. Plusieurs nerfs peuvent être concernés (typiquement sur un Guillain-Barré).
Le Raspberry ne gère directement que des entrées/sorties numériques (avec le niveau haut à 3.3 V). Il va donc falloir des convertisseurs Analogique/Numérique et il faut préciser la plage de valeurs à mesurer, l’impédance de la sonde.

Que tu génères ou non le signal de stimulus, il faut en faire l'acquisition car c'est lui qui doit déclencher le comptage. A part la génération de ce stimulus, grossièrement le montage est assimilable à un oscilloscope multi-voies.
Après, il faut encore définir le mode d'interaction avec le système (IHM), menus, écran tactile, annotations, curseurs .. et le stockage des mesures (fichier texte csv, xml, SGBD (sqlite, MySQL..), volumétrie, durée de conservation, référence du patient, de l'opérateur, CNIL?, normes d'échange vers le système central ..

Comme toujours, le temps passé à l'analyse, à la conception, à la documentation, n'est pas du temps perdu, bien au contraire (surtout dans une logique industrielle.

Dernier point et j'insiste lourdement, le système utilise des électrodes (aiguilles plantées ), il doit donc garantir une sécurité ABSOLUE au patient et être rigoureusement isolé galvaniquement du secteur (le mieux est de l'alimenter sur batterie amovible avec un pack en service et un pack en recharge sur un banc.

Voila pour les idées, à toi de bosser (je ramasse la copie et le prototype dans 6 mois).

Nota, AMHA il ne s'agit très clairement pas d'un projet de débutant ni au point de vue électronique (sondes différentielles, ampli bas niveau, protection contre le bruit, isolation galvanique), ni au niveau logiciel (IHM, mesure de temps sur top synchro, RTC pour horodater les mesures, base de temps pour mesurer la vitesse de propagation...)
Sylvain

Re: Enregistrer des mesures dans un fichier

Posté : mer. 11 mai 2016 14:18
par Costigan
Merci de donner autant d'informations mais ma seule mission est d'enregistrer des valeurs dans un fichier avec le raspberry, le reste ne me concerne pas.

Re: Enregistrer des mesures dans un fichier

Posté : mer. 11 mai 2016 16:21
par spourre
Costigan a écrit :Merci de donner autant d'informations mais ma seule mission est d'enregistrer des valeurs dans un fichier avec le raspberry, le reste ne me concerne pas.
Oui mais avec aussi peu d'informations il est très difficile, voire impossible, de vous aider utilement.
Comment recevez-vous ces informations (clef USB, WIFI, Bluetooth ..?
format des données ?
volume ?

--
Sylvain

Re: Enregistrer des mesures dans un fichier

Posté : mer. 11 mai 2016 16:59
par Costigan
Pour l'instant j'ai des valeurs qui viennent d'un potentiomètre, j'ai utilisé un convertisseur analogique numérique, et j'arrive à afficher ces valeurs toutes les secondes , ce qu'il me reste à faire, c'est récupérer ces valeurs pour les enregistrer dans un fichier.
J'ai tenté quelque chose sans résultat pour tester l'écriture dans un fichier:

valeur = sensor.readADC(3)
print valeur
time.sleep(0.1)

fichier = open("/root/Desktop/test.txt", "a+")
fichier.write("bonjour")
fichier.close()

Re: Enregistrer des mesures dans un fichier

Posté : mer. 11 mai 2016 20:31
par Romuald
...

Re: Enregistrer des mesures dans un fichier

Posté : jeu. 12 mai 2016 09:25
par Costigan
Ca me dit "invalid syntax", je ne comprends vraiment pas pourquoi.
Voici le programme complet:

Code : Tout sélectionner

import setupADC
from smbus import SMBus
import datetime
from datetime import datetime
import time
from time import gmtime, strftime

i2c = SMBus(1)
sensor = setupADC.PCF8591P(i2c, 0x48)
sensor.enableDAC()

While True:
         valeur = sensor.readADC(3)
         print valeur
         time.sleep(0.1)
         print time.strftime("%H:%M%S", gmtime())

         fichier = open("/root/Desktop/test.txt", "a")
         fichier.write(time.strftime("%H:%M:%S", gmtime())
         fichier.write(str(valeur))
         fichier.close()
Quand j'enlève l'écriture du fichier ca passe, sinon il y a erreur

Re: Enregistrer des mesures dans un fichier

Posté : jeu. 12 mai 2016 09:32
par vague nerd
Bonjour.

Précisez nous l'erreur exacte (la ligne posant problème y est surement indiquée).
Ce qui me saute aux yeux, c'est qu'il n'y a pas d'indentation au sein de la boucle...
J'ai ajouté la balise qui va bien pour mieux lire le code. L'indentation semble y être.

Cdt.