gpt4 book ai didi

file - 有没有办法让 Arduino 服务器将现有的 .html 文件发送到 Arduino 客户端?

转载 作者:行者123 更新时间:2023-12-05 06:28:24 25 4
gpt4 key购买 nike

我正在为 Arduino 构建一个单页应用程序。它以图形方式在连接 wifi 的平板电脑上显示模拟引脚值。

我已经构建了草图,但想清理它。我已经能够将草图上传到我的(Uno Wifi Rev 2)Arduino,初始化 Wifi,并使用平板电脑连接到它。我可以将静态页面“框架”发送到平板电脑。 该静态框架能够使用 XMLHttpRequest 对象请求和接收 Arduino 模拟引脚值。

但是发送庞大的静态页面很笨重。教程会做类似的事情,

client.println("<html><body>");
client.println("Hello World!");
client.println("</body></html>");

我试图巧妙地创建一个 FileText.h 头文件:

#define constFileText=
"<html><body>"
"Hello World!"
"</body></html>";

并将其与:

#include "FileText.h"
client.println(constFileText);

我想做的是创建一个标准的 FileText.html:

Hello World !

然后用类似的东西处理它:

ifstream hFile ("FileText.html");
while (getline(hFile, strLine))
client.println(strLine);

这将使编辑 html 文件变得更加容易。它将消除包含所有那些 serial.println 调用的浪费。它还将消除常量值的最大长度限制。

有什么方法可以向 Arduino 编译器提供文本文件并让 Arduino 服务器将其发送给 Arduino 的客户端?

最佳答案

C++ 有“原始字符串文字”。您可以将常量字符串(不转义特殊字符)放入开始和结束“标记”之间的源代码中。您可以选择标签作为原始字符串中不存在的内容。在下面的例子中,标签是 =====

const char* s1 = R"=====(Hello
"World")=====";

相同
const char* s2 = "Hello\n\"World\"";

通过这种方式,您可以将大字符串放入单独的 .h 文件中并包含它们。在 AVR 上使用 PROGMEM 来节省 RAM。

关于file - 有没有办法让 Arduino 服务器将现有的 .html 文件发送到 Arduino 客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54358721/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com