Enviando temperatura dos núcleos da Raspberry Pi 3 para o ThingSpeak em C

Baseado neste artigo de minha autoria (sobre como enviar dados em C no Linux para o ThingSpeak), será mostrado neste artigo como enviar a temperatura instantânea dos núcleos ARM (da CPU da Raspberry Pi 3) para o ThingSpeak. 

 

 

Por que monitorar a temperatura?

 

A Raspberry Pi 3 trata-se de uma SBC (Single Board Computer) com aplicações das mais diversas possíveis, indo desde um computador de bolso para uso pessoal até um dispositivo de processamento pesado de imagens e dados.

 

Sendo assim, dependendo da demanda de processamento, a temperatura dos núcleos ARM do SoC da Raspberry Pi 3 podem subir muito, o que não é uma coisa boa em se tratando de um sistema que pode estar confinado / sem muito acesso à ventilação (aquecimento excessivo em unidades de processamento NUNCA é bom, podendo levar à redução drástica do tempo de vida da unidade de processamento / SoC em questão).

 

Deste modo, com base na temperatura dos núcleos, pode-se tomar a decisão de se colocar e/ou ligar um cooler na Raspberry Pi 3.

 

 

Canal ThingSpeak

 

Antes de ir em frente neste projeto, é necessário criar um canal no ThingSpeak e ter em mãos a chave de escrita do canal. Esta chave é fundamental para que o projeto funcione.

 

 

Projeto

 

Aproveitando o boom da Internet das Coisas, este projeto tem como objetivo permitir o monitoramento da temperatura dos núcleos da CPU da Raspberry Pi 3 via Internet. Ou seja, de qualquer lugar do planeta você poderá saber qual a temperatura (e um breve histórico das mesmas) dos núcleos da CPU de sua Raspberry Pi 3. 

 

Para isto, será utilizado como base o projeto deste artigo.  Portanto, o primeiro passo é, na Raspberry Pi 3, clonar o projeto digitando o comando abaixo:

 

 

Feito isso, entrar na pasta ThingSpeakC e, nela, substituir o conteúdo dos arquivos main.c e makefile pelos seguintes conteúdos:

 

main.c:

 

 

makefile:

 

 

Uma vez com os conteúdos substituídos, basta compilar e rodar o projeto com os seguintes comandos:

 

 

Tudo pronto! Feito isso, a temperatura dos núcleos da CPU será enviada ao ThingSpeak a cada 20 segundos. Observe:

 

Gráfico com monitoramento de temperatura dos núcleos da CPU
Figura 1 - Gráfico com monitoramento de temperatura dos núcleos da CPU

 

 

 

Aprenda mais

 

 

 

Referências

 

Sou engenheiro eletricista formado pela Faculdade de Engenharia de Guaratinguetá (FEG - UNESP) e trabalho com desenvolvimento de firmware (sistemas embarcados bare-metal) na região do ABC paulista. Curioso e viciado em tecnologia, sempre busco me aprimorar na área de eletrônica e programação, em especial em desenvolvimento de firmware (área que mais gosto de trabalhar e estudar).