Beaglebone Black – IoT com ThingSpeak

thingspeak

Introdução

Já faz alguns anos que a famigerada Internet of Things (IoT) está entre os tópicos mais badalados da área. Não que antes não houvessem dispositivos embarcados que se conectassem à internet, mas de um tempo pra cá, impulsionado pelo estilo de vida cada vez mais conectado da população e pelo avanço de hardware, surgiu um movimento forte de pessoas e empresas trabalhando nesse assunto. 

E com tanta gente pensando e desenvolvendo soluções para conectar seus dispositivos na internet, já surgiram na comunidade incontáveis abordagens e projetos diferentes para todo tipo de situação em que o seu dispositivo possa se encaixar.

Neste post vou falar um pouco de um desses projetos, o ThingSpeak, que nada mais é do que uma aplicação e API open source desenvolvidos com o framework Ruby on rails, e que podem ser utilizados para armazenar, enviar, organizar, processar e até exibir de forma gráfica os seus dados, que podem ser informações comuns, de localização, ou de status dos seus dispositivos.

A aplicação ThingSpeak com a qual as “coisas” irão se conectar por HTTP pode ser instalada em qualquer computador, dispositivo, ou até mesmo ser utilizada na nuvem por meio do thingspeak.com.

A ideia é que a plataforma funcione como um concentrador de dados e serviços, onde as informações de todos os seus dispositivos vão estar armazenadas e organizadas.

Figura 1 – ThingSpeak e IoT.

Na prática

Como de costume vou usar uma Beaglebone Black revisão C e sua última imagem oficial com Debian. Também vou utilizar o acesso à internet para o nosso exemplo e para clonar o projeto do GitHub.

Nosso código será desenvolvido em Python 2.7.3 e irá ler a temperatura ambiente com o sensor de temperatura LM35 utilizando o conversor A/D da Beaglebone Black conforme explicado no post anterior, e irá subir essa e outras informações do dispositivo para o thingspeak.com.

Figura 2 – Beaglebone Black e o sensor de temperatura LM35.

Criando o seu canal no ThingSpeak.com

Figura 3 – Criando canal no ThingSpeak.com.

O circuito

O circuito para ligar o sensor LM35 na Beaglebone Black é simples, e pode ser observado no esquema abaixo.

Figura 4 – Montagem da Beaglebone Black com o sensor de temperatura LM35.

O script

Agora vamos desenvolver um código para a Beaglebone Black realizar a leitura do sensor de temperatura e envia-la para o thinsgspeak.com.

O código está no GitHub. Para clonar o projeto, habilitar o conversor A/D e rodar o script basta utilizar os comandos seguintes: 

As explicações estão todas nos comentários do script, assim acho que fica mais fácil de visualizar o funcionamento do programa.

Resultado na Beaglebone Black:

Figura 5 – Resultado na Beaglebone Black.

Resultado no ThingSpeak:

Figura 6 – Resultado no ThingSpeak.

Referências

[1] https://thingspeak.com/ [2] https://github.com/iobridge/ThingSpeak [3] http://rubyonrails.org/ [4] https://thingspeak.com/channels/public [5] https://www.embarcados.com.br/beaglebone-black-gravando-uma-nova-imagem/ [6] https://www.embarcados.com.br/beaglebone-black-internet-pela-usb/ [7] https://github.com/igorTavares/bbb_thingspeak_temperature [8] http://www.ti.com/lit/ds/symlink/lm35.pdf [9] https://www.embarcados.com.br/beaglebone-black-conversor-ad-sensor-ultrassonico