Commit 6c816291 authored by ='s avatar =

Adição do READ_ME e do shell script, embora tenha bug com o comando python estudando solução

parent 4969378f
# Estação Biométrica
Centro de Tecnologia Acadêmica - UFRGS
http://cta.if.ufrgs.br
Licença: GPL v3
Autor: Béuren F. Bechlin
## Documentação de uso
### Arduino
Inicialmente é necessário fazer upload do sketch biometrica.ino para seu micro-
controlador arduino.
### Python
Para o perfeito funcionamento dos algoritmos é necessário ter um interpretador
de python com pelo menos a versão 2.7 instalada em sua máquina. Além disso,
alguns módulos de python são necessários:
* python-scipy
* python-tk (tkInter)
* python-matplotlib
* python-sys
* python-serial
* python-Image
* python-time
* python-os
#### Armazenamento.py
Programa para aquisição dos dados do Arduino salvando-os em um arquivo .log.
Este programa é utilizado com o programa biometrica.ino no qual a taxa de
amostragem é definida no microcontrolador.
Ordem de argumentos : [porta],[taxa_transmissão],[arquivo_saída]
Onde:
1. porta: porta serial no qual o arduino está conectado
2. taxa_transmissão: velocidade de comunicação serial
3. arquivo_saída: nome do arquivo em que os dados serão salvos
4. tempo_de_execução: tempo total de execução, em segundos
PADRÃO NOME DO ARQUIVO DE SAÍDA: coleta_[Nome]_[Sobrenome]_[obs].log
[obs] são observações caso sejam necessárias
Lembrando também que a taxa de transmissão(Baud Rate) da comunicação serial tem
de ser multiplo par de 300. Exemplo 1200, 9600.
#### Visualiza.py
Programa que estima e emite um relatório sobre a frequência respiratória.
Ordem de argumentos : [arquivo_entrada], [instante inicial], [instante final],
[tipo do filtro], [repetições], [freq_inicial], [freq_final]
Onde:
-Evidenciando arquivo onde estão os dados a serem anilizado/exibidos:
1. arquivo_entrada: arquivo que será visualizado/analisado.
-Determinando em que ponto da amostra quer ser analizado:
2. instante inicial(s): instante para iniciar a visualização/analise.
3. instante final(s): instante para finalizar a visualização/analise.
-Escolhendo filtro apropriado:
4. tipo do filtro: escolher o filtro a ser utilizado no processo. (1 ou 2)
5. repetições: definir a quantidade de vezes que o filtro será utilizado.
-Definindo o espectro de frequência a se uso:
6. freq_inicial(Hz): definir a frequência inicial positiva que será usada, isso
influenciará na precisão do resultado para o método.
7. freq_final(Hz): definir a frequência final positiva que será usada, lembrando
que pela definição de transformada de fourier o domínio do espectro de frequência
não será maior que a frequência de obtenção desses dados divido por 2, ou seja,
a as frequências definidas aqui devem estar no intervalo [0;freq/2].
......@@ -29,6 +29,9 @@ argumento = sys.argv[1:] #renomeando os argumentos
baud_rate = [300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 115200]
baud_correct = 0
# Erros
if len(sys.argv) < 4:
sys.stderr.write('ERRO: Argumentos insuficientes.\nEm caso de dúvidas leia o READ_ME.md.\n' )
sys.exit(1)
if not os.path.exists(argumento[0]):
sys.stderr.write('ERRO: Arduino não está conectado na porta '+argumento[0]+'!\nEm caso de dúvidas leia o READ_ME.md.\n')
sys.exit(1)
......@@ -42,6 +45,7 @@ if not baud_correct:
sys.stderr.write('ERRO: A taxa de transmissão '+argumento[1]+' não pode ser usada pelo microcontrolador!\nEm caso de dúvidas leia o READ_ME.md.\n')
sys.exit(1)
# Iniciando comunicação serial
ser = serial.Serial(argumento[0], argumento[1])
# Limpando buffer para retirar as medidas feitas antes de iniciar o software
......
#!/bin/bash
# Script Biometrica
if [ $# -eq 0 ] ; then
echo 'ERRO: Faltam argumentos.\nPor favor inicie novamente e passe os argumentos na ordem\n[PORTA_USB] [NOME_SAÍDA] [TEMPO]'
exit 1
fi
usb_port=$1
log_file=$2
log_file="$log_file.log"
time=$3
echo "Bem Vindo!\n Esse script realiza o processo padrão para estimar a frequência respiratória."
echo "Dados usados:\n PORTA USB = $usb_port\tNOME DO ARQUIVO = $log_file\tTEMPO DO EXERCÍCIO = $time s"
echo "Iniciando em: \n3..."
sleep 1
echo "2..."
sleep 1
echo "1..."
sleep 1
echo "python armazenamento_new.py $usb_port 115200 $logfile $time"
python armazenamento_new.py $usb_port 115200 $logfile $time
if [ -f "$log_file" ]
then
echo "DADOS FORAM ARMAZENADOS COM SUCESSO! \n Iniciando algoritmo para o relatório."
python visualiza_new.py $log_file 0 $time 2 4 0 1
else
echo "ERRO! Não foi possivel realizar as operações"
fi
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