ThingSpeak com Arduino e outros dispositivos

thingspeak_arduino_01

ThingSpeak é um serviço que oferece uma infraestrutura de web e um protocolo de comunicação baseado em http para envio e recebimento de dados gerados em Arduino ou qualquer outro dispositivo com recursos para comunicação em rede. Pode-se dizer que qualquer dispositivo com conectividade para a Internet com serviço http e capaz de realizar GET e POST pode se comunicar com o ThingSpeak.  Com esse serviço é possível por exemplo usar o Arduino para gerar um tweet, criar uma rede social de dispositivos ou controlar a distância motores e outros dispositivos.  Nesse experimento vamos utilizar a montagem para medir temperatura e umidade já apresentada, será associada a shield ethernet para comunicação com a rede.  Vou considerar que você já tem seu Arduino com o shield montado e funcionando e partir para a criação da conta no ThingSpeak e configuração. Criar a conta é a forma padrão, nome de usuário senha e informações adicionais.

Com a conta criada acesse o menu superior e selecione Canais e depois Meus Canais.

thingspeak_arduino_02

O passo seguinte é criar um canal e configurá-lo. É no canal que serão exibidos os dados.

Criar Canal

Criar Canal

Preencha as informações como nome e descrição. Os dados serão associados ao Campos numerados de 1 a 8. No meu caso vou usar o Canal 1 para temperatura e o 2 para umidade. Lembre de clicar no botão Atualizar Canal

thingspeak_arduino_04

Para acessar o canal é preciso gerar uma chave de escrita que funciona como um mecanismo de autenticação do seu canal. Acesse aba Chave e clicar no botão Gerar nova chave de escrita.

thingspeak_arduino_05

Com esse passos o canal está configurado e pronto para receber os dados. Vamos para a etapa de escrever o código para o Arduino destacando os pontos principais da implementação. O código completo pode ser obtido aqui.

1. Configure o endereço do site

char thingSpeakAddress[] = “api.thingspeak.com”;

2. Insira a chave de escrita criada anteriormente

String writeAPIKey = “sua chave de escrita aqui”;

3. A linha abaixo faz chamada a função que recebe como parâmetros os campos que serão atualizados, field1 corresponde ao Campo 1 configurado no site, associado aos valores de temperatura e umidade.

updateThingSpeak(“field1=” + v_temperatura + “&field2=” + v_umidade);

Faça os ajustes no código fonte carregue no Arduino e se não houver nenhum problema de comunicação com a rede os dados serão enviados para o ThingSpeak e exibidos na forma de gráfico. Também é possível associar um plugin para por exemplo exibir o dado na forma de um mostrador. Vou tratar disso em outro experimento.
Pelo fato da minha shield ethernet estar travando com certa regularidade configurei o watchdog timer do Arduino para tratar os travamentos.
Tenho deixado esse  experimento ligado e executando por vários dias seguidos sem nenhum problema.
Algumas referências e materiais que utilizei nesse experimento:

Esse post foi publicado em Uncategorized. Bookmark o link permanente.

Deixe um comentário