Estou apenas entrando nisso e, embora eu possa exibir a temperatura via SSH, estou tendo dificuldades para exibi-la na pequena página da Web que eu configurei no meu Pi executando o Apache2. Eu segui este exemplo http://www.raspberrypi.org/phpBB3/viewtopic.php?t=35487&p=310038, que incluía algum AJAX e um script no diretório cgi-bin, mas recebo um erro dizendo isso $ was not defined
e sendo realmente sem noção com JavaScript, não tenho idéia de onde está o erro. Eu estou querendo saber se poderia ser o diretório cgi-bin. Acabei de criar e não consegui localizar informações sobre se eu precisava ou não fazer algo especial para permitir o uso de scripts. Alguém pode responder a essa pergunta para mim? Se for relevante, estou executando a versão mais recente do Raspbian.
Eventualmente, quero registrar os valores em um banco de dados e fazer um gráfico a partir dele, mas primeiro as primeiras coisas. :)
A principal questão é como posso exibir a temperatura na minha página da Web a partir do sensor interno?
EDITAR
Tentarei a primeira sugestão mais tarde, hoje à noite, quando chegar em casa, mas rapidamente consegui a segunda (Lenik), que parece estar funcionando bem. Eu tive que fazer algumas edições para fazê-lo funcionar. O script não criaria o arquivo rrd, então eu o criei manualmente usando a sintaxe que ele usou no script. Também modifiquei o UPDATE
comando, pois ele não gostou do valor que estava sendo passado para ele. Eu tive que remover a width
parte do GRAPH
comando porque também gerou um erro. Depois, no final, adicionei um cp
para que ele coloque o arquivo no diretório de imagens do site e depois adicionei*/5 * * * * /home/root/scripts/temprec.sh >/dev/null 2>&1
no meu crontab, para que seja executado a cada 5 minutos. Parece estar funcionando, mas com apenas 4 amostras até agora, é difícil saber com certeza. Dentro de uma hora, terei uma idéia melhor se minhas edições funcionarem.
#!/bin/bash
#
# update .rrd database with CPU temperature
#
# $Id: update_cputemp 275 2013-05-16 05:20:56Z lenik $
# Thanks to Lenik @ Raspberrypi.stackexchange.com.
cd /path/to/scripts
# read the temperature and convert .59234. into .59.234. (degrees celsius)
TEMPERATURE=`cat /sys/class/thermal/thermal_zone0/temp`
TEMPERATURE=`echo -n ${TEMPERATURE:0:2}; echo -n .; echo -n ${TEMPERATURE:2}`
/usr/bin/rrdtool update cputemp.rrd N:$TEMPERATURE
/usr/bin/rrdtool graph cputemp.png DEF:temp=cputemp.rrd:cputemp:AVERAGE LINE2:temp#00FF00
cp /path/to/scripts/cputemp.png /path/to/website/images
fonte
Algum tempo atrás, escrevi um artigo " Raspberry Pi :: Monitorando a temperatura da CPU com RRDTOOL " sobre o mesmo problema. Minha solução inclui receber temperatura da CPU, salvá-la no banco de dados round-robin e criar um bom gráfico como arquivo .PNG, que é bastante fácil de colocar na página da Web - basta copiá-la para onde quiser. Espero que você ache útil.
fonte
Eu acredito que você pode pegar e transmitir os dados do seu RPi e incorporá-los no navegador com este pacote no GitHub .
Aqui está a aparência de um gráfico: https://plot.ly/~jensb89/12/ .
Depois de gerar seu gráfico, você pode incorporá-lo como um iframe neste snippet:
Você deseja trocar seu URL no código. Deixe-me saber se você tiver algum problema ou eu posso ajudar com qualquer coisa. Além disso, faço parte do Plotly, que foi usado neste pacote.
Veja como fica:
fonte
As outras respostas aqui são fantásticas. Minha solução, usando um script de shell e PHP, é a seguinte:
Observe que fiz isso no Raspbian Wheezy; portanto, a localização de todo o meu código está em
/var/www/
. Se você estiver usando Jessie, ele precisará estar em '/ var / www / html /'Primeiro, vamos mudar o usuário para o root (superusuário):
sudo su
(e digite sua senha)chegar ao local correto:
cd /var/www/
(Chiado)Agora crie um novo diretório lá:
mkdir scripts
Dê a ele os atributos corretos:
chmod 755 scripts/
Agora crie um novo arquivo nele, vamos chamá-lo de 'temp.sh'
nano scripts/temp.sh
Digite o seguinte código:
Ctrl+X
-Y
-Enter
para salvar e sair.Agora defina os atributos desse arquivo:
chmod 755 scripts/temp.sh
Agora crie um novo diretório
mkdir include/
Defina seus atributos
chmod 744 include/
OK, agora vamos executar o script e testar sua saída:
cd scripts/
./temp.sh
cd ../include/
cat temp.txt
Ele deve exibir algo como isto:
Impressionante! Agora, vamos executar isso uma vez por minuto. Entraremos em uma nova linha no Crontab.
crontab -e
Cole a linha abaixo na parte inferior do arquivo
Ctrl+X
-Y
-Enter
para salvar e sair.Agora precisamos editar a página na qual as temperaturas serão exibidas. Então vamos editar o arquivo PHP:
cd /var/www/
nano index.php
E insira isso na
<div>
sua escolha:Isso fará isso. Basta recarregar sua página e você verá os tempos de CPU e GPU sendo exibidos.
Bônus adicional: eu também gosto de forçar o carregamento da página a cada vez (evite que o navegador armazene em cache a temperatura). Para fazer isso, também incluo o seguinte PHP no início do arquivo:
Observações: A razão pela qual isso funciona para mim é que ela é exibida no "painel" da empresa. Uma página em uma TV do meu escritório que mostra vários gráficos (status do servidor, números de usuários, médias de carga, etc, etc, etc). Configurei o pi para estar no modo Kiosk (navegador de tela cheia na inicialização usando o Iceweasel) e mostro uma única página que rola automaticamente até a parte inferior. Demora cerca de 4 a 5 minutos para chegar lá de cima e, em seguida, recarrega automaticamente quando atinge o fundo. Por isso, ele é recarregado de vez em quando, ignorando a necessidade de atualizar a exibição de temperatura usando uma tecnologia do lado do cliente. Também configurei para ser visualizado usando CSS / JS diferentes, com base no agente do usuário (sem rolagem, sem hora atual no canto, sem recarregar na parte inferior), mas nessa versão, eu '
fonte