* svg 이미지를 차트로 사용하여 간단한 웹 페이지를 만들 수 있습니다. 이 같은 :
<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);
}
차트 라이브러리를 사용할 수없는 이유는 무엇입니까? 클라이언트 (브라우저)가 사실을 가져 오지만, 그렇다고해서 ESP8266 서버에서 가져와야한다는 것은 아닙니다. 제안 된대로 서버에 SVG (또는 유사)를 렌더링하는 대신 서버가 인터넷의 어딘가에있는 CSS/JavaScript에 대한 데이터 및 참조를 포함하여 "알몸"HTML을 제공 할 수 없습니까? 물론 [동일 도메인 정책] (https://en.wikipedia.org/wiki/Same-origin_policy)의 제약을 염두에 두어야합니다. –
"오프라인"액세스 포인트에 연결된 클라이언트는 인터넷에서 동시에 라이브러리를 가져올 수 있습니까? –
"오프라인"액세스 포인트가 무엇인지 알 수 없습니다. 인터넷에 연결되지 않은 AP (ESP8266 및 클라이언트가 연결)? –