Monte um datalogger com BeagleBone Black 4

A BeagleBone Black é um nome muito importante no mundo maker, sobretudo no quesito de projetos IoT. Porém, nem sempre tudo está no “caminho feliz”. Imagine-se numa situação onde é preciso fazer um projeto para  registrar determinados dados (para posterior análise). Seria relativamente simples se utilizar uma plataforma como o ThingSpeak, por exemplo, certo? Mas e se o local onde o projeto for aplicado não possuir acesso à Internet (uma fazenda, por exemplo), como se faz? É isto que esse post irá mostrar, montando um datalogger com BeagleBone Black com a gravação dos dados em um pendrive.

PENDRIVE_CONECTADO

O que é um datalogger?

Um datalogger é um dispositivo eletrônico capaz de registrar, ao longo do tempo, dados diversos (normalmente, originados de leituras de sensores). O estímulo (“trigger”) para o registro de um dado neste tipo de equipamento pode ser de dois tipos:

  • Por periodicidade e amostragem: de tempos em tempos os dados são registrados, sendo assim uma aquisição à taxa de amostragem fixa (X amostras / segundo)
  • Por evento: mediante o atendimento de alguma condição (nivel de sinal de um sensor, por exemplo), N dados são registrados. Aqui, como não há uma periodicidade, não se tem uma taxa de amostragem constante ao longo do registro de sinal.

Em suma, um datalogger é capaz de ler sensores e registrar os valores de leitura para posterior análise.

Onde os dados serão armazenados?

No projeto deste post, conforme já explicitado anteriormente, não se fará uso de Internet. Neste caso, como o volume de dados pode ser grande (você pode precisar registrar dados por períodos indo de poucos minutos até semanas dependendo da aplicação), iremos utilizar como memória de armazenamento dos registros um pendrive comum.

A BeagleBone Black conta com uma entrada USB Host, o que permite utilizar um pendrive na mesma sem nenhum adaptador adicional, como na imagem mostrada no início deste post.

Procedimento para uso do pendrive na BeagleBone Black

A título de conhecimento, o procedimento para utilização de um pendrive na BeagleBone Black pode ser visto a seguir:

  • Acessar a BeagleBone Black via SSH. Se não sabe como fazer isto, confira este tutorial.
  • Insira um pendrive na porta USB da placa
  • No terminal (acesso via SSH), digite o seguinte comando:

    Este comando mostrará os discos / memórias de armazenamento presentes (no caso, a memória flash da placa e o pendrive). Observe a execução deste comando em uma BeagleBone Black nossa:

    DevSDA1PendriveBBB

    Conforme observado na figura, o pendrive está se mostrando como um sistema de arquivos no dispositivo sda1 (/dev/sda1).

  • Digite o seguinte comando:

    Este comando irá criar o local onde o pendrive será montado no Linux.

  • Faça a montagem do pendrive / memória de armazenamento. No Linux, a montagem é a inclusão de um sistema de arquivos qualquer (no caso, um pendrive) na árvore de sistema de arquivos do Linux. Em outras palavras, permitirá usar o pendrive como uma memória de armazenamento qualquer. Para fazer isto, digite o seguinte comando:

    Onde /media/usb se refere ao diretório criado no passo 4.

  • A partir deste momento, o pendrive pode ser acessado normalmente. Para acessá-lo e listar todos os arquivos gravados na pasta raíz, por exemplo, digite os seguintes comandos:

Atenção: se desejar parar de usar o pendrive e/ou remover o pendrive da placa, SEMPRE faça a desmontagem, caso contrário corre-se um sério risco de danos à memória flash do pendrive. Isto é equivalente a quando usamos o “Remover dispositivo com segurança” no Windows. Para efetuar a desmontagem, utilize o seguinte comando:

 

Projeto Datalogger com BeagleBone Black

O projeto deste post é um datalogger de temperatura e umidade relativa do ar. Ambos os dados serão lidos a cada 10 segundos e registrados no pendrive na forma de um arquivo csv (o que permitirá, após a aquisição de dados, diretamente analisá-los em um programa como o Excel). O sensor utilizado é o DHT22.

O circuito esquemático do datalogger com BeagleBone Black pode ser visto a seguir. A alimentação pode ser feita tanto pela USB quanto pela entrada de fonte DC 5V.

 

Circuito Datalogger com BeagleBone Black

Bibliotecas necessárias

Para este projeto, será necessário instalar a biblioteca (para Python) para comunicar com o sensor DHT22. O procedimento de instalação e link para o repositório GitHub da biblioteca é exibido neste site.

Código-fonte

O código-fonte do projeto pode ser visto a seguir.
IMPORTANTE: observe que o programa automaticamente monta e desmonta o pendrive. Portanto, para este projeto, não é preciso fazer a montagem e desmontagem manualmente.

Salve o arquivo como DataLogger.py .

Resultado da execução do programa

Vamos agora testar o datalogger com BeagleBone Black. Primeiramente, insira o pendrive na BeagleBone Black. Em seguida, para executar o programa, digite o seguinte comando:

A execução será iniciada. Primeiramente, será feita a montagem do pendrive. Em seguida, as leituras do sensor e gravações no arquivo csv. Finalmente, ao se pressionar Ctrl+C, o programa é encerrado. O resultado da execução na tela do terminal Linux é mostrado na figura abaixo:
ExecucaoDataLoggerBBB

Feito isso, remova o pendrive da BeagleBone Black e insira-o no computador. Você verá um arquivo CSV no pendrive chamado Registros.csv, conforme mostra a imagem a seguir:

TelaArquivosPendriveDataLogger

A partir daqui, basta utilizar o arquivo CSV como quiser (inclusive no prórpio Excel)!

Se você desejar, pode utilizar algum visualizador de arquivos CSV online. Como sugestão, recomendo o Online CSV Viewer. Nele, configure o separador como vírgula (comma), conforme mostra a imagem a seguir:

OnlineCSVViewer

Gostou do post Datalogger com BeagleBone Black? Ajude-nos a melhorar o blog atribuindo uma nota a este tutorial (estrelas no final do artigo), comente e visite nossa loja FILIPEFLOP

Posts Relacionados

4 Comentários

  1. E se, ao invés de gravar em um pendrive, eu salvar o arquivo e posteriormente enviar via bluetooth. Daria certo?

  2. Gustavo, boa tarde.

    Apesar desta situação que você falou se tratar de um projeto totalmente diferente do aqui apresentado, sim, é possível.

    Atenciosamente,
    Pedro Bertoleti

  3. Ótima Aula!

    1. Nilson, muito obrigado!!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *