Commit 61212313 authored by beuren's avatar beuren

Atualização da estrutura no git e retirada da data no armazenamento

parent c79f2a17
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Controlador da estação biométrica
# Estação biométrica CTA
#
# Programa para aquisição dos dados
# Este programa é utilizado com o programa biometrica.ino no qual a taxa de amostragem é definida no microcontrolador
#
# Centro de Tecnologia Acadêmica - UFRGS
# http://cta.if.ufrgs.br
#
# Licença: GPL v3
# Ordem de argumentos : [porta],[taxa_transmissão],[arquivo_saída],[frequência]
# Onde
# [porta]: porta serial no qual o arduino está conectado
# [taxa_transmissão]: velocidade de comunicação serial
# [arquivo_saída]: nome do arquivo em que os dados serão salvos
# [frequência]: frequência de coleta de dados definida no arduino
# Exemplo: python armazenamento.py '/dev/ttyACM0' 115200 coleta1.log 5
#Ordem de parametros : [porta],[banda],[nome_arquivo],[frequencia]
#Exemplo: armazenamento '/dev/ttyACM0' 115200 teste1 5
import sys, time, serial, datetime
parametro = sys.argv[1:]
argumento = sys.argv[1:] #renomeando os argumentos
#Iniciando comunicação serial
ser = serial.Serial(parametro[0], parametro[1])
ser = serial.Serial(argumento[0], argumento[1])
time.sleep(2)
#Arquivos de log
fisiologfile = open(parametro[2]+'.log','w')
fisiologfile = open(argumento[2],'w')
now=datetime.datetime.now()
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"))
fisiologfile.write(now.strftime("#Frequência\t"+argumento[3]+"\n"+"#Estação Biométrica\n"+"#Coleta de dados iniciado em: "+"%Y-%m-%d %H:%M:%S" +"\n"))
frequencia = parametro[3]
#Variáveis de controle
frequencia = argumento[3]
periodo = 1.0/int(frequencia)
while True:
t0 = time.time()
try:
......@@ -41,7 +54,9 @@ while True:
# Arquivo de log
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")
fisiologfile = open(argumento[2],'a')
fisiologfile.write(str(t)+"\n")
fisiologfile.close()
if (periodo - (time.time()- t0))< 0:
print "Não é possível operar a essa frequência"
break
......
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Visualizador de Temperatura
# Estação biométrica CTA
#
# Programa para visualização dos dados
# Este programa é utilizado com o programa biometrica.ino no qual a taxa de amostragem é definida no microcontrolador
#
# Centro de Tecnologia Acadêmica - UFRGS
# http://cta.if.ufrgs.br
#
# Licença: GPL v3
# Ordem de argumentos : [arquivo_entrada]
# Onde
# [arquivo_entrada]: arquivo que será visualizado
# Exemplo: python visualiza.py coleta1.log
from pylab import *
import time, sys
parametro = sys.argv[1:]
ion()
fisiologfile = open(parametro[0]+'.log','r')
fisiologfile = open(parametro[0],'r')
i = 0
t = []
h = []
for linha in fisiologfile:
if linha[0] == '!':
frequencia = linha.strip('!')
if linha[0:5] == '#Freq':
frequencia = float(linha.replace('\n', '').split('\t')[1])
periodo = 1.0/ frequencia
elif linha[0] != '#':
h.append(float(linha.split('\t')[1]))
h.append(float(linha))
t.append(i)
i = i + periodo
......@@ -37,7 +49,7 @@ title('Frequência Respiratória')
#Variáveis de controle
intervalo = 5
quantidade_dados = int(intervalo*frequencia(3/2))
quantidade_dados = int(intervalo*frequencia*(3/2))
variacao = 0.02 #porcento
variacao_max = 0.20 #porcento
......@@ -49,8 +61,9 @@ while True:
t0 = time.time()
#Leitura do ultimo dado do arquivo (Problema se o arquivo não estiver sendo atualizado)
fisiologfile = open(parametro[0]+'.log','r')
s = fisiologfile.readlines()[-1].split('\t')[1]
fisiologfile = open(parametro[0],'r')
s = float(fisiologfile.readlines()[-1])
fisiologfile.close()
t.append(i)
h.append(s)
line[0].set_data(t,h)
......@@ -58,8 +71,8 @@ while True:
sub.set_xlim(x0,i)
#Controle do foco da imagem do gráfico
yf=(1.0 + variacao_y)*(max(h[-quantidade_dados:]))
yi=(1.0 - variacao_y)*(min(h[-quantidade_dados:]))
yf=(1.0 + variacao)*(max(h[-quantidade_dados:]))
yi=(1.0 - variacao)*(min(h[-quantidade_dados:]))
valor_medio= sum(h[-quantidade_dados:])/quantidade_dados
if(yf > (1 + variacao + variacao_max)*valor_medio):
yf = (1 + variacao + variacao_max)*valor_medio
......@@ -69,14 +82,14 @@ while True:
draw()
i = i+periodo
if (periodo - (time.time()- t0))< 0:
print "Não é possível operar a essa frequência"
break
fisiologfile.close()
break
time.sleep(periodo - (time.time()- t0))
except KeyboardInterrupt:
break
except ValueError:
print "Não é possível operar a essa frequência (controlador)"
break
except KeyboardInterrupt:
break
except ValueError:
print "Não é possível operar a essa frequência (controlador)"
break
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