{"id":231,"date":"2026-01-06T12:51:56","date_gmt":"2026-01-06T15:51:56","guid":{"rendered":"https:\/\/techsmundo.com.br\/?p=231"},"modified":"2026-01-09T15:09:46","modified_gmt":"2026-01-09T18:09:46","slug":"arduino-nodemcu-esp8266-webserver-com-arduino-via-wi-fi","status":"publish","type":"post","link":"https:\/\/techsmundo.com.br\/?p=231","title":{"rendered":"Arduino NodeMCU ESP8266: WebServer com Arduino via Wi-Fi."},"content":{"rendered":"\n<p>O <strong>NodeMCU ESP8266<\/strong> revolucionou os projetos com Arduino ao unir <strong>microcontrolador + Wi-Fi<\/strong> em um \u00fanico m\u00f3dulo de baixo custo. Com ele, \u00e9 poss\u00edvel criar um <strong>WebServer completo<\/strong>, acess\u00edvel pelo navegador, sem a necessidade de computador ou servidor externo.<\/p>\n\n\n\n<p>Neste post, voc\u00ea aprender\u00e1 a criar um <strong>WebServer com ESP8266<\/strong>, capaz de controlar dispositivos e exibir informa\u00e7\u00f5es em tempo real atrav\u00e9s da rede Wi-Fi.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Arduino Nodemcu Esp8266: WEBSEVER com arduino via WIFI completo\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/ZsMLAqQD3Es?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83c\udfaf Objetivo do Projeto<\/h2>\n\n\n\n<p>Criar um sistema capaz de:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Conectar o ESP8266 a uma rede Wi-Fi<\/li>\n\n\n\n<li>Criar um <strong>servidor web embarcado<\/strong><\/li>\n\n\n\n<li>Acessar o sistema via navegador<\/li>\n\n\n\n<li>Controlar sa\u00eddas digitais (LED, rel\u00e9, etc.)<\/li>\n\n\n\n<li>Exibir informa\u00e7\u00f5es em tempo real<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\udde0 Como Funciona o WebServer no ESP8266<\/h2>\n\n\n\n<p>O ESP8266 possui uma <strong>pilha TCP\/IP integrada<\/strong>, permitindo:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hospedar p\u00e1ginas HTML<\/li>\n\n\n\n<li>Receber requisi\u00e7\u00f5es HTTP<\/li>\n\n\n\n<li>Responder comandos do navegador<\/li>\n<\/ul>\n\n\n\n<p>Fluxo b\u00e1sico:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Navegador \u21c4 Wi-Fi \u21c4 ESP8266 (WebServer)\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\uddf0 Componentes Utilizados<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Hardware<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>NodeMCU ESP8266<\/li>\n\n\n\n<li>LED ou M\u00f3dulo Rel\u00e9<\/li>\n\n\n\n<li>Resistores<\/li>\n\n\n\n<li>Jumpers<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Software<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Arduino IDE<\/li>\n\n\n\n<li>Biblioteca ESP8266WiFi<\/li>\n\n\n\n<li>Navegador web<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u2699\ufe0f Configura\u00e7\u00e3o da Arduino IDE<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Instale o <strong>suporte ESP8266<\/strong> no Gerenciador de Placas<\/li>\n\n\n\n<li>Selecione:\n<ul class=\"wp-block-list\">\n<li>Placa: <em>NodeMCU 1.0 (ESP-12E)<\/em><\/li>\n\n\n\n<li>Porta correta<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83c\udf10 Conectando o ESP8266 ao Wi-Fi<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;ESP8266WiFi.h&gt;\n\nconst char* ssid = \"SUA_REDE\";\nconst char* password = \"SUA_SENHA\";\n\nWiFiServer server(80);\n\nvoid setup() {\n  Serial.begin(9600);\n  WiFi.begin(ssid, password);\n\n  while (WiFi.status() != WL_CONNECTED) {\n    delay(500);\n    Serial.print(\".\");\n  }\n\n  Serial.println(\"\\nWiFi conectado\");\n  Serial.println(WiFi.localIP());\n  server.begin();\n}\n\nvoid loop() {\n}\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83c\udf0d Criando o WebServer<\/h2>\n\n\n\n<p>Exemplo simples para controlar um LED:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>int led = D1;\n\nvoid setup() {\n  pinMode(led, OUTPUT);\n}\n\nvoid loop() {\n  WiFiClient client = server.available();\n  if (!client) return;\n\n  String request = client.readStringUntil('\\r');\n\n  if (request.indexOf(\"\/LED=ON\") != -1) {\n    digitalWrite(led, HIGH);\n  }\n  if (request.indexOf(\"\/LED=OFF\") != -1) {\n    digitalWrite(led, LOW);\n  }\n\n  client.println(\"HTTP\/1.1 200 OK\");\n  client.println(\"Content-Type: text\/html\");\n  client.println();\n  client.println(\"&lt;h1&gt;Controle Web ESP8266&lt;\/h1&gt;\");\n  client.println(\"&lt;a href='\/LED=ON'&gt;Ligar&lt;\/a&gt;&lt;br&gt;\");\n  client.println(\"&lt;a href='\/LED=OFF'&gt;Desligar&lt;\/a&gt;\");\n\n  delay(1);\n}\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udda5\ufe0f Acesso pelo Navegador<\/h2>\n\n\n\n<p>Ap\u00f3s o upload:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Abra o <strong>Monitor Serial<\/strong><\/li>\n\n\n\n<li>Anote o IP exibido<\/li>\n\n\n\n<li>Digite o IP no navegador<\/li>\n\n\n\n<li>A p\u00e1gina web ser\u00e1 carregada<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd10 Boas Pr\u00e1ticas de Seguran\u00e7a<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Utilizar senha forte no Wi-Fi<\/li>\n\n\n\n<li>Implementar autentica\u00e7\u00e3o HTTP<\/li>\n\n\n\n<li>Restringir comandos sens\u00edveis<\/li>\n\n\n\n<li>Usar HTTPS (quando poss\u00edvel)<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\ude80 Poss\u00edveis Melhorias<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Interface HTML + CSS<\/li>\n\n\n\n<li>Controle via smartphone<\/li>\n\n\n\n<li>Leitura de sensores<\/li>\n\n\n\n<li>Integra\u00e7\u00e3o com MySQL e PHP<\/li>\n\n\n\n<li>Comunica\u00e7\u00e3o MQTT<\/li>\n\n\n\n<li>Uso de ESP32<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83c\udfe0 Aplica\u00e7\u00f5es Pr\u00e1ticas<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Automa\u00e7\u00e3o residencial<\/li>\n\n\n\n<li>Controle de ilumina\u00e7\u00e3o<\/li>\n\n\n\n<li>Monitoramento remoto<\/li>\n\n\n\n<li>Projetos IoT<\/li>\n\n\n\n<li>Ensino de redes e web embarcada<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udccc Conclus\u00e3o<\/h2>\n\n\n\n<p>O <strong>NodeMCU ESP8266 com WebServer via Wi-Fi<\/strong> \u00e9 um dos projetos mais completos e vers\u00e1teis com Arduino. Ele une eletr\u00f4nica, redes e desenvolvimento web em um \u00fanico sistema.<\/p>\n\n\n\n<p>Com pequenas melhorias, esse projeto pode se transformar em uma <strong>solu\u00e7\u00e3o profissional de IoT<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>\ud83c\udf10 <strong>Pr\u00f3ximo passo:<\/strong> WebServer com <strong>ESP8266 + Dashboard Responsivo<\/strong><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>O NodeMCU ESP8266 revolucionou os projetos com Arduino ao unir microcontrolador + Wi-Fi em um \u00fanico m\u00f3dulo de baixo custo. Com ele, \u00e9 poss\u00edvel criar um WebServer completo, acess\u00edvel pelo navegador, sem a necessidade de computador ou servidor externo. Neste post, voc\u00ea aprender\u00e1 a criar um WebServer com ESP8266, capaz de controlar dispositivos e exibir [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":270,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-231","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino-tecnologia"],"_links":{"self":[{"href":"https:\/\/techsmundo.com.br\/index.php?rest_route=\/wp\/v2\/posts\/231","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techsmundo.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techsmundo.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techsmundo.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/techsmundo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=231"}],"version-history":[{"count":11,"href":"https:\/\/techsmundo.com.br\/index.php?rest_route=\/wp\/v2\/posts\/231\/revisions"}],"predecessor-version":[{"id":272,"href":"https:\/\/techsmundo.com.br\/index.php?rest_route=\/wp\/v2\/posts\/231\/revisions\/272"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/techsmundo.com.br\/index.php?rest_route=\/wp\/v2\/media\/270"}],"wp:attachment":[{"href":"https:\/\/techsmundo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=231"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techsmundo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=231"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techsmundo.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=231"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}