unix – CPU温度、CPU負荷などを示すダイヤルをリアルタイムで表示するWebページをRaspberry Piにホストさせるにはどうすればいいですか?

apache-http-server gui raspberry-pi unix

Unixコマンドとスクリプトは得意ですが、ウェブの経験はほとんどありません。私は、CPU負荷やシステムの温度など、興味のあるメトリクスを取得し、10秒ごとにファイルを更新するスクリプトを持っています。私のiPadをRaspberry PiでホストされているローカルのWebサイトに接続して、このデータをリアルタイムで更新するグラフィカルな表示ができるようにしたいと思っています

私は簡単なApacheのWebサーバーを設定する前に働いたことがあり、私はHTMLとJavaScriptを書くことができます。それに加えて、私は迷子になっていて、正しい方向に私を指し示すために誰かを必要としています

  27  jake9115  2017-12-27


ベストアンサー

私のRaspberry Pi 3では、GrafanaInfluxDBを使っています。どちらもセットアップが比較的簡単で、お互いに接続するのも簡単です。彼らはRaspberry Pi上のDockerコンテナでもうまく動作します

私はすべての更新をInfluxDBにストリーム配信しています。そして、Grafanaはそれらを視覚的なフォーマットで表示するグラフィカルな作業をすべて行ってくれます。画面が小さいiPad用にシンプルなダッシュボードをデザインしました

それは多くのインストールとオーバーヘッドのように聞こえますが、それは確かにきれいに見えます

Enter image description here

30  0xACE  2017-12-27


軽量で非常に簡単な Web モニタリングダッシュボードを使って Raspberry のモニタリングページを設定(拡張)するためには、RPi Monitorを持っている必要があります

いくつかのデフォルトが付属していて、設定はほとんどがいくつかの簡単なテキストファイルを編集するだけです。私はDTH21から湿度グラフを追加するために簡単に設定しました

img_link img_link2

9  Rui F Ribeiro  2017-12-28


ウェブ上のリアルタイムアプリケーションに最適なツールは、WebSocketです。通常、これらはウェブサーバではなくアプリケーションサーバに実装されていますが、Apache はウェブソケットをプロキシする方法を提供しています。これは簡単に秒単位またはサブ秒単位の更新を提供することができます

アプリケーションサーバ上でどのライブラリを使用するかは、使用したいWebプラットフォームに依存しますが、例えばNode.jsで人気のあるものはSocket.IOです

クライアント側では、このように接続を設定することができます

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

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

サーバ側では基本的なWebSocketライブラリを使ってNode.jsを使っています

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);
});
});

6  jdwolf  2017-12-27


また、Node-RED https://nodered.org を見ることもできます

以下は私が作ったダッシュボードです enter image description here

4  jwygralak67  2017-12-28


私はphpSysInfoを使用して、すべてのLinuxサーバ/コンピュータを監視していますが、そのシンプルさがとても気に入っています。設定も非常にわかりやすく、自分でリフレッシュレートを設定することができます

2  McMuffin  2017-12-28


C や C++ でコーディングしたい場合は、libonionWt のような HTTP サーバライブラリを使って、特殊な HTTP サーバをコーディングすることができます (おそらくデータベース用に sqlite を使用することになるでしょう)。そして、HTTP プロトコル (HTTP クッキーHTTP ヘッダ を含む) や HTML5 をよく理解しておく必要があります

AjaxWebSocket の技術を使いたいかもしれません (WebSocket は libonion & Wt でサポートされており、Ajax はクライアントブラウザで実行されている JavaScript コードによって起動される通常の HTTP リクエストを提供します)。HTML5 canvasSVG をグラフィックスに使用することができます。HTML5 ウェブフレームワークが役に立つかもしれません

1  Basile Starynkevitch  2017-12-28


タイトルとURLをコピーしました