Commit 9a67213b authored by beuren's avatar beuren

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

parent eafc324b
#!/usr/bin/env python
# -*- 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]
#Exemplo: armazenamento '/dev/ttyACM0' 115200 teste1 5
import sys, time, serial, datetime
parametro = sys.argv[1:]
#Ver paramentros, TIRAR DEPOIS
print parametro
#Iniciando comunicação serial
ser = serial.Serial(parametro[0], parametro[1])
#ser = serial.Serial('/dev/ttyACM0', 115200)
time.sleep(2)
#Arquivos de log
fisiologfile = open(parametro[2]+'.log','w')
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]
periodo = 1.0/frequencia
periodo = 1.0/int(frequencia)
while True:
t0 = time.time()
try:
......@@ -26,13 +31,17 @@ while True:
t = float(ser.readline().replace('\r\n',''))
except KeyboardInterrupt:
break
except ValueError:
print "Não é possível operar a essa frequência (controlador)"
break
try:
# Registra horário atual
now = datetime.datetime.now()
# Arquivo de log
print now.strftime("%Y%m%d%H%M%S"),"\t", t,"\t"
fisiologfile.write(now.strftime("%Y%m%d%H%M%S")+"\t"+str(t)+"\n")
print now.strftime("%Y-%m-%d %H:%M:%S.%f")[:-3],"\t", t,"\t"
fisiologfile.write(now.strftime("%Y%m%d%H%M%S%f")[:-3]+"\t"+str(t)+"\n")
if (periodo - (time.time()- t0))< 0:
print "Não é possível operar a essa frequência"
break
......
......@@ -5,26 +5,31 @@
int sensorTemperature = 5;
float sensorValue = 0;
bool flag_test= 0;
int frequency = 5;
unsigned long time_0;
float period;
void setup() {
void setup()
{
Serial.begin(115200);
period = 1.0/frequency;
}
void loop() {
void loop()
{
time_0=millis();
temperaturaNTC();
if((period*1000) -(millis()-time_0)<0){
Serial.println("Frequência muito alta para operação");
break;
temperatura_NTC();
if((period*1000) -(millis()-time_0) < 0)
{
Serial.println("Erro1");
}
else
{
delay((period*1000) -(millis()-time_0));
}
delay((period*1000) -(millis()-time_0));
}
void temperatura_NTC()
{
sensorValue = analogRead(sensorPin);
sensorValue = analogRead(sensorTemperature);
Serial.println(sensorValue);
}
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