2017-12-04 8 views
-1

私のESP8266はアクセスポイントとして設定されていますが、現在、複数のDS18B20センサーを読み取り、読み取り値をSDカードのテキストファイルに保存するようにプログラムされています。私はAndroid phoneからAPに接続してブラウザの10.10.10.1(ESPの静的IPアドレス)にナビゲートして、HTML/JSを介して設定を変更したり(間隔時間の読み取り/ SDカードデータの削除)、保存された値の表示ができますHTMLテーブルに表示されます。アクセスポイントとして動作するESP8266 Webサーバーにグラフを描画することはできますか?

複数のライン(各センサーのライン)を持つ単純な2Dチャートを描画する方法があるかどうかは、Googleチャートのようなライブラリを得るためにWebに接続する必要はありません。信号なしで遠隔地に置くことを意図している。 ESPの目的は、時間の経過とともにデータを取得することであり、後でウェブサーバを介してユーザに提示することができる。

+1

なぜチャートライブラリはオプションではないのですか?クライアント(ブラウザ)はそれらをフェッチしますが、それはESP8266サーバーからフェッチする必要はありません。サーバー上にSVG(または同様のもの)をレンダリングするのではなく、インターネット上のどこかのCSS/JavaScriptへの参照やデータなど、あなたのサーバーが「裸の」HTMLを配信することはできませんでしたか?もちろん、[同じドメインポリシー](https://en.wikipedia.org/wiki/Same-origin_policy)の制約を念頭に置いておく必要があります。 –

+0

"オフライン"アクセスポイントに接続されているクライアントは、インターネットから同時にライブラリをフェッチすることができますか? –

+0

「オフライン」アクセスポイントが何であるか分かりません。インターネットに接続されていないAP(ESP8266とクライアントが接続しています)? –

答えて

0

* svgイメージを使用して簡単なWebページをグラフとして作成できます。このような :

<html> 
<head> 
    <meta http-equiv='refresh' content='5'/> 
    <title>ESP8266 Demo</title> 
    <style> 
    body { background-color: #cccccc; font-family: Arial, Helvetica, Sans-Serif; Color: #000088; } 
    </style> 
</head> 
<body> 
    <h1>Hello from ESP8266!</h1> 
    <img src=\"/chart.svg\" /> 
    </body> 
</html> 

あなたはSVGファイルを生成し、いくつかの方法にあなたのウェブサーバーのパスserver.on ("/chart.svg", drawGraph);をマッピングすることができます。 SVG fileシンプルなテキストファイルです。

void drawGraph() { 
    String out = ""; 
    char temp[100]; 
    out += "<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" width=\"400\" height=\"150\">\n"; 
    out += "<rect width=\"400\" height=\"150\" fill=\"rgb(250, 230, 210)\" stroke-width=\"1\" stroke=\"rgb(0, 0, 0)\" />\n"; 
    out += "<g stroke=\"black\">\n"; 
    int y = rand() % 130; 
    for (int x = 10; x < 390; x+= 10) { 
     int y2 = rand() % 130; 
     sprintf(temp, "<line x1=\"%d\" y1=\"%d\" x2=\"%d\" y2=\"%d\" stroke-width=\"1\" />\n", x, 140 - y, x + 10, 140 - y2); 
     out += temp; 
     y = y2; 
    } 
    out += "</g>\n</svg>\n"; 

    server.send (200, "image/svg+xml", out); 
} 
関連する問題