Paso 5: Escribir algo de código
Ahora vamos a escribir algo de código.
Ver el código desde el archivo de la web led.ino y grabar el código.
El código es simple, cuando cada vez que encuentra un cliente, da vuelta una página web donde se puede controlar!
CÓDIGO
-------------
#define WIFI_AP "Tu red WiFi" / / posibilidad de esto su nombre de red wifi #define WIFI_PASSWORD "Contraseña" / / cambiar la contraseña de la red #define WIFI_AUTH LWIFI_WPA / / elegir LWIFI_OPEN, LWIFI_WPA o LWIFI_WEP según su configuración de WiFi AP / / si esto no funciona, probar con LWIFI_WEP. Si su red no tiene una contraseña, utilice LWIFI_OPEN. serverPort int = 80; Server(serverPort) de LWiFiServer; int LED = 13;
void setup() {pinMode (LED, salida); LWiFi.begin(); Serial.Begin(115200); Mantenga reintentando hasta conectado a AP Serial.println("Connecting to AP"); mientras que (0 == LWiFi.connect (WIFI_AP, LWiFiLoginInfo (WIFI_AUTH, WIFI_PASSWORD))) {digitalWrite (LED, alta); delay(100); digitalWrite (LED, baja); delay(100); digitalWrite (LED, alta); delay(100); digitalWrite (LED, baja); delay(600);
} digitalWrite (LED, alta); printWifiStatus(); Serial.println ("Start Server"); Server.Begin(); Serial.println ("servidor iniciado"); digitalWrite (LED, baja); }
loopCount int = 0;
void loop() {/ / Pon tu código principal, para ejecutar varias veces: String str = ""; String url = ""; int i; Delay(500); loopCount ++; Cliente LWiFiClient = server.available(); Si (cliente) {Serial.println ("nuevo cliente"); / / termina una solicitud http con una línea en blanco boolean currentLineIsBlank = true; mientras que (client.connected()) {si (client.available()) {/ / básicamente ignora la petición del cliente, pero espere para HTTP petición final char c = client.read(); Serial.Print(c); Si (c! = '\n') str += c; Si (c == '\n') {/ / Serial.println(str); si (str.startsWith ("GET")) {url = str.substring (4, str.lastIndexOf("")); Serial.Print("URL:"); Serial.Print(URL); Serial.println(":");} Str = "";}
Si (c == '\n' & & currentLineIsBlank) {Serial.println ("enviar respuesta"); / / enviar un client.println de encabezado de respuesta http estándar ("HTTP/1.1 200 OK"); client.println ("tipo de contenido: texto/html"); client.println ("conexión: cerrar"); / / la conexión se cerrará después de la terminación de la respuesta client.println();
Si (url! = String("favicon.ico")) {client.println("");
i = digitalRead(LED); url.toLowerCase(); Si (url == String("/on")) {digitalWrite (LED, alta); client.println ("encender LED");} else if (url == String("/off")) {digitalWrite (LED, baja); client.println ("encender LED apagado");} Else {client.println ("no hacer nada");} Client.println("
\n
"); Client.println(); rotura; {}} Si (c == '\n') {/ / vas a empezar un nuevo currentLineIsBlank de línea = true;} else if (c! = '\r') {/ / he conseguido un carácter en la actual línea currentLineIsBlank = false;}} } / / dar el tiempo de navegador web para recibir el delay(50) de datos;
cerrar la conexión: Serial.println ("estrecha conexión"); Client.STOP(); Serial.println ("cliente desconectado"); } }
void printWifiStatus() {/ / el SSID de la red está conectado a la impresión: Serial.print ("SSID:"); Serial.println(LWiFi.SSID());
Dirección IP de tu WiFi protector la impresión: dirección IP ip = LWiFi.localIP(); Serial.Print ("dirección IP:"); Serial.println(IP);
Serial.Print ("la máscara de subred:"); Serial.println(LWiFi.subnetMask());
Serial.Print ("gateway IP:"); Serial.println(LWiFi.gatewayIP());
imprimir la fuerza de la señal recibida: rssi largo = LWiFi.RSSI(); Serial.Print ("intensidad (RSSI) de la señal:"); Serial.Print(RSSI); Serial.println ("dBm"); }
-------------
Una vez completado este paso, vaya a la URL de LinkitONE y acceder a su interfaz web.
http://192.168.xx.xx/on para encender la luz
http://192.168.xx.xx/off para apagar la luz