ESP8266 html页面代码集成到.ino文件中

时间:2016-11-21 00:04:24

标签: html c esp8266 arduino-ide arduino-esp8266

我正在使用ESP8266,这是该程序的HTML部分。我从互联网的深处复制并粘贴,并希望更改文件的HTML页面。我可以以什么格式添加HTML代码?谢谢! (我试图将文本输入字段放入,但我想在以后放入许多HTML元素。)

JAVA_HOME

3 个答案:

答案 0 :(得分:1)

Yo可以从SPIFFS流式传输HTML文件。这是一个example

您需要获得 streamFile()功能,如下所示:

  String contentType = "text/html";
  if(SPIFFS.exists(path)){
    File file = SPIFFS.open(path, "r");
    size_t sent = server.streamFile(file, contentType);
    file.close();
    return true;
  }

答案 1 :(得分:0)

我假设你以后有一个组合你的变量的部分,并制作一个你用来消除html的大。你可以这样做。

- 打开您的编辑器并从帖子中复制/粘贴代码

- 根据需要编辑

- 删除您发布的代码中的变量并将其替换为示例

  const String wholePage = "INSERT YOUR HTML";

- 而不是在你使用新的地方之前添加变量的地方就是整个HTML代码

希望它有所帮助! :)

答案 2 :(得分:0)

您可能需要考虑清理它以使用未转义的多行语法:

void handleAbout() {
    const char* message = R"foo(
    <!doctype html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>test</title>
     <link rel=stylesheet type=text/css href='//maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css' />
    </head><body class=container>
    <h1>testing</h1>
    <main>
     <h3>Status</h3>
      <ul>
      <li>Mode: <b>[[MODE]]</b>
       <li><a href=/reset >reboot device</a>
      </ul>
    </main>
    </body>
    </html>
    )foo";

    String message2= String(message);
    // templating replaces string-concat functionality:
    message2.replace("[[MODE]]", String(inputMode));
    // prove it's a usable String to the esp:
    server.send(200, "text/html", message2);
} // end about section handler

您还可以使用任何在线text-to-json编码器从任意文本中制作C友好的转义字符串文字。例如:my slim's "JSON.stringify"引擎转换...