Что мне нужно сделать, чтобы мой Raspberry Pi разместил веб-страницу с циферблатами, указывающими температуру процессора, нагрузку на процессор и т. д. в режиме реального времени?

Я хорошо с Unix-команды и скрипты, но у меня почти нет интернета. У меня есть сценарий, который захватывает метрики, которые меня интересуют, например, загрузку процессора или системную температуру, и обновляет файл каждые 10 секунд. Я хотел бы указать свой iPad на локальный веб-сайт, размещенный на моем Raspberry Pi, который имеет графическое представление этих данных в режиме реального времени.

Я работал до создания простого веб-сервера Apache, и я могу писать HTML и JavaScript. Кроме того, я потерялась и ... нужен кто-то, кто укажет мне верное направление.

9
задан Peter Mortensen
12.03.2023 17:07 Количество просмотров материала 3534
Распечатать страницу

6 ответов

Я использую Grafana С InfluxDB для этого на моей малине Pi 3. Они оба относительно просты в настройке и подключении друг к другу. Они даже хорошо работают в Docker контейнеры на малине Pi.

Я поток все мои обновления в InfluxDB, как они генерируются. Затем Grafana делает все графические работы, отображающие их в приятном визуальном формате. Я разработал простой панели, только на моем старом iPad с меньшим экран.

Это звучит как много установки и накладных расходов,но это действительно выглядит довольно.

Enter image description here

30
отвечен 0xACE 2023-03-14 00:55

для того, легкий и очень легкий веб-мониторинга приборной панели для настройки (и расширения) мониторинга страницы на малине у вас есть Монитор RPi.

Он поставляется с некоторыми значениями по умолчанию, и конфигурация в основном редактирует несколько простых текстовых файлов. Я настроил его легко добавить графики влажности от DTH21.

img_linkimg_link2

10
отвечен Rui F Ribeiro 2023-03-14 03:12

для приложений реального времени в интернете лучший инструмент WebSocket. Обычно они реализуются на сервере приложений, а не на веб-сервере, но Apache предоставляет способ прокси-серверов websockets. Это может легко обеспечить в секунду или обновления долями секунды.

какая библиотека используется на сервере приложений, зависит от того, какую веб-платформу вы хотите использовать, но, например, популярную для Node.js-сокет.IO.

на стороне клиента вы можете настроить соединение вроде этого:

socket = new WebSocket("ws://website.net:8282");

socket.addEventListener('message', function (event) {
    var message = event.data;
    // Code to update site
});

на стороне сервера с узлом.js с использованием базовой библиотеки WebSocket:

const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8282 });
wss.on('connection', function connection(ws) {
  dataOnUpdateEvent(function(event) {
    var data = event.getdata();
    var message = parseData(data);
    ws.send(message);
  });
});
7
отвечен jdwolf 2023-03-14 05:29

вы также можете посмотреть на узел-красный https://nodered.org Речь идет о запасе на Raspbian

вот панель, которую я построил enter image description here

5
отвечен jwygralak67 2023-03-14 07:46

Я использую phpSysInfo для мониторинга всех моих серверов/компьютеров Linux, и мне очень нравится, насколько это просто. Настройки Также очень легко понять, и вы можете установить собственную частоту обновления.

2
отвечен McMuffin 2023-03-14 10:03

Если вы хотите, чтобы код в C или C++, вы можете использовать некоторые библиотеки HTTP-сервера, как libonion или Wt для кодирования вашего специализированного HTTP сервера (возможно, используя sqlite для базы данных). Тогда вы должны хорошо понимать HTTP протокол (в том числе HTTP и cookie-файлы и HTTP-заголовки) и HTML5.

вы можете использовать Ajax и WebSocket методы (WebSockets поддерживаются libonion & Wt, Ajax дает обычные HTTP запросы, инициируемые кодом JavaScript, запущенным в браузере клиента). Вы можете использовать HTML5 холст и/или SVG для графики. Вы можете найти некоторые HTML5 веб-платформ полезно; большинство из них используют Javascript, DOM, HTML5,....

2
отвечен Basile Starynkevitch 2023-03-14 12:20

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх