Étape 10 : Rédaction du code
Maintenant, nous allons écrire du code.
Consulter le code du fichier web-led.ino et graver le code.
Le code est simple, chaque fois qu’il trouve un client, il redonne une page Web où vous pouvez la contrôler !
CODE
-------------
#define WIFI_AP « Votre réseau WiFi » / / cette chance au nom de votre réseau wifi #define WIFI_PASSWORD « Mot de passe » / / cela change le mot de passe pour le réseau #define WIFI_AUTH LWIFI_WPA / / LWIFI_OPEN, LWIFI_WPA ou LWIFI_WEP, choisissez selon votre configuration WiFi AP / / si cela ne fonctionne pas, essayez LWIFI_WEP. Si votre réseau ne possède pas un mot de passe, utilisez LWIFI_OPEN. serverPort int = 80 ; LWiFiServer server(serverPort) ; int LED = 13 ;
void setup() {pinMode (LED, sortie) ; LWiFi.begin() ; Serial.Begin(115200) ; garder une nouvelle tentative tant que connecté à l’AP Serial.println("Connecting to AP") ; tandis que (0 == LWiFi.connect (WIFI_AP, LWiFiLoginInfo (WIFI_AUTH, WIFI_PASSWORD))) {digitalWrite (LED, HIGH); delay(100) ; digitalWrite (LED, faible); delay(100) ; digitalWrite (LED, HIGH); delay(100) ; digitalWrite (LED, faible); delay(600) ;
} digitalWrite (LED, haute) ; printWifiStatus() ; Serial.println ("Start Server") ; Server.Begin() ; Serial.println ("serveur démarré") ; digitalWrite (LED, faible) ; }
loopCount int = 0 ;
void loop() {/ / Mettez votre code principal ici, pour exécuter à plusieurs reprises : Dim str As String = "" ; String url = "" ; int i ; Delay(500) ; loopCount ++ ; LWiFiClient client = server.available() ; Si (client) {Serial.println ("nouveau client"); / / une requête http se termine par un currentLineIsBlank booléenne ligne vide = true ; while (client.connected()) {si (client.available()) {/ / nous ignore essentiellement la demande du client, mais attendez pour HTTP demande fin char c = client.read() ; Serial.Print(c) ; Si (c! = « \n ») str += c ; Si (c == « \n ») {/ / Serial.println(str) ; if (str.startsWith ("GET")) {url = str.substring (4, str.lastIndexOf("")) ; Serial.Print("URL:") ; Serial.Print(URL) ; Serial.println(":");} Str = "";}
Si (c == « \n » & & currentLineIsBlank) {Serial.println (la « réponse envoyer"); / / Envoyer un client.println d’en-tête de réponse http standard (" HTTP/1.1 200 OK "); client.println (" Content-Type : text/html "); client.println (" connexion : fermer "); / / la connexion sera fermée après l’achèvement de la client.println() de la réponse ;
Si (url! = String("favicon.ico")) {client.println("") ;
J’ai = digitalRead(LED) ; url.toLowerCase() ; Si (url == String("/on")) {digitalWrite (LED, HIGH); client.println ("tournant LED allumée");} ElseIf (url == String("/off")) {digitalWrite (LED, faible); client.println ("tournant LED éteinte");} else {client.println ("ne rien faire");} client.println("
\n
"); client.println() ; rupture ; {}} Si (c == '\n') {/ / vous commencez une nouvelle currentLineIsBlank de ligne = true;} ElseIf (c! = '\r') {/ / vous avez obtenu un personnage sur le currentLineIsBlank de ligne actuel = false;}} } / / donner le temps de navigateur web pour recevoir les delay(50) de données ;
fermer la connexion : Serial.println (« lien étroit ») ; client.Stop() ; Serial.println ("client déconnecté") ; } }
void printWifiStatus() {/ / print le SSID du réseau vous êtes attaché à: Serial.print ("SSID:") ; Serial.println(LWiFi.SSID()) ;
imprimer l’adresse IP de votre bouclier WiFi : ip IPAddress = LWiFi.localIP() ; Serial.Print ("adresse IP:") ; Serial.println(IP) ;
Serial.Print ("le masque de sous-réseau:") ; Serial.println(LWiFi.SubnetMask()) ;
Serial.Print ("IP de la passerelle:") ; Serial.println(LWiFi.gatewayIP()) ;
imprimer l’intensité du signal reçu : rssi long = LWiFi.RSSI() ; Serial.Print ("force (RSSI) du signal:") ; Serial.Print(RSSI) ; Serial.println ("dBm") ; }
-------------
Lorsque vous avez terminé cette étape, allez à l’URL de LinkitONE et accéder à votre interface web.
http://192.168.xx.xx/ON1 pour allumer le moteur 1
http://192.168.xx.xx/On2 pour allumer le moteur 2