Linkit en och RGB-lysdioder (4 / 5 steg)
Steg 4: kod
Använda arduino IDE att ladda upp koden till styrelsen, måste du ändra IDE för att göra det stödja Linkit en styrelsen. Också ange nätverksnamn ssid och lösenord.
< p > / * < br > WiFi webbserver < /p >< p > ändra makrot WIFI_AP, WIFI_PASSWORD och WIFI_AUTH till din egen router inställningar. < /p >< p > * /
#include
#include
#include
#include < /p >< p > #define WIFI_AP "ssid"
#define WIFI_PASSWORD "lösenord"
#define WIFI_AUTH LWIFI_WPA / / välja mellan LWIFI_OPEN, LWIFI_WPA eller LWIFI_WEP enligt din WiFi AP konfiguration
Jag skulle prova LWIFI_WPA först
om det misslyckas LWIFI_WEP
om det misslyckas LWIFI_OPEN (och ta reda på varför du ger WiFi till grannarna!) < /p >< p > int serverPort = 80.
LWiFiServer server(serverPort);
int LED = 13. < /p >< p > void setup()
{
pinMode (LED, OUTPUT);
LWiFi.begin();
Serial.BEGIN(115200);
hålla försöker igen tills ansluten till AP
Serial.println ("ansluter till AP");
medan (0 == LWiFi.connect (WIFI_AP, LWiFiLoginInfo (WIFI_AUTH, WIFI_PASSWORD)))
{
digitalWrite (LED, hög);
Delay(100);
digitalWrite (LED, låg);
Delay(100);
digitalWrite (LED, hög);
Delay(100);
digitalWrite (LED, låg);
Delay(600); < /p >< p >}
digitalWrite (LED, hög);
printWifiStatus();
Serial.println ("starta Server");
Server.BEGIN();
Serial.println ("Server började");
digitalWrite (LED, låg);
} < /p >< p > int loopCount = 0; < /p >< p > void loop()
{
sätta din huvudsakliga kod här, för att köra flera gånger:
String str = "";
Sträng url = "";
int i;
Delay(500);
loopCount ++;
LWiFiClient klient = server.available();
om (klient)
{
Serial.println ("ny kund");
en http-förfrågan avslutas med en tom rad
booleska currentLineIsBlank = sant;
samtidigt (client.connected())
{
om (client.available())
{
Vi i princip ignorerar klientbegäran, men vänta HTTP begäran slutet
char c = client.read();
Serial.Print(c);
om (c! = "\n")
Str += c;
om (c == "\n")
{
Serial.println(Str);
om (str.startsWith ("få"))
{
URL = str.substring (4, str.lastIndexOf(""));
Serial.Print("URL:");
Serial.Print(URL);
Serial.println(":");
}
Str = "";
} < /p >< p > om (c == '\n' & & currentLineIsBlank)
{
Serial.println ("Skicka svar");
Skicka ett standard http-svarshuvud
client.println ("HTTP/1.1 200 OK");
client.println ("Content-Type: text/html");
client.println ("anslutning: Stäng"); anslutningen kommer att stängas efter slutförandet av svar
client.println();
om (url! = String("favicon.ico"))
{
client.println("");
client.println("
\n
\n
< /p >< p > \n < /p >< p > ");
IP-adress ip = LWiFi.localIP();
client.println("
< /p > ");
client.println("
Berätta din enhet vad göra! < br >< br > Aktivera LED. < br > vända LED av. < br >< br >< p > ");
Jag = digitalRead(LED);
url.toLowerCase();
IF(URL == String("/?q=on"))
{
digitalWrite (LED, hög);
client.println ("LED på < br >");
}
annat if(url == String("/?q=off"))
{
digitalWrite (LED, låg);
client.println ("LED av < br >");
}
annat
{
client.println ("gör ingenting < br >");
}
client.println ("< /p >< p > \n < /p >< p >");
client.println();
bryta;
}
}
om (c == "\n")
{
du börjar en ny rad
currentLineIsBlank = sant;
}
annars om (c! = '\r')
{
du har fått ett tecken på den aktuella raden
currentLineIsBlank = false;
}
}
}
de web webbläsare möjlighet att ta emot data
Delay(50); < /p >< p > / / Stäng anslutningen:
Serial.println ("nära samband");
client.stop();
Serial.println ("klienten kopplas från");
}
} < /p >< p > void printWifiStatus()
{
skriva ut SSID för nätverket du är ansluten till:
Serial.Print ("SSID:");
Serial.println(LWiFi.SSID()); < /p >< p > / / Skriv ut din WiFi shield's IP-adress:
IP-adress ip = LWiFi.localIP();
Serial.Print ("IP-adress:");
Serial.println(IP); < /p >< p > Serial.print ("nätmask:");
Serial.println(LWiFi.subnetMask()); < /p >< p > Serial.print ("gateway IP:");
Serial.println(LWiFi.gatewayIP()); < /p >< p > / / skriva ut mottagna signalstyrka:
långa rssi = LWiFi.RSSI();
Serial.Print ("signalstyrka (RSSI):");
Serial.Print(RSSI);
Serial.println ("dBm");
} < /p >