Buscar

Transmissao de dados utilizando o Minimodem, RTTY e Arduino

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Transmissa˜o de informac¸o˜es de umidade e temperatura
utilizando Minimodem, RTTY e Arduino
Leandro Alves Vianna1, Rafael de Castro Silva1,
Victor Messias da Silva1, Walisson Pereira de Jesus1
1Instituto de Informa´tica – Universidade Federal de Goia´s (UFG)
CEP 74690-900 – Goiaˆnia – GO – Brazil
{leandro97vianna, rafaelgyncastro63, walissonpj}@gmail.com, vic silva@live.com
Abstract. This article has as main objective to describe the operation of the tool
minimodem - modem FSK of audio software with RTTY. For the development of
this article, concepts of FSK, RTTY and basic knowledge of arduino were used.
Using this tool allows you to transfer data between nearby computers using an
audio cable (or just through sound waves) or between remote computers using
radio, telephone, or other audio communication medium.
Resumo. Este artigo tem como objetivo principal descrever o funcionamento
da ferramenta minimodem - modem FSK de software de a´udio com RTTY. Para
o desenvolvimento desse artigo, foram utilizados conceitos de FSK, RTTY e co-
nhecimento ba´sico de Arduino. A utilizac¸a˜o dessa ferramenta permite transferir
dados entre computadores pro´ximos usando um cabo de a´udio (ou apenas por
meio de ondas sonoras) ou entre computadores remotos usando ra´dio, telefone
ou outro meio de comunicac¸a˜o de a´udio.
1. Introduc¸a˜o,
Nos dias atuais utilizamos va´rias formas de comunicac¸a˜o atrave´s da variac¸a˜o de carac-
terı´sticas de ondas eletromagne´ticas. No´s chamamos de modulac¸a˜o o processo de trans-
missa˜o de uma informac¸a˜o atrave´s da alterac¸a˜o de caracterı´sticas de uma onda eletro-
magne´tica. Demodulac¸a˜o e´ processo de recuperac¸a˜o dessa informac¸a˜o ao receber a onda
eletromagne´tica alterada.
Para realizar a transmissa˜o e recepc¸a˜o de dados e´ necessa´rio um intermedia´rio
chamado de modem. O Minimodem e´ um programa capaz de agir como um modem
para protocolos de transmissa˜o do tipo FSK (Frequency-shift keying), que utilizam ondas
sonoras para transmitir dados. Ele e´ capaz tanto de converter dados em a´udio (modo
transmissor) quanto a´udio em dados (modo receptor).
Neste artigo iremos descrever um experimento utilizando um Arduino, sensor de
temperatura DHT11 e uma caixa de som. O objetivo e´ fazer a transmissa˜o de informac¸o˜es
de temperatura e umidade captadas pelo sensor DHT11 e recebidas pelo Arduino utili-
zando o protocolo RTTY (Radioteletype). O a´udio enviado pela caixa de som conectada
ao Arduino, codificado usando o protocolo RTTY, sera´ captado por um microfone co-
nectado a um computador executando o Minimodem em modo de recepc¸a˜o. Enta˜o, o
Minimodem ira´ demodular o a´udio e decodificar as informac¸o˜es de temperatura e umi-
dade enviadas pelo Arduino [Granatello ].
Esperamos como resultado do experimento uma transmissa˜o de dados de umidade
e temperatura feita pelo Arduino, que recebida pelo Minimodem tenha em me´dia uma taxa
de sı´mbolos corretos de 90%.
2. Background
Nesta sec¸a˜o iremos explicar o funcionamento de cada uma das tecnologias utilizadas no
experimento. Na sec¸a˜o 2.1 falaremos sobre o Arduino. Na sec¸a˜o 2.2 descreveremos o
sensor de temperatura e umidade utilizado no experimento. Na sec¸a˜o 2.5 explicaremos o
funcionamento do Minimodem. Na sec¸a˜o 2.3 e 2.4 falaremos sobre protocolos FSK e o
RTTY especificamente.
2.1. Arduino
Arduino e´ uma plataforma de prototipagem eletroˆnica de hardware livre e placa u´nica
lanc¸ada em 2005. Foi projeta com um microcontrolador Atmel AVR com suporte
de entrada/saı´da embutido. O objetivo da plataforma e´ criar ferramentas acessı´veis,
flexı´veis, de baixo custo e que esteja no alcance de principiantes e profissionais. Existem
va´rias verso˜es da plataforma, pore´m, a utilizada nesse experimento foi a MEGA 2560
[Wikipedia ] [Lemos ].
O Arduino MEGA 2560 e´ baseado no microcontrolador ATmega2560, possui 54
pinos de entrada e saı´das digitais, sendo 15 que podem ser usados como saı´da PWM. Sa˜o
16 entradas analo´gicas, 4 portas de comunicac¸a˜o serial [Embarcados ].
2.2. Sensor de Temperatura e Umidade DHT11
O Arduino possui va´rios acesso´rios, que sa˜o expanso˜es que disponibilizam func¸o˜es es-
pecı´ficas, desde a manipulac¸a˜o de motores ate´ sistemas de rede sem fio. Uma delas e´ o
DHT11, um sensor de umidade e temperatura que pode ser conectado na placa Arduino e
assim passa a fornecer dados de temperatura e umidade do ambiente.
Este sensor e´ constituı´do de duas partes principais: um sensor de umidade capaci-
tivo e um termistor. Ale´m dessas partes, o sensor possui 4 pinos que podem ser facilmente
conectados a` placa, enviando assim as informac¸o˜es para o Arduino [da Eletroˆnica ].
2.3. Frequency-shift keying (FSK)
O processo de modulac¸a˜o e´ a transformac¸a˜o de um sinal que conte´m informac¸o˜es em
um sinal modulado de acordo com o meio de transmissa˜o. A modulac¸a˜o FSK varia a
frequeˆncia de uma onda portadora analo´gica de acordo com a pre´-configurac¸a˜o.
Na modulac¸a˜o FSK os sı´mbolos bina´rios sa˜o associados a diferentes valores de
frequeˆncia que possui formato senoidal. O sı´mbolo ”1”e´ associado a uma variac¸a˜o na
frequeˆncia f1 e o ”0”e´ associado a outra variac¸a˜o na frequeˆncia f0 [Mathias and Pava˜o ].
Veja exemplo na figura 1.
Figura 1. Modulac¸a˜o FSK
2.4. RTTY (Radioteletype)
RTTY e´ uma te´cnica que utiliza o sistema bina´rio com 5 bits para representar as le-
tras do alfabeto, nu´meros e alguns caracteres especiais. O co´digo para mudar as letras
para maiu´sculas e minusculas tambe´m e´ enviado no sinal. Essas informac¸o˜es sa˜o repre-
sentadas no sinal de ra´dio emitido pelo dispositivo em uma determinada frequeˆncia. A
implementac¸a˜o do RTTY e´ conhecida como co´digo Murray ou co´digo Baudot [notes ].
Uma das limitac¸o˜es do RTTY e´ que na˜o existe correc¸o˜es de erros ja´ que o mesmo
pode sofrer interfereˆncias do meio externo. Outro desvantagem e´ a relativa lentida˜o que
os dados sa˜o enviados, pois a transmissa˜o e´ feita de forma mecaˆnica [Fresco ].
Uma das vantagens do RTTY e´ que apesar da relativa lentida˜o na transmissa˜o dos
dados, a largura de banda necessa´ria e´ relativamente baixa. E filtros podem ser utilizados
para minimizar os ruı´dos causados por interfereˆncias externas [notes ] [Cunha ].
2.5. Minimodem
O Minimodem e´ um programa de linha de comando capaz codificar e decodificar a´udio
em dados. Ele suporta qualquer taxa de banda especificada. Ele e´ um modulador e de-
modulador de protocolos do tipo FSK, suportando protocolos como Bell103, Bell202,
RTTY, TTY/TDD, NOAA SAME, e Caller-ID. No´s estamos interessados no suporte ao
RTTY para esse experimento. Ele pode tanto fazer a decodificac¸a˜o usando arquivos de
a´udio ou capturando em tempo real a partir de uma entrada de a´udio, como um microfone
[Mostafa ].
Portanto, o Minimodem pode ser usado para a comunicac¸a˜o entre dois computa-
dores pro´ximos utilizando caixas de som e microfones ou cabos de a´udio, assim como de
computadores mais distantes utilizando ra´dio ou telefone [Mostafa ].
3. Descric¸a˜o da ferramenta
3.1. Funcionamento
O Minimodem e´ um programa capaz de codificar/decodificar a´udio em dados. A interface
de linha de comando do Minimodem permite uma se´rie de modificac¸o˜es no comporta-
mento do programa. As principais opc¸o˜es sa˜o:
• --rx Modo receptor.
• --tx Modo transmissor.
• (--rx|--tx) baudmode baudmode e´ a velocidade da transmissa˜o dado
em bauds, que sa˜o o nu´mero de sı´mbolos (ou mudanc¸as de frequeˆncia) que ocor-
rem por segundo. [Lavalar ]
• -M A frequeˆncia em Hertz que marca quando o bit transmitido e´ 1, conhecida
como MARCA. [Lavalar ]
• -S A frequeˆncia em Hertz que marca quando o bit transmitido e´ 0, conhecida
como ESPAC¸O. [Lavalar ]
• -7 Codifica/Decodifica os dados em tabela ASCII de 7 bits. Por padra˜o, o
Minimodem trabalha com ASCII de 8 bits.
• -f file Direcionaa saı´da da codificac¸a˜o/decodificac¸a˜o para um arquivo.
E´ importante mencionar, que no caso do protocolo RTTY que foi utilizado, as
frequeˆncias que marcam o bit 0 e 1 devem ter uma diferenc¸a de 170 Hz. Por exemplo,
se a MARCA for configurado para 2200 Hz enta˜o o ESPAC¸O deve ser configurado para
2030 Hz. [Lavalar ]
3.2. Conexo˜es na placa Arduino
A figura 2 mostra um diagrama com as conexo˜es feitas no exemplo proposto.
Figura 2. Conexa˜o do sensor e caixa de som no Arduino
3.3. Co´digo do exemplo
O co´digo inserido para execuc¸a˜o no Arduino esta´ a seguir. Estamos carregando as bibli-
otecas utilizadas para interagir com os sensores DHT11 e para a transmissa˜o dos dados
atrave´s da caixa de som usando o protocolo RTTY. Perceba que no co´digo esta´ indicado
os pinos nos quais conectamos os dispositivos externos a placa (sensor e caixa de som) de
acordo com o diagrama apresentado anteriormente (figura 2).
#include <dht11.h>
#include <RTTY.h>
dht11 DHT11;
#define DHT11PIN A2 // pino do sensor de temp.
#define AUDIOPIN 51 // pino da caixa de som
char buffer[50]; // buffer para colocar o valor da temp. e umi.
como string
void setup()
{
Serial.begin(115200);
Serial.print("DHT11 LIBRARY VERSION: ");
Serial.println(DHT11LIB_VERSION);
Serial.println();
// orienta a biblioteca do RTTY para enviar sinais ao pino da
caixa de som
RTTY.attach(AUDIOPIN);
}
void loop()
{
Serial.println("\n");
// verifica se o sensor esta ok
int chk = DHT11.read(DHT11PIN);
Serial.print("Read sensor: ");
switch (chk)
{
case DHTLIB_OK:
Serial.println("OK");
break;
case DHTLIB_ERROR_CHECKSUM:
Serial.println("Checksum error");
break;
case DHTLIB_ERROR_TIMEOUT:
Serial.println("Time out error");
break;
default:
Serial.println("Unknown error");
break;
}
// pega a temperatura e umidade
float temp = (float) DHT11.temperature;
float hum = (float) DHT11.humidity;
Serial.print("Umidade (\%): ");
Serial.println(hum, 2);
Serial.print("Temperatura (C): ");
Serial.println(temp, 2);
// envia as informacoes usando RTTY para a caixa de som
RTTY.tx("BEGIN\n");
RTTY.tx("Temperatura: ");
dtostrf(temp, 2, 2, buffer);
RTTY.tx(buffer);
RTTY.tx("\n");
RTTY.tx("Umidade: ");
dtostrf(hum, 2, 2, buffer);
RTTY.tx(buffer);
RTTY.tx("\n");
RTTY.tx("END\n");
// espera 10 segundos para enviar novamente
delay(10000);
}
3.4. Configurac¸a˜o do Minimodem
O Minimodem esta´ disponı´vel nas distro GNU/Linux Ubuntu e Debian pelo seus gerenci-
adores de pacotes. Instalado, basta executar no terminal o comando: minimodem --rx
50 -M 2290 -S 2120 -7 -q. Esse comando vai iniciar o Minimodem no modo de
recepc¸a˜o (--rx) recebendo dados que utilizam a codificac¸a˜o ASCII de 7 bits (-7).
Quando o Arduino iniciar a transmissa˜o dos dados, o microfone deve passar a
captar o som, e o Minimodem fara´ a demodulac¸a˜o imprimindo na tela do terminal as
informac¸o˜es que o Arduino estiver enviando. A seguir, um exemplo de saı´da do Minimo-
dem recebendo as informac¸o˜es do Arduino.
BEGIN
Temperatura: 26.00
Umidade: 15.00
END
BEGIN
Temperatura: 26.00
Umidade: 15.00
END
BEGIN
Temperatura: 26.00
Umidade: 15.00
END
4. Definic¸a˜o do Problema e Proposta de Experimento
Essa sec¸a˜o apresenta: Sec¸a˜o 4.1 apresenta a descric¸a˜o do problema de forma geral, a
Sec¸a˜o 4.2 tra´s a proposta do experimento.
4.1. Descric¸a˜o do Problema
Devido a necessidade da transmissa˜o de dados com baixo custo, e a largura de banda
necessa´ria relativamente baixa, o Minimodem em conjunto com o Arduino se apresentam
como uma boa soluc¸a˜o. O Minimodem e´ um software aberto, gratuito e o Arduino e´ uma
plataforma aberta e de baixo custo.
4.2. Proposta do experimento
A soluc¸a˜o proposta e´ a utilizac¸a˜o de um Arduino para realizar a transmissa˜o da tem-
peratura e umidade recebidas do sensor utilizando o protocolo RTTY. Para receber as
informac¸o˜es de temperatura e umidade conectaremos um sensor capaz de captar essas
informac¸o˜es ao Arduino. Para transmissa˜o das ondas sonoras do protocolo RTTY utiliza-
mos uma caixa de som conectada ao Arduino.
A transmissa˜o e´ feita atrave´s da caixa de som e o a´udio captado por um compu-
tador pro´ximo equipado com microfone. O computador estara´ executando o programa
Minimodem em modo de recepc¸a˜o, que ira´ fazer a demodulac¸a˜o do a´udio, convertendo
em texto. Esse texto sa˜o as informac¸o˜es de temperatura e umidade recebidas do sensor e
enviadas pelo Arduino.
Figura 3. Ilustrac¸a˜o do funcionamento
5. Metodologia
Executamos uma se´rie de testes em alguns cena´rios diferentes e observando paraˆmetros
que definimos. A seguir, descrevemos os paraˆmetros definidos e os cena´rios de teste.
5.1. Paraˆmetros de avaliac¸a˜o
Consideramos os seguintes paraˆmetros para avaliac¸a˜o do experimento proposto. i) Taxa
de dados corretos: Avaliac¸a˜o da quantidade de dados efetivamente recebidos, pela quan-
tidade de dados transmitidos. ii) Atraso de transmissa˜o: Tempo ocorrido entre o envio e a
recepc¸a˜o de cada sı´mbolo.
5.2. Cena´rios de teste
O experimento foi executado em diferentes cena´rios visando avaliac¸o˜es dos paraˆmetros
em situac¸o˜es distintas.
• Cena´rio 1: O experimento e´ executado em um ambiente de muito ruı´do, como o
laborato´rio de informa´tica durante as aulas. O experimento foi feito com va´rios
nı´veis de ruı´do diferentes, avaliando o paraˆmetro taxa de dados corretos.
• Cena´rio 2: O experimento e´ executado em um ambiente de pouco ruı´do, mas com
variac¸o˜es na distaˆncia entre o Arduino e o computador equipado com o disposi-
tivo de entrada e executando o Minimodem. A cada distaˆncia, sera´ avaliado o
paraˆmetro taxa de dados corretos.
• Cena´rio 3: O experimento e´ executado em um ambiente de pouco ruı´do, mas com
variac¸o˜es na distaˆncia, e com uma barreira fı´sica entre o Arduino e o computador
equipado com o dispositivo de entrada e executando o Minimodem. A barreira
fı´sica e´ formada por papela˜o, e a cada distaˆncia sera´ avaliado o paraˆmetro da taxa
de dados corretos.
6. Resultados
• Resultado obtido a partir do cena´rio 1
0 10 20 30 40 50 60 70 80 90 100
0
10
20
30
40
50
60
70
80
90
100
Ruı´dos externos (dB)
Ta
xa
de
D
ad
os
C
or
re
to
s
(%
)
Como apresentado pelo gra´fico acima, no ambiente com muito ruı´do podemos
notar que a taxa de transmissa˜o diminui com os ruı´dos externos.
• Resultado obtido a partir do cena´rio 2
0 0.5 1 1.5 2
0
10
20
30
40
50
60
70
80
90
100
Distaˆncia (m)
Ta
xa
de
D
ad
os
C
or
re
to
s
(%
)
Este gra´fico apresenta a relac¸a˜o da taxa de dados corretos pela distaˆncia avaliado
em um ambiente de pouco ruı´do. Concluı´mos que ate´ certa de 1,5 metro a taxa
de dados corretos se mante´m aceita´vel. Ja´ a partir disto, os dados passam a ser
ilegı´veis.
• Resultado obtido a partir do cena´rio 3
0 0.5 1 1.5 2
0
10
20
30
40
50
60
70
80
90
100
Distaˆncia (m)
Ta
xa
de
D
ad
os
C
or
re
to
s
(%
)
Neste cena´rio, em que foi avaliado a taxa de dados corretos em um ambiente com
poucos ruı´dos e com alguns obsta´culos, podemos concluir ate´ cerca de 1 metro, os
dados ainda conseguem ser interpretados mesmo com alguns erros na transmissa˜o.
A partir de 1 metro, a perda de informac¸o˜es e´ alta e prejudica o entendimento dos
dados transmitidos.
7. Conclusa˜o
Neste trabalho concluı´mos o experimento de transmissa˜o de dados de temperatura e umi-
dade utilizando tecnologias como o Arduino, Minimodem e protocolo RTTY. Nosso ob-
jetivo de chegar a 90% de taxa de dados corretos foi alcanc¸ado em algumas situac¸o˜es
especı´ficas dos testes em todos os treˆs cena´rios.
Podemos concluir que a tecnologia de transmissa˜o de dados utilizando ondas de
a´udio possibilitada pelo Minimodemtem uma se´rie de limitac¸o˜es, demostradas principal-
mente no cena´rios 2 e 3 com o aumento da distaˆncia do receptor de a´udio e saı´da de a´udio
conectada no Arduino e no cena´rio 1 com o aumento da quantidade de ruı´dos no ambiente
do teste, quando ocorreram pioras significativas na taxa de dados corretos.
Contudo, situac¸o˜es de emergeˆncia como de terremotos, tsunamis, furaco˜es, entre
outras, podem ser cena´rios em que a falta de melhores tecnologias torna as tecnologias
de transmisso˜es de dados pelo a´udio, como o Minimodem e o protocolo RTTY, a serem
bastante u´teis por conta da facilidade de uso e o pouco recurso de hardware e software
necessa´rio, como demostrado anteriormente neste artigo.
8. Refereˆncias
Refereˆncias
Cunha, M. P. Modalidade rtty. https://logicamaxtec.webnode.com.br/
o-que-e-uhf-/. Acessado: 2 de Outubro de 2018.
da Eletroˆnica, B. Dht11: Sensor de umidade e temperatura com arduino uno). http:
//blog.baudaeletronica.com.br/dht11-com-arduino. Acessado: 11
de Setembro de 2018.
Embarcados. Saiba mais sobre a placa arduino mega 2560. https://www.
embarcados.com.br/arduino-mega-2560/. Acessado: 11 de Setembro de
2018.
Fresco, S. Introduc¸a˜o aos modos digitais. https://www.radioamadores.net/
modos_digitais_ct2irj.html. Acessado: 11 de Setembro de 2018.
Granatello, E. Hello world: Long range wireless sensor (example of transmission using
minimodem). http://emmanuelgranatello.blogspot.com/2012/08/
remote-temperature-sensor.html. Acessado: 11 de Setembro de 2018.
Lavalar. Modalidade rtty. https://www.geralforum.com/board/
showthread.php/38380-modalidade-rtty. Acessado: 2 de Outubro
de 2018.
Lemos, M. Arduino: Conhec¸a esta´ plataforma de hardware li-
vre e suas aplicac¸o˜es. http://blog.fazedores.com/
arduino-conheca-esta-plataforma-de-hardware-livre-e-suas-aplicacoes/.
Acessado: 11 de Setembro de 2018.
Mathias, M. A. and Pava˜o, A. C. Curso de modulac¸a˜o digial de sinais parte(1). https:
//maua.br/files/artigos/curso-modulacao-digital-parte-1.
pdf. Acessado: 11 de Setembro de 2018.
Mostafa, K. minimodem - general-purpose software audio fsk modem. http://www.
whence.com/minimodem/. Acessado: 11 de Setembro de 2018.
notes, E. What is rtty for amateur radio. https://www.
electronics-notes.com/articles/ham_radio/digimodes/
what-is-rtty-radio-teletype.php. Acessado: 11 de Setembro de
2018.
Wikipedia. Arduino. https://pt.wikipedia.org/wiki/Arduino. Acessado:
11 de Setembro de 2018.

Outros materiais

Outros materiais