Enviar una página web predefinida (servidor web).

Una pregunta por favor: Estoy haciendo una aplicación que incluye un pequeño servidor web. En una parte es necesario enviar la página web, y se lo hace por medio de WiFiClient.print()

Por ejemplo:

WiFiClient ww=server.available(); 
.
.
.
ww.println(F("<head>"));
ww.println(F("<title>Titulo de la pagina</title>"));
ww.println(F("</head>"));
ww.println(F("<body>"));

y a continuación un largo etcétera para toda la página web que se quiera presentar.

Mi pregunta es si el compilador que usamos da algún apoyo a esto para enviar un texto largo, pero sin necesidad de llamar decenas de veces a ww.print(F()). O algún otro método para enviar mucho texto. Otra incomodidad importante son las comullas: siempre que se necesite enviar comillas hay que ponerles una barra inclinada primero " (y una página web puede tener muchas comillas).

Si no hay un método que pueda usar, estoy pensando hacer un programa de computadora que genere un archivo .ino a partir del archivo .htm que tengo, y que cree automáticamente el código con las quizá cientos de llamadas a ww.println (y luego de eso recién que compile). No obstante, si hay otro método me ahorraría ese trabajo adicional.

Gracias

No lo he probado, pero se me ocurre que tengas almacenado en un txt guardado en una SD todo el código html, y desde el arduíno vayas leyendo el fichero y haciendo el print para enviar la página web, habría que darle una vuelta bien para ver como hacerlo pero puede ser una solución, ya te digo que ni la he probado ni me he sentado a pensar bien como hacerlo, simplemente es una idea jaja

Gracias por la idea. Creo que funcionaría tu idea. No obstante, no tengo (ni tenía pensado) conectar un soporte para leer tarjeta SD desde Arduino.

Si el compilador tuviese una forma de colocar un string como constante a partir de un archivo, al momento de compilar, sería lo ideal!

Pero es tan buena idea la que me diste, que se me está ocurriendo que para mi proyecto, además de en este tema, puede ser de utilidad una memoria SD. El problema es que no vi eso en el comercio local... averiguaré.

Si buscas bien esta hecho. Recuerdo haber visto un código donde la página esta guarda en la SD y se va actualizando de acuerdo al requerimiento.

Si eres perezoso para colocar los \", \r y \n; podría crear un sencillo programa que genera un archivo de texto a partir de otro, o de lo que pegues en un cuadro de texto. Ese archivo contendra la cadena de caracteres (string) de toda la entrada, en una sola línea.

Lo malo es que aparte de C++ para Arduino, solo sé Java; entonces lo haría en este lenguaje (en NetBeans además). Si ya tuvieras instalado el JRE, entonces sí podría...

Muchas gracias por las respuestas.

Comentarles que determiné que por ahora, para mi proyecto no necesito una SD. Entonces, me embarqué a hacer un pre compilador que transforme los archivos .HTM a .INO

No lo estoy haciendo tan simple, estoy aprovechando de eliminar todo enter que haya y eliminar todos los espacios seguidos que haya dejando un solo espacio. Adicionalmente (y esto ya inherente a mi proyecto) haré que este precompilador detecte claves especiales que pondré en los HTM y que los reemplace por una llamada a una función en el programa arduino, de forma que en el HTM existan partes variables (para presentación de datos, por ejemplo).

Saludos