Я только вхожу в это, и хотя я могу отображать темп через SSH, я изо всех сил пытаюсь показать его на маленькой веб-странице, которую я настроил на моем Pi с Apache2. Я последовал этому примеру http://www.raspberrypi.org/phpBB3/viewtopic.php?t=35487&p=310038, который включал в себя некоторый AJAX и скрипт в каталоге cgi-bin, но я получаю сообщение об ошибке, говорящее об этом $ was not defined
и будучи действительно невежественным с JavaScript я понятия не имею, где лежит ошибка. Мне интересно, может ли это быть каталог cgi-bin. Я только что создал его и не смог найти информацию о том, нужно ли мне делать что-то особенное, чтобы разрешить его использование для сценариев. Кто-нибудь может ответить на этот вопрос для меня? Если это актуально, я использую последнюю версию Raspbian.
В конце концов, я хочу записать значения в базу данных и график из нее, но обо всем по порядку. :)
Главный вопрос: как я могу отобразить температуру на моей веб-странице с внутреннего датчика?
РЕДАКТИРОВАТЬ
Я попробую первое предложение позже вечером, когда вернусь домой, но я быстро получил второе (Леник), которое, кажется, работает хорошо. Я должен был внести некоторые изменения, чтобы заставить его работать. Сценарий не будет создавать rrd-файл, поэтому я создал его вручную, используя синтаксис, который он использовал в сценарии. Я также изменил UPDATE
команду, так как ей не понравилось значение, которое ей передали. Мне пришлось удалить width
часть из GRAPH
команды, потому что она также выдает ошибку. Затем, в конце, я добавил cp
так, чтобы он помещал файл в каталог изображений на сайте, а затем добавил*/5 * * * * /home/root/scripts/temprec.sh >/dev/null 2>&1
на мой crontab, поэтому он запускается каждые 5 минут. Кажется, что это работает, но пока с четырьмя сэмплами это трудно точно узнать. Через час или около того у меня будет лучшее представление, сработали ли мои правки.
#!/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
источник
Некоторое время назад я написал статью « Raspberry Pi :: Мониторинг температуры процессора с помощью RRDTOOL » об этой же проблеме. Мое решение включает в себя получение температуры от процессора, сохранение ее в базе данных циклического перебора и построение красивого графика в виде файла .PNG, который довольно легко разместить на веб-странице - просто скопируйте его в любое место. Я надеюсь, что вы найдете это полезным.
источник
Я полагаю, что вы можете получать и передавать данные с вашего RPi и вставлять их в браузер с этим пакетом на GitHub .
Вот как выглядит график: https://plot.ly/~jensb89/12/ .
После того как вы сгенерировали свой график, вы можете встроить его в виде фрейма с помощью этого фрагмента:
Вы хотите поменять свой URL в коде. Дайте мне знать, если у вас есть какие-либо проблемы, или я могу помочь с чем-либо. Также я являюсь частью Plotly, которая использовалась в этом пакете.
Вот как это выглядит:
источник
Другие ответы здесь фантастические. Мое решение с использованием сценария оболочки и PHP заключается в следующем:
Пожалуйста, обратите внимание, что я сделал это на Raspbian Wheezy, так что расположение всего моего кода находится в
/var/www/
. Если вы используете Джесси, она должна быть в '/ var / www / html /'Во-первых, давайте переключим пользователя с правами суперпользователя:
sudo su
(и введите свой пароль)добраться до нужного места:
cd /var/www/
(Свистящие)Теперь создайте новый каталог там:
mkdir scripts
Дайте ему правильные атрибуты:
chmod 755 scripts/
Теперь создайте в нем новый файл, назовем его «temp.sh»
nano scripts/temp.sh
Введите следующий код:
Ctrl+X
-Y
-Enter
для сохранения и выхода.Теперь установите атрибуты этого файла:
chmod 755 scripts/temp.sh
Теперь создайте новый каталог
mkdir include/
Установите его атрибуты
chmod 744 include/
Хорошо, теперь давайте запустим скрипт и протестируем его вывод:
cd scripts/
./temp.sh
cd ../include/
cat temp.txt
Он должен отображать что-то вроде этого:
Потрясающие! Теперь давайте запустим это раз в минуту. Мы введем новую строку в Crontab.
crontab -e
Вставьте нижнюю строку внизу файла
Ctrl+X
-Y
-Enter
для сохранения и выхода.Теперь нам нужно отредактировать страницу, на которой будут отображаться температуры. Итак, мы идем редактировать файл PHP:
cd /var/www/
nano index.php
И вставьте это в
<div>
ваш выбор:Это сделает это. Просто перезагрузите страницу, и вы должны увидеть отображение температуры процессора и графического процессора.
Дополнительный бонус: мне также нравится заставлять страницу загружаться каждый раз (не позволяйте браузеру кэшировать температуру). Для этого я также включаю следующий PHP в самом начале файла:
Примечания. Причина, по которой это работает для меня, заключается в том, что он отображается на «информационной панели» компании, на странице моего телевизора, на которой отображается целая куча графиков (состояние сервера, номера пользователей, средние значения загрузки и т. Д. И т. Д., и т.д). Я настроил пи на режим киоска (полноэкранный браузер при загрузке с использованием Iceweasel) и показываю одну страницу, которая автоматически прокручивается вниз. Требуется от 4 до 5 минут, чтобы добраться туда сверху, а затем автоматически перезагружается, как только он достигает дна. Так что время от времени он перезагружается, минуя необходимость обновления дисплея температуры с помощью технологии на стороне клиента. Я также настроил его для просмотра с использованием другого CSS / JS на основе пользовательского агента (без прокрутки, без текущего времени в углу, без перезагрузки внизу), но в этой версии я
источник