Используя Raspberry Pi, я создал скрипт, который загружает температуру процессора Pi через сервер Apache в браузер.
<?php
$temp = exec('vcgencmd measure_temp');
$temp = str_replace('temp=','',$temp);
$temp = str_replace('\'C','',$temp);
echo $temp;
?>
Используя приведенный выше код, я должен вручную обновить страницу, чтобы увидеть последние значения.
Это прекрасно работает, но я хотел бы знать, как я могу настроить это без необходимости постоянно обновлять браузер.
В терминале на Пи я смог использовать команду «смотреть», которая будет давать мне текущее значение каждые 0,1 секунды.
Но, выполнив этот скрипт, браузер выдаст мне пустую страницу.
<?php
$temp = exec('watch -n 0.1 vcgencmd measure_temp');
$temp = str_replace('temp=','',$temp);
$temp = str_replace('\'C','',$temp);
echo $temp;
?>
Есть ли способ заставить скрипт, использующий команду watch, работать с PHP Script? Если нет, есть ли другой способ заставить его обновляться каждый раз, когда значение изменяется в терминале?
Замечания: Я новичок в программировании и использовании Пи.
Буду очень признателен за любую полезную информацию!
Заранее спасибо!
Часы не будут работать в вашем случае, вы можете позвонить в jquery cdn с официального сайта и затем выполнить эту функцию. Не забудьте открыть консоль, чтобы посмотреть, что вернется. F12
Добавьте это в свой php файл.
if(isset($_GET)){
$temp = exec('vcgencmd measure_temp');
$temp = str_replace('temp=','',$temp);
$temp = str_replace('\'C','',$temp);
echo $temp;
}
Затем в ваш index.html
$(function() {
startRefresh();
});
function startRefresh() {
setTimeout(startRefresh,1000); // 1000 represents 1 second, free to change
$.get('index.php', function(data) { // i assume your index.php in same folder with your html file.
console.log(data);
});
}
Я на самом деле нашел более простой способ установить это.
Я хотел не обновлять страницу вручную, чтобы получить текущие значения температуры.
Приведенные выше ответы были правильными, но я не смог самостоятельно их настроить, поэтому я решил, что могу добавить заголовок и обновить свой PHP-скрипт, который будет обновлять страницу каждую секунду (или в любое другое время).
Код выглядит сейчас так:
<?php header('refresh: 1');
$temp = exec('vcgencmd measure_temp');
$temp = str_replace('temp=','',$temp);
$temp = str_replace('\'C','',$temp);
echo $temp;
?>
Спасибо всем, кто пытался мне помочь!