Ich bin gut mit Unix-Befehlen und Skripten, aber ich habe fast keine Web-Erfahrung. Ich habe ein Skript, das die Metriken erfasst, an denen ich interessiert bin, z. B. die CPU-Auslastung oder die Systemtemperatur, und alle 10 Sekunden eine Datei aktualisiert. Ich möchte mein iPad auf eine lokale Website verweisen, die von meinem Raspberry Pi gehostet wird und deren grafische Darstellung in Echtzeit aktualisiert wird.
Ich habe vor dem Einrichten eines einfachen Apache-Webservers gearbeitet und kann HTML und JavaScript schreiben. Außerdem bin ich verloren und brauche jemanden, der mich in die richtige Richtung weist.
unix
apache-http-server
raspberry-pi
gui
jake9115
quelle
quelle
Antworten:
Ich verwende dafür Grafana mit InfluxDB auf meinem Raspberry Pi 3. Beide sind relativ einfach einzurichten und miteinander zu verbinden. Sie funktionieren sogar gut in Docker- Containern auf dem Raspberry Pi.
Ich streame alle meine Updates in InfluxDB, sobald sie generiert werden. Dann macht Grafana die ganze grafische Arbeit, um sie in einem schönen visuellen Format anzuzeigen. Ich habe ein einfaches Dashboard nur für mein altes iPad mit seinem kleineren Bildschirm entworfen.
Es klingt nach viel Installation und Overhead, sieht aber auf jeden Fall hübsch aus.
quelle
Um ein leichtes und sehr einfaches Web-Überwachungs-Dashboard zu haben, um die Überwachungsseite auf Ihrem Raspberry einzurichten (und zu erweitern), haben Sie RPi-Monitor .
Es enthält einige Standardeinstellungen und die Konfiguration bearbeitet hauptsächlich einige einfache Textdateien. Ich habe es einfach konfiguriert, um Feuchtigkeitsgraphen von einem DTH21 hinzuzufügen.
quelle
Für Echtzeitanwendungen im Web ist WebSocket das beste Tool . In der Regel werden diese auf dem Anwendungsserver implementiert, nicht auf dem Webserver. Apache bietet jedoch eine Möglichkeit, Websockets zu vertreten. Dies kann leicht Aktualisierungen pro Sekunde oder in einem Teil der Sekunde zur Verfügung stellen.
Welche Bibliothek Sie auf dem Anwendungsserver verwenden, hängt davon ab, welche Webplattform Sie verwenden möchten. Eine beliebte Bibliothek für Node.js ist beispielsweise Socket.IO.
Auf der Clientseite können Sie eine Verbindung wie folgt einrichten:
Auf der Serverseite mit Node.js unter Verwendung der grundlegenden WebSocket-Bibliothek:
quelle
Sie können sich auch Node-RED https://nodered.org ansehen. Raspbian ist ab Lager erhältlich
Hier ist ein Dashboard, das ich gebaut habe
quelle
Ich verwende phpSysInfo , um alle meine Linux-Server / -Computer zu überwachen, und ich mag es wirklich, wie einfach es ist. Die Einstellungen sind auch sehr einfach zu verstehen und Sie können Ihre eigene Bildwiederholfrequenz einstellen.
quelle
Wenn Sie in C oder C ++ codieren möchten, können Sie eine HTTP- Serverbibliothek wie libonion oder Wt verwenden, um Ihren speziellen HTTP-Server zu codieren (möglicherweise mit sqlite für die Datenbank). Sie sollten dann das HTTP- Protokoll (einschließlich HTTP-Cookies und HTTP-Headern ) und HTML5 gut verstehen .
Möglicherweise möchten Sie Ajax- und WebSocket- Techniken verwenden (WebSockets werden von libonion & Wt unterstützt. Ajax gibt normale HTTP-Anforderungen aus, die durch JavaScript-Code initiiert werden, der im Client-Browser ausgeführt wird.). Sie könnten HTML5 Canvas und / oder SVG für Grafiken verwenden. Möglicherweise finden Sie einige nützliche HTML5- Webframeworks . die meisten von ihnen benutzen Javascript, DOM, HTML5, ....
quelle