Arduino webserver pagina
16 berichten
• Pagina 2 van 2 • 1, 2
Advertisement
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Arduino webserver pagina
En er staat helemaal niets voor die boodschap?
Re: Arduino webserver pagina
Probleem is opgelost.
Het was een stukje code die er niet in hoorde.
Ik kan echter nog steeds geen images openen.
Wel kan ik de voorpagina openen.
Het was een stukje code die er niet in hoorde.
Ik kan echter nog steeds geen images openen.
Wel kan ik de voorpagina openen.
Laatst gewijzigd door SpeedFM op 29 Mei 2017, 20:17, in totaal 1 keer gewijzigd.
Beginner Arduino DUE.
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Arduino webserver pagina
Wat was het nou? Dan heeft een ander er ook wat aan
Re: Arduino webserver pagina
Probleem wat ik had, is opgelost.
In plaats van de StrContains te gebruiken, gebruik ik de strstr.
Ik kan de led aansturen en een images vanaf de SD openen.
- Code: Alles selecteren
#include <SPI.h>
#include <SD.h>
#include <TFT.h>
#include <UIPEthernet.h>
#include <UIPServer.h>
#include <UIPClient.h>
#define cs 52
#define dc 9
#define rst 8
#define sd_cs 4
const int RedLed = 34;
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
IPAddress ip(192, 168, 0, 8);
EthernetServer server(80);
TFT screen = TFT(cs, dc, rst);
PImage logo;
File webFile;
void setup() {
Serial.begin(9600);
SPI.begin();
Ethernet.begin(mac, ip);
server.begin();
Serial.print("server run on IP ");
Serial.println(Ethernet.localIP());
screen.begin();
screen.background(255, 255, 255);
screen.stroke(0, 0, 0);
screen.setTextSize(2);
screen.text("Testing!", 10, 10);
pinMode(RedLed, OUTPUT);
Serial.print("Initializing SD card...");
if (!SD.begin(sd_cs)) {
Serial.println("failed!");
return;
}
Serial.println("OK!");
logo = screen.loadImage("logo.bmp");
if (!logo.isValid()) {
Serial.println("error while loading logo.bmp");
}
if (!SD.exists("page.php")) {
Serial.println("ERROR - Can't find page.php file!");
return;
}
Serial.println("SUCCESS - Found page.php file.");
}
char linebuf[80];
int charcount = 0;
void loop() {
EthernetClient client = server.available();
if (client) {
Serial.println("new client");
memset(linebuf, 0, sizeof(linebuf));
charcount = 0;
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
Serial.write(c);
linebuf[charcount] = c;
if (charcount < sizeof(linebuf) - 1) charcount++;
if (c == '\n') {
currentLineIsBlank = true;
if (strstr(linebuf, "GET /sfm_logo.png") > 0) {
Serial.println("Load images");
webFile = SD.open("sfm_logo.png");
if (webFile) {
Serial.println("Show images");
client.println("HTTP/1.1 200 OK");
client.println();
if (webFile) {
while (webFile.available()) {
client.write(webFile.read());
}
webFile.close();
}
}
} else if (strstr(linebuf, "GET /") > 0 || strstr(linebuf, "GET /index.htm") > 0) {
client.println("HTTP/1.1 200 OK");
client.println("Content-Type : text/html");
client.println();
client.println("<!DOCTYPE HTML><html><head>");
client.println("<TITLE>Arduino - Teste LED's</TITLE>");
client.println("<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"></head>");
if (digitalRead(RedLed)) {
client.print("LED is <font color='green'>ON</font>");
} else {
client.print("LED is <font color='red'>OFF</font>");
}
client.println("<br />");
client.println("<form method=get>");
client.println("<p>Led controller</p>");
if (digitalRead(RedLed)) {
client.println("<br>1 <input type=submit name=\"status\" value=\"off\">");
} else {
client.println("<br>1 <input type=submit name=\"status\" value=\"on\">");
}
client.println("</from>");
client.println("</html>");
}
if (strstr(linebuf, "GET /?status=on") > 0) {
client.println("<script language=\"javascript\">");
client.println("location.href=\"../\"");
client.println("</script>");
Serial.println("LED 1 ON");
digitalWrite(RedLed, HIGH);
} else if (strstr(linebuf, "GET /?status=off") > 0) {
client.println("<script language=\"javascript\">");
client.println("location.href=\"../\"");
client.println("</script>");
Serial.println("LED 1 OFF");
digitalWrite(RedLed, LOW);
}
currentLineIsBlank = true;
memset(linebuf, 0, sizeof(linebuf));
charcount = 0;
break;
} else if (c != '\r') {
currentLineIsBlank = false;
}
}
}
delay(1);
client.stop();
Serial.println("client disconnected");
}
}
In plaats van de StrContains te gebruiken, gebruik ik de strstr.
Ik kan de led aansturen en een images vanaf de SD openen.
Beginner Arduino DUE.
Re: Arduino webserver pagina
Okay, dat ziet er beter uit. Het is soms een beetje kort door de bocht, maar ik zie geen echte problemen.
Probeer het eens met verschillende browsers.
Meestal is zo'n sketch alleen maar een begin en blijft de web-interface steeds verder groeien
Probeer het eens met verschillende browsers.
Meestal is zo'n sketch alleen maar een begin en blijft de web-interface steeds verder groeien
16 berichten
• Pagina 2 van 2 • 1, 2
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 5 gasten