Я хорошо разбираюсь в командах и скриптах Unix, но у меня почти нет опыта работы в Интернете. У меня есть скрипт, который получает интересующие меня метрики, такие как загрузка процессора или системная температура, и обновляет файл каждые 10 секунд. Я хотел бы указать свой iPad на локальный веб-сайт, размещенный на моем Raspberry Pi, который в реальном времени обновляет графическое представление этих данных.
Я работал до настройки простого веб-сервера Apache, и я могу писать HTML и JavaScript. Кроме того, я потерялся, и мне нужен кто-то, чтобы указать мне правильное направление.
unix
apache-http-server
raspberry-pi
gui
jake9115
источник
источник
Ответы:
Я использую Grafana с InfluxDB для этого на моем Raspberry Pi 3. Они относительно просты в настройке и подключаются друг к другу. Они даже хорошо работают в контейнерах Docker на Raspberry Pi.
Я передаю все свои обновления в InfluxDB по мере их создания. Затем Графана выполняет всю графическую работу, отображая их в хорошем визуальном формате. Я разработал простую приборную панель только для моего старого iPad с меньшим экраном.
Это звучит как много установки и накладных расходов, но это действительно выглядит красиво.
источник
Для того, чтобы иметь легкую и очень простую панель мониторинга сети для настройки (и расширения) страницы мониторинга на Raspberry, у вас есть RPi Monitor .
Он поставляется с некоторыми значениями по умолчанию, и конфигурация в основном редактирует пару простых текстовых файлов. Я легко настроил добавление графиков влажности от DTH21.
источник
Для приложений реального времени в Интернете лучшим инструментом является WebSocket . Обычно они реализуются на сервере приложений, а не на веб-сервере, но Apache предоставляет способ прокси-веб-сокетов. Это может легко обеспечить обновления в секунду или в секунду.
Какая библиотека вы используете на сервере приложений, зависит от того, какую веб-платформу вы хотите использовать, но, например, популярной для Node.js является Socket.IO.
На стороне клиента вы можете настроить соединение следующим образом:
На стороне сервера с Node.js, использующим базовую библиотеку WebSocket:
источник
Вы также можете взглянуть на Node-RED https://nodered.org. Он выходит на Raspbian.
Вот приборная панель, которую я построил
источник
Я использую phpSysInfo для мониторинга всех моих серверов / компьютеров с Linux, и мне очень нравится, насколько это просто. Настройки также очень просты для понимания, и вы можете установить собственную частоту обновления.
источник
Если вы хотите кодировать на C или C ++, вы можете использовать некоторую библиотеку HTTP-сервера, такую как libonion или Wt , для кодирования вашего специализированного HTTP-сервера (возможно, с использованием sqlite для базы данных). Затем вы должны хорошо понимать HTTP протокола (включая HTTP печенье и HTTP заголовки ) и HTML5 .
Возможно, вы захотите использовать методы Ajax и WebSocket (WebSockets поддерживаются libonion & Wt, Ajax выдает обычные HTTP-запросы, инициированные кодом JavaScript, выполняющимся в клиентском браузере). Вы можете использовать HTML5 canvas и / или SVG для графики. Вы можете найти некоторые веб-фреймворки HTML5 полезными; большинство из них используют Javascript, DOM, HTML5, ....
источник