(02-26-2017, 09:30 PM)mikikg Wrote: Moze, sve je stvar rutiranja upita na strani web servera
String request = client.readStringUntil('\r');
Kad meni dodje request na moj loop to je vec lako, medjutim, meni je problem kako da "preusmerim" traffic.
Tj. meni radi sve to ali kad pristupim direktno IP-u koji dobijem ako se zakacim na moj home wifi. Ako ne, ne znam sta bih mogao da gadjam kao endpoint u browseru da ga trigerujem.
Npr. WiFi podesavanja su mi dostupana na 192.168.240.1, ako se tu zakacim na moj home WiFi i dobijem prvi slobodni IP dodljen od mog rutera npr. 192.168.1.15.
I onda preko mreze bilo iz browser-a ili sa mobilnog mogu da posetim http://192.168.1.15/arduino/webserver i da dobijem response koji sam ubacio u svoj loop na arduinu. Medjutim, ono sto ja hocu je da kad ukucam www.bilo-sta.com da dobijem taj isti response ukoliko sam ukonektovan na WiFi mog arduina.
Ovo je onaj standardni code sample koji dolazi uz Arduino Uno WiFi:
Code:
#include <Wire.h>
#include <UnoWiFiDevEd.h>
void setup() {
Wifi.begin();
Wifi.println("Web Server is up");
}
void loop() {
while(Wifi.available()){
process(Wifi);
}
delay(50);
}
void process(WifiData client) {
String command = client.readStringUntil('\r'); //ne radim nista s ovim jer sam hteo samo da propustim sve direktno preko ovog WebServer(client) metode...
WebServer(client);
}
void WebServer(WifiData client) {
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");
client.println("Refresh: 20");
client.println();
client.println("<html>");
client.println("<head> <title>Hello World</title> </head>");
client.print("<body>");
client.print("<h1>Hello World!</h1>");
client.print("</body>");
client.println("</html>");
client.print(DELIMITER);
}
Kad se ukonektujem recimo sa mobilnog na ovaj moj arduino WiFi i otvorim browser, dobijem prvo poruku da nisam konektovan na net, a zatim kad probam da ucitam bilo koji sajt, da je DNS los.