{"id":9476,"date":"2022-07-08T13:04:44","date_gmt":"2022-07-08T11:04:44","guid":{"rendered":"https:\/\/fablab21.fr\/?page_id=1701"},"modified":"2026-10-19T19:00:49","modified_gmt":"2026-10-19T17:00:49","slug":"allumer-une-led-a-partir-dune-page-web","status":"publish","type":"page","link":"https:\/\/www.association-ore.fr\/fr\/tutos\/tutos-arduino\/allumer-une-led-a-partir-dune-page-web\/","title":{"rendered":"Allumer une LED depuis une page Web"},"content":{"rendered":"<h2><b>Principe du Projet<\/b><\/h2>\n<p>Contr\u00f4ler une LED depuis une page web avec le microcontr\u00f4leur ESP8266.<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.association-ore.fr\/fr\/wp-content\/uploads\/2022\/07\/WhatsApp-Image-2022-07-09-at-13.38.47-rotated.jpeg\" alt=\"\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Outils utilis\u00e9s<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.association-ore.fr\/fr\/wp-content\/uploads\/2022\/07\/led-2.png\" alt=\"\"\/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">LED<\/h4>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.association-ore.fr\/fr\/wp-content\/uploads\/2022\/07\/esp-2.jpg\" alt=\"\"\/><\/figure>\n\n\n<h4>ESP 8266<\/h4>\n\n<h2>Principe de fonctionnement<\/h2>\n<div>&nbsp;<\/div>\n<p>&nbsp;La carte NodeMCU ESP8266 contient un module ESP-12E contenant un microprocesseur 32bits. Il int\u00e8gre un \u00e9metteur-r\u00e9cepteur WiFi ce qui lui permet de se connecter \u00e0 des r\u00e9seaux existants ou bien de mettre en place son propre r\u00e9seau.<br>Le r\u00e9seau WiFi est un r\u00e9seau Radio qui travaille sur les fr\u00e9quences 2,45 GHz et 5 GHz.<\/p>\n\n<h2>Sch\u00e9ma<\/h2><div>\u00a0<\/div><div><b>Branchez la led sur l&rsquo;esp8266<\/b><\/div><p>Anode &#8212;-(D0)<\/p><p>Cathode&#8212;-(GND) {une r\u00e9sistance entre le GND et le cathode pour la protection }<\/p>\n\n<p>\u00a0<\/p><p>\u00a0<\/p><p>\u00a0<\/p><p>\u00a0<\/p><p>Pour communiquer sur le r\u00e9seau, il nous faut utiliser un protocole particulier. Ce protocole est int\u00e9gr\u00e9 dans toutes les librairies relatives \u00e0 la communication Wifi.<\/p><p>\u00a0<\/p><ul><li>Il faut connecter le module WiFi au r\u00e9seau<\/li><li>d\u00e9finir un serveur server<\/li><li>d\u00e9finir un client client\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 La librairie qui va nous permettre de g\u00e9rer l\u2019\u00e9metteur-r\u00e9cepteur Wifi est la librairie ESP8266WiFi.h. Pour charger le code Arduino dans la carte, vous devez s\u00e9lectionner la bonne carte et le bon port.<\/li><\/ul><p>Dans notre cas, la carte est NodeMCU 1.0 (ESP-12E Module). Nous allons ensuite cr\u00e9er l\u2019interface web de l\u2019ESP8266 dans la fonction web page en HTML.<\/p><p>\u00a0<\/p><p>Utilisez une interface web pour piloter des moteurs ou g\u00e9rer des capteurs branch\u00e9s \u00e0 votre microcontr\u00f4leur ESP8266<\/p><p>\u00a0<\/p><p>Juste \u00e9crivez le nom et le mot de passe de votre connexion r\u00e9seau :\u00a0<\/p><p>\u00a0<\/p><ul><li>const char* ssid = \u00ab\u00a0&#8230;&#8230;&#8230;&#8230;.\u00a0\u00bb;<\/li><li>const char* password = \u00ab\u00a0\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026..\u00a0\u00bb;<\/li><li>\u00a0<\/li><\/ul><p>A la fin :<\/p><p>\u00a0<\/p><p>\u00a0Copiez l\u2019adresse IP sur Navigator(edge,chrome\u2026\u2026) soit sur votre ordinateur ou t\u00e9l\u00e9phone et je vous laisse contr\u00f4ler la LED (allumer\/\u00e9teindre)<\/p><p>\u00a0<\/p>\n\n\n<details class=\"wp-block-details ore-question is-layout-flow wp-block-details-is-layout-flow\"><summary>Programme :<\/summary>\n<pre class=\"wp-block-code\"><code>#include &lt;ESP8266WiFi.h&gt;\nconst char* ssid = &quot;............&quot;;\nconst char* password = &quot;.............&quot;;\nint ledPin = 16; \nWiFiServer server(80);\nvoid setup() \n{\u00a0\nSerial.begin(115200);\ndelay(100); \npinMode(ledPin, OUTPUT);\ndigitalWrite(ledPin, LOW);\nSerial.println();\nSerial.print(&quot;Connecting to &quot;);\nSerial.println(ssid);\nWiFi.begin(ssid, password);\n\/\/ connection en cours ...\nwhile (WiFi.status() != WL_CONNECTED)\n\u00a0 \u00a0 \u00a0 {\n\u00a0 \u00a0 \u00a0 \u00a0delay(500);\n\u00a0 \u00a0 \u00a0 \u00a0Serial.print(&quot;.&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0}\nSerial.println(&quot;WiFi connecter&quot;); \/\/ Wifi connecter\nserver.begin();\nSerial.println(&quot;Serveur demarrer !&quot;);\nSerial.print(&quot;Utiliser cette adresse URL pour la connexion :&quot;); \/\/ Affichage de l&#039;adresse IP\nSerial.print(&quot;http:\/\/&quot;);\nSerial.print(WiFi.localIP());\nSerial.println(&quot;\/&quot;);\n}\n\u00a0 \nvoid loop()\n\u00a0 \n{\nWiFiClient client;\nclient = server.available();\/\/ V\u00e9rification si le client est connecter.\nif (!client)\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0{\u00a0\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 return;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0}\nSerial.println(&quot;nouveau client&quot;); \/\/ Attendre si le client envoie des donn\u00e9es ...\nwhile(!client.available())\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0{\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0delay(1);\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0}\nString request = client.readStringUntil(&#039;\\r&#039;);\nSerial.println(request);\nclient.flush();\nint value = LOW;\nif (request.indexOf(&quot;\/LED=ON&quot;) != -1)\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0{\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0digitalWrite(ledPin, HIGH); \/\/ allumer la led\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0value = HIGH;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0}\nif (request.indexOf(&quot;\/LED=OFF&quot;) != -1)\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0{\n\u00a0 \u00a0 \u00a0 \u00a0 digitalWrite(ledPin, LOW); \/\/ \u00e9teindre la led\n\u00a0 \u00a0 \u00a0 \u00a0value = LOW;\n\u00a0 \u00a0 \u00a0 \u00a0 }\n\/\/ R\u00e9ponse\nclient.println(&quot;HTTP\/1.1 200 OK&quot;);\nclient.println(&quot;Content-Type: text\/html&quot;);\nclient.println(&quot;&quot;); \nclient.println(&quot;&lt;!DOCTYPE HTML&gt;&quot;);\nclient.println(&quot;&lt;html&gt;&quot;);\nclient.print(&quot;Etat de la led : &quot;);\nif(value == HIGH)\n\u00a0 \u00a0 \u00a0 \u00a0{\n\u00a0 \u00a0 \u00a0 \u00a0 client.print(&quot;On&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0 }\u00a0\n\u00a0 \u00a0 \u00a0 \u00a0else\u00a0\n\u00a0 \u00a0 \u00a0 \u00a0{\n\u00a0 \u00a0 \u00a0 \u00a0client.print(&quot;Off&quot;);\n\u00a0 \u00a0 \u00a0 \u00a0}\nclient.println(&quot;&lt;br&gt;&lt;br&gt;&quot;);\nclient.println(&quot;&lt;a href=\\&quot;\/LED=ON\\&quot;\\&quot;&gt;&lt;button&gt;Allumer &lt;\/button&gt;&lt;\/a&gt;&quot;);\nclient.println(&quot;&lt;a href=\\&quot;\/LED=OFF\\&quot;\\&quot;&gt;&lt;button&gt;Eteindre &lt;\/button&gt;&lt;\/a&gt;&lt;br \/&gt;&quot;); \nclient.println(&quot;&lt;\/html&gt;&quot;);\ndelay(1);\nSerial.println(&quot;Client deconnecter&quot;);\nSerial.println(&quot;&quot;);\n}<\/code><\/pre>\n<\/details>\n\n\n<p>Ce que vous visualisez sur le monitor serial:<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.association-ore.fr\/fr\/wp-content\/uploads\/2022\/07\/capture-1.png\" alt=\"\"\/><\/figure>\n\n\n<p>Vous avez qu&rsquo;\u00e0 copier l&rsquo;adresse l&rsquo;URL dans un navigateur pour pouvoir afficher la page Web et contr\u00f4ler la LED<\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.association-ore.fr\/fr\/wp-content\/uploads\/2022\/07\/led-1.png\" alt=\"\"\/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Principe du Projet Contr\u00f4ler une LED depuis une page web avec le microcontr\u00f4leur ESP8266. Outils utilis\u00e9s LED ESP 8266 Principe de fonctionnement &nbsp; &nbsp;La [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":6311,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-tutoriel","meta":{"footnotes":""},"class_list":["post-9476","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.association-ore.fr\/fr\/wp-json\/wp\/v2\/pages\/9476","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.association-ore.fr\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.association-ore.fr\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.association-ore.fr\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.association-ore.fr\/fr\/wp-json\/wp\/v2\/comments?post=9476"}],"version-history":[{"count":1,"href":"https:\/\/www.association-ore.fr\/fr\/wp-json\/wp\/v2\/pages\/9476\/revisions"}],"predecessor-version":[{"id":11476,"href":"https:\/\/www.association-ore.fr\/fr\/wp-json\/wp\/v2\/pages\/9476\/revisions\/11476"}],"up":[{"embeddable":true,"href":"https:\/\/www.association-ore.fr\/fr\/wp-json\/wp\/v2\/pages\/6311"}],"wp:attachment":[{"href":"https:\/\/www.association-ore.fr\/fr\/wp-json\/wp\/v2\/media?parent=9476"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}