Commit 9a67213b authored by beuren's avatar beuren
Browse files

Alteraçãoes e adição do arquivo para visualização

parent eafc324b
#!/usr/bin/env python #!/usr/bin/env python
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
#
# Controlador da estação biométrica
#
# Centro de Tecnologia Acadêmica - UFRGS
# http://cta.if.ufrgs.br
#
# Licença: GPL v3
#Ordem de parametros : [porta],[banda],[nome_arquivo],[frequencia] #Ordem de parametros : [porta],[banda],[nome_arquivo],[frequencia]
#Exemplo: armazenamento '/dev/ttyACM0' 115200 teste1 5
import sys, time, serial, datetime import sys, time, serial, datetime
parametro = sys.argv[1:] parametro = sys.argv[1:]
#Ver paramentros, TIRAR DEPOIS
print parametro
#Iniciando comunicação serial #Iniciando comunicação serial
ser = serial.Serial(parametro[0], parametro[1]) ser = serial.Serial(parametro[0], parametro[1])
#ser = serial.Serial('/dev/ttyACM0', 115200)
time.sleep(2) time.sleep(2)
#Arquivos de log #Arquivos de log
fisiologfile = open(parametro[2]+'.log','w') fisiologfile = open(parametro[2]+'.log','w')
now=datetime.datetime.now() now=datetime.datetime.now()
fisiologfile.write(now.strftime("Coleta de dados iniciado em: "+"%Y-%m-%d %H:%M:%S" +"\n")) fisiologfile.write(now.strftime("#Estação Biométrica\n"+"#Frequência de operação "+parametro[3]+"\n"+"#Coleta de dados iniciado em: "+"%Y-%m-%d %H:%M:%S" +"\n"))
frequencia = parametro[3] frequencia = parametro[3]
periodo = 1.0/frequencia periodo = 1.0/int(frequencia)
while True: while True:
t0 = time.time() t0 = time.time()
try: try:
...@@ -26,13 +31,17 @@ while True: ...@@ -26,13 +31,17 @@ while True:
t = float(ser.readline().replace('\r\n','')) t = float(ser.readline().replace('\r\n',''))
except KeyboardInterrupt: except KeyboardInterrupt:
break break
except ValueError:
print "Não é possível operar a essa frequência (controlador)"
break
try: try:
# Registra horário atual # Registra horário atual
now = datetime.datetime.now() now = datetime.datetime.now()
# Arquivo de log # Arquivo de log
print now.strftime("%Y%m%d%H%M%S"),"\t", t,"\t" print now.strftime("%Y-%m-%d %H:%M:%S.%f")[:-3],"\t", t,"\t"
fisiologfile.write(now.strftime("%Y%m%d%H%M%S")+"\t"+str(t)+"\n") fisiologfile.write(now.strftime("%Y%m%d%H%M%S%f")[:-3]+"\t"+str(t)+"\n")
if (periodo - (time.time()- t0))< 0: if (periodo - (time.time()- t0))< 0:
print "Não é possível operar a essa frequência" print "Não é possível operar a essa frequência"
break break
......
...@@ -5,26 +5,31 @@ ...@@ -5,26 +5,31 @@
int sensorTemperature = 5; int sensorTemperature = 5;
float sensorValue = 0; float sensorValue = 0;
bool flag_test= 0;
int frequency = 5; int frequency = 5;
unsigned long time_0; unsigned long time_0;
float period; float period;
void setup() {
void setup()
{
Serial.begin(115200); Serial.begin(115200);
period = 1.0/frequency; period = 1.0/frequency;
} }
void loop() { void loop()
{
time_0=millis(); time_0=millis();
temperaturaNTC(); temperatura_NTC();
if((period*1000) -(millis()-time_0)<0){ if((period*1000) -(millis()-time_0) < 0)
Serial.println("Frequência muito alta para operação"); {
break; Serial.println("Erro1");
}
else
{
delay((period*1000) -(millis()-time_0));
} }
delay((period*1000) -(millis()-time_0));
} }
void temperatura_NTC() void temperatura_NTC()
{ {
sensorValue = analogRead(sensorPin); sensorValue = analogRead(sensorTemperature);
Serial.println(sensorValue); Serial.println(sensorValue);
} }
void pulso(){ void pulso(){
......
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Visualizador de dados da estação biométrica
#
# Centro de Tecnologia Acadêmica - UFRGS
# http://cta.if.ufrgs.br
#
# Licença: GPL v3
from matplotlib import pyplot as plt
import numpy as np
import sys
#Ordem de parametros : [arquivo], [real_time(-R)]
parametro = sys.argv[1:]
#try:
# filename = sys.argv[1]
# except:
# print 'Necessário fornecer um parâmetro: nome do arquivo'
# sys.exit(1)
fisiologfile = open(parametro[0]+'.log', 'r')
x= []
y= []
for line in fisiologfile:
line = line.strip()
if line[0] != "#":
aux = line.split('\t')
x.append(aux[0][-5:-3])
y.append(aux[1])
plt.plot(x,y)
plt.title("Plot exemplo")
plt.xlabel("Tempo")
plt.ylabel("Freq.")
plt.show()
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment