Hallo Hans bedankt voor de reactie. Mijn grootste vraag is eigenlijk hoe ik het activeren van het Ajax deel moet inpassen in de HTML code en in het bijzonder hoe dit door de arduino sketch van af de SD kaar moet worden ingelezen. Als ik het in gewoon nederlands omschrijf heb ik dit nodig.
Zolang client aangesloten ( client .connected)
als client beschikbaar is (client.available)
als er iets is metreq_index
als laatste tekst van client is leeg en heeft een n teken
als er GET / index.htm in de STR Contains staat
dan gebeuren er onbegrijpelijke dingen....
Connection close
........
Dan wordt de variabele webFile gevuld met SD.open("index.htm")
of het plaatje Plaatje.png wordt op een soortgelijke wijze geopend en weggeschreven om een HTML opmaak in de webserver te genereren.
Dit deel snap ik lang niet allemaal maar het werkt...... totdat ik het stukje AJAX
// Ajax request
if (StrContains(HTTP_req, "ajax_switch")) {
// read switch state and send appropriate paragraph text
GetSwitchState(client);
}
else
//(StrContains(HTTP_req, "GET /Plaatje.png"))
{
webFile = SD.open("Plaatje.png");
if (webFile) {
client.println("HTTP/1.1 200 OK");
client.println();
}
Insluit dan wordt er geen HTML meer aangemaakt en heb ik een lege pagina op de webserver....
Uiteraard is de functie GetSwitchState ook in de sketch opgenomen.
void GetSwitchState(EthernetClient cl)
{
if (digitalRead(3)) {
cl.println("Switch state: ON");
}
else {
cl.println("Switch state: OFF");
}
}
// sets every element of str to 0 (clears array)
void StrClear(char *str, char length)
{
for (int i = 0; i < length; i++) {
str = 0;
}
}
Dus eigenlijk is de hamvraag hoe combineer ik het ophalen van de verschillende delen op de SD kaart tot een geheel om een HTML pagina te genereren. Met inbegrip van het Ajax deel
Get index.html,Get plaatje.png en het HTTP request if (StrContains(HTTP_req, "ajax_switch"))
Hopelijk kan jij of iemand anders behulpzaam zijn, graag met een kleine uitleg hoe zoiets nu eigenlijk werkt.....
Groet en alvast bedankt André