Monitor de temperatura de framboesa Pi

Monitor de temperatura de framboesa Pi
Raspberry Pi é um poderoso computador de placa única (SBC). Pode ser usado para realizar muitas tarefas sofisticadas. Mas isso aumentará a temperatura do processador de dispositivos Raspberry Pi. O que não é bom. O desempenho do Raspberry Pi SBC sofrerá devido à temperatura. Isso também é conhecido como térmica térmica.

Se a temperatura do processador do seu Raspberry Pi estiver acima de 80 graus Celsius, você verá um ícone do termômetro no canto superior direito da tela. Oficialmente, a Fundação Raspberry Pi recomenda que a temperatura do seu dispositivo Raspberry Pi esteja abaixo de 85 graus Celsius para que funcione corretamente. Esse é o limite máximo. Mas começaria a acelerar a 82 graus Celsius.

Neste artigo, mostrarei como monitorar a temperatura do seu Raspberry Pi. Vou usar o sistema operacional Raspbian no meu dispositivo Raspberry Pi 3 Modelo B. Mas deve funcionar em qualquer Raspberry Pi SBC com sistema operacional Raspbian instalado.

Medindo a temperatura do Raspberry Pi SBC:

Você pode medir a temperatura central do seu dispositivo Raspberry Pi com o seguinte comando:

$ VCGENCMD MESED_TEMP

A temperatura central atual é 48.3 graus Celsius, como você pode ver na seção marcada da captura de tela abaixo.

Como você pode ver, cada vez que eu executo o comando mostra diferentes valor de temperatura.

Analisando os dados de temperatura:

Os dados de temperatura que obtemos do vcgencmd Comando é uma string. Você não pode realizar nenhum cálculo nele. Podemos facilmente usar expressão regular para extrair apenas os dados de temperatura e executar qualquer tipo de cálculo nele.

Se você deseja usar os dados de temperatura em um script de shell bash, poderá extrair os dados de temperatura com egrep Comando o seguinte:

$ VCGENCMD Medida_temp | egrep -o '[0-9]*\.[0-9]*'

Como você pode ver, apenas os dados de temperatura são impressos. Não há nada antes ou depois disso.

Você pode usá -lo em seu script de shell (digamos print_temp.sh) do seguinte modo:

$ nano print_temp.sh

Aqui, na linha 3, eu defino o Temp variável para os dados de temperatura analisada que recebo do vcgencmd e grep comando.

Na linha 5, eu usei eco Para imprimir o conteúdo do Temp variável na tela.

A linha 1 é usada para dizer ao Linux que o script deve ser executado com /BIN/BASH por padrão.

Agora, faça o script executável com o seguinte comando:

$ chmod +x print_temp.sh

Agora, execute o script da seguinte forma:

$ ./print_temp.sh

Como você pode ver, a saída desejada é impressa na tela.

Escrevendo um script de monitoramento de temperatura do Raspberry Pi:

Agora que podemos analisar os dados de temperatura que obtemos do vcgencmd Comando, podemos escrever facilmente um script de monitoramento de temperatura para Raspberry Pi. O script de monitoramento de temperatura imprimirá o registro atual e a temperatura central a cada segundo na tela de uma maneira bem formatada.

Primeiro, crie um novo script Tempmon.sh com o seguinte comando:

$ Touch Tempmon.sh

Agora, edite o Tempmon.sh script com o seguinte comando:

$ nano Tempmon.sh

Agora, digite as seguintes linhas de códigos e salve o arquivo com + x e depois pressione y seguido pela .

Aqui, na linha 4, printf é usado para imprimir o registro de data e hora (DEGC) como coluna de largura fixa.

Na linha 5, eu usei printf novamente para imprimir uma linha tracejada apenas para tornar a saída mais legível e atraente.

Na linha 7-13, eu corri um loop infinito para imprimir os dados de temperatura a cada segundo.

Na linha 9, eu armazenei os dados de temperatura analisada no Temp variável.

Na linha 10, eu armazenei os dados de timestamp que recebi do data comando no Timestamp variável.

Na linha 11, imprimi a data e a hora no formato de timestamp e os dados de temperatura em formato de coluna de largura fixa.

Na linha 12, usei o comando Sleep 1 para manter a execução do script por um segundo. Depois, o loop continuará.

Agora, faça o script Tempmon.sh executável com o seguinte comando:

$ chmod +x tempmon.sh

Finalmente, execute o script Tempmon.sh com o seguinte comando:

$ ./Tempmon.sh

Como você pode ver, o script de monitor de temperatura está funcionando perfeitamente. Está imprimindo os dados de temperatura a cada segundo.

Como você pode ver, à medida que eu aumentava a carga do sistema, a temperatura aumentou ligeiramente.

Se você quiser parar o script de monitoramento de temperatura, pressione + c. O monitoramento de temperatura não está mais funcionando como você pode ver na captura de tela abaixo.

Agora que o script de monitoramento de temperatura está funcionando, vamos copiá -lo para /usr/bin diretório. Dessa forma, você pode executá -lo como quaisquer outros comandos Linux.

Para copiar o script Tempmon.sh para o /usr/bin Diretório, execute o seguinte comando:

$ sudo cp tempmon.sh/usr/bin/tempmon

Como você pode ver, eu posso executar o script de monitoramento de temperatura assim que executo comandos Linux padrão.

Modificação Tempmon Para imprimir dados de temperatura em Fahrenheit:

Você pode converter facilmente os dados de temperatura de Celsius para Fahrenheit.

A fórmula amplamente conhecida para calcular temperaturas em Fahrenheit de Celsius é,

F = (9/5)* C + 32
Ou
F = 1.8 * C + 32

Mas o problema é que o Bash Shell não tem funções necessárias para executar cálculos de ponto flutuante. Então, você tem que confiar em alguns outros programas, como bc.

bc não está instalado no Raspbian por padrão. Mas você pode instalá -lo facilmente com o seguinte comando:

$ sudo apt install bc

bc deve ser instalado.

Agora, você deve modificar o script de monitoramento de temperatura e fazer os cálculos necessários para converter a temperatura em Fahrenheit de Celsius com bc.

Editar o Tempmon.sh script com o seguinte comando:

$ nano Tempmon.sh

Agora, faça as modificações marcadas na captura de tela abaixo.

Aqui, na linha 4, imprimi Temp (f) em vez de Temp (DEGC).

Na linha 9, mudei a variável de Temp para tempc.

Na linha 10, adicionei o resultado do Celsius para a conversão de Fahrenheit para uma variável tempf.

Finalmente, imprimi o valor de tempf variável em vez de Temp na linha 12.

Agora, execute o script da seguinte forma:

$ ./Tempmon

Como você pode ver, a temperatura é impressa na unidade Fahrenheit.

Então é assim que você monitora a temperatura no Raspberry Pi. Obrigado por ler este artigo.