Como conectar um arduino ao wifi

Resumo:

Adicionar um módulo ESP8266 ao seu Arduino UNO fornecerá a capacidade de conectá -lo a uma rede Wi -Fi, permitindo que você controla e acesse seu Arduino remotamente. Neste guia, forneceremos instruções passo a passo sobre como conectar um arduino ao wifi usando um módulo ESP8266.

Pontos chave:

1. Um Arduino pode ser conectado ao WiFi usando um módulo ESP8266. O ESP8266 inclui um processador e um chip wifi, permitindo que você o programe e acesse seus recursos WiFi do mesmo dispositivo.

2. Para conectar seu Arduino ao WiFi, você precisará instalar a biblioteca ESP8266 em seu Arduino IDE. Esta biblioteca fornece as funções e ferramentas necessárias para programar e controlar o módulo ESP8266.

3. Depois que a biblioteca estiver instalada, você pode conectar o ESP8266 ao seu Arduino usando um cabo USB ou fios de jumper. Certifique -se de estabelecer uma conexão segura e verifique se os pinos estão alinhados corretamente.

4. Configure a conexão WiFi ESP8266 e conecte -a à Internet. Você precisará inserir o nome da rede e a senha para estabelecer uma conexão com o seu roteador.

5. Programe seu código no ESP8266 e envie -o para o seu Arduino. O código dependerá do seu projeto e do que você deseja alcançar com a conexão wifi. O Arduino IDE fornece uma interface para escrever e fazer upload de código para o ESP8266.

6. Execute o código e conecte -se à sua rede wifi. Depois de enviar com êxito o código, seu Arduino deve estar conectado à rede wifi, permitindo que você o controlasse remotamente.

7. Depois que seu Arduino estiver conectado ao WiFi, você pode executar várias tarefas. Você pode controlá -lo remotamente de qualquer computador ou smartphone com uma conexão com a Internet, enviar e receber dados e baixar informações da web.

8. Os componentes e suprimentos necessários para conectar um Arduino para WiFi podem variar dependendo do seu projeto. No mínimo, você precisará de uma placa Arduino (e.g., Uno, mega), um módulo ESP8266 (e.g., Nodemcu), um cabo USB ou fios de jumper, uma conexão com a Internet e o Arduino IDE instalado no seu computador.

9. Depois de conectar o ESP8266 ao seu Arduino e fazer o upload do código, você pode testá -lo para garantir que ele esteja funcionando corretamente. Use um monitor serial ou um dispositivo de detecção para verificar a conexão e a transmissão de dados.

10. Se tudo estiver funcionando corretamente, você pode construir um circuito permanente para o seu Arduino e ESP8266. Verifique se todas as conexões estão seguras antes de ligar o circuito.

Perguntas e respostas:

1. Qual é a maneira mais comum de conectar um Arduino a uma rede wifi?
A maneira mais comum de conectar um Arduino a uma rede wifi é usando um módulo ESP8266. Este módulo inclui um processador e um chip Wi -Fi, permitindo que você o programe e acesse seus recursos wifi do mesmo dispositivo.

2. O que você precisa fazer antes de conectar o ESP8266 ao seu Arduino?
Antes de conectar o ESP8266 ao seu Arduino, você precisa instalar a biblioteca ESP8266 em seu Arduino IDE. Esta biblioteca fornece as funções e ferramentas necessárias para programar e controlar o módulo ESP8266.

3. Que etapas estão envolvidas na conexão de um arduino ao wifi?
As etapas envolvidas na conexão de um Arduino ao WiFi incluem a instalação da biblioteca ESP8266, conectando o ESP8266 ao Arduino, configurando a conexão WiFi, programando e carregando o código e executando o código para estabelecer a conexão.

4. Como posso controlar meu Arduino remotamente depois de conectá -lo ao wifi?
Depois que seu Arduino estiver conectado ao WiFi, você pode controlá -lo remotamente de qualquer computador ou smartphone com uma conexão com a Internet. Você pode usar aplicativos da Web ou software dedicado para enviar comandos e receber dados do seu Arduino.

5. O que posso fazer com um arduino conectado ao wifi?
Com um Arduino conectado ao WiFi, você pode executar várias tarefas. Você pode controlar seu Arduino remotamente, enviar e receber dados, baixar informações da Web, integrar -se a outros serviços da Web e muito mais. As possibilidades são quase ilimitadas.

6. Existem componentes e suprimentos específicos necessários para conectar um arduino a wifi?
Os componentes e suprimentos necessários para conectar um Arduino para WiFi podem variar dependendo do seu projeto. No mínimo, você precisará de uma placa Arduino (e.g., Uno, mega), um módulo ESP8266 (e.g., Nodemcu), um cabo USB ou fios de jumper, uma conexão com a Internet e o Arduino IDE instalado no seu computador.

7. Como posso testar se meu arduino está adequadamente conectado ao wifi?
Depois de enviar o código para o seu Arduino, você pode testar a conexão usando um monitor serial ou um dispositivo de detecção. Isso permitirá que você verifique se o Arduino está conectado à sua rede wifi e se está enviando e recebendo dados corretamente.

8. Posso construir um circuito permanente para o meu Arduino e ESP8266?
Sim, depois de testar e garantir que seu código esteja funcionando corretamente, você pode construir um circuito permanente para o seu Arduino e ESP8266. Isso envolve conectar a fonte de alimentação e outros componentes necessários para o seu projeto específico. Certifique-se de verificar todas as conexões antes de ligar o circuito.

9. Posso conectar vários arduinos à mesma rede wifi?
Sim, você pode conectar vários arduinos à mesma rede wifi. Cada Arduino precisará de seu próprio módulo ESP8266 para conectividade WiFi. Você pode programar e controlar cada Arduino de forma independente, permitindo operações simultâneas.

10. Quão seguro é a conexão wifi entre um arduino e uma rede?
A segurança da conexão wifi entre um Arduino e uma rede depende das medidas de segurança implementadas pela própria rede. É importante garantir que a rede tenha fortes protocolos de criptografia e autenticação para impedir o acesso não autorizado ao seu Arduino e seus dados.

Como conectar um arduino ao wifi

Adicionar este módulo ao seu Arduino UNO o abrirá a projetos mais e emocionantes.

Meu Arduino tem wifi?

О эээ сйранibus

Ы з ззарегиgléria. С помощью этой страницы мы сможем определить, что запросы отправляете именно вы, а не робот. Почpels эээ моогitu произойth?

Эта страница отображается в тех случаях, когда автоматическими системами Google регистрируются исходящие из вашей сети запросы, которые нарушают Условия использования. Ponto. Ээth момо номттаая и оозз илэз и ээ и эз и эз и з и ззз и зз и ээз и ээз иth ээ эth ээзз эth эзз иthлз ио и зз и иth эз иээ эээо иth эз эээ ээо ээоо иth иэзз эth эзт эth эз ио эээ иth эз иэз иthлзз иоз ил иээ иээо иэээ иээо иth ио иээ эth иэ иээ эth иэ иээ эth ио иэ ээог seguir.

Ит и и и и и и и и и чззжfia м ирржжжfia м иржжжжfia м мжжжжжж<ь м м иржжжfia. não. Если вы используете общий доступ в Интернет, проблема может быть с компьютером с таким же IP-адресом, как у вас. Орратитеitivamente к с о и и с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с а с с а с а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а &rdquo;. ПодробнÉ.

Проверка по слову может также появляться, если вы вводите сложные запросы, обычно распространяемые автоматизированными системами, или же вводите запросы очень часто.

Como conectar um arduino ao wifi?

Como conectar um arduino ao wifi?

Neste guia abrangente, levaremos você pelas etapas de conectar seu Arduino a uma rede wifi. Esta é uma ótima maneira de controlar seu Arduino de qualquer lugar do mundo, sem ter que estar perto dele.

Vamos responder a algumas perguntas comuns sobre a conexão de arduinos ao wifi, e forneça algumas dicas úteis que facilitarão o processo. Deixar&rsquo;S começar!

Como conectar um arduino ao wifi?

A maneira mais comum de conectar um Arduino a uma rede wifi é usando um módulo ESP8266.

Um módulo ESP8266 inclui um processador e um chip wifi, permitindo que você o programe e acesse seus recursos WiFi do mesmo dispositivo.

Como conectar um arduino ao wifi?

  1. Instale a biblioteca ESP8266 em seu Arduino IDE.
  2. Conecte o ESP8266 ao seu Arduino com um cabo USB ou fios de jumper.
  3. Configure a conexão WiFi ESP8266 e conecte -a à Internet.
  4. Programe seu código no ESP8266 e envie -o para o seu Arduino.
  5. Execute o código e conecte -se ao seu wifi!

Depois de conectar seu Arduino a uma rede wifi, Há muitas coisas que você pode fazer. Você pode controlá -lo remotamente de qualquer computador ou smartphone com uma conexão com a Internet. Você também pode usá -lo para enviar dados de volta e adiante entre serviços, baixe dados da web e mais.

Componentes e suprimentos necessários

  • Uma placa Arduino (E.g. Uno, mega, etc.)
  • Um módulo ESP8266 (e.g. Nodemcu)
  • Um cabo USB ou fios de jumper
  • Uma conexão com a Internet
  • Um IDE Arduino instalado em seu computador
  • Seu código escrito no Arduino IDE

Os componentes e suprimentos que você precisa podem variar dependendo do projeto. Por exemplo, se você estiver usando um módulo Bluetooth em vez de um ESP8266, precisará comprar um módulo Bluetooth compatível. [1]

Como conectar um arduino ao wifi?

Qual é o processo?

Carregue o esboço para Arduino

Depois de conectar seu ESP8266 ao Arduino, você pode fazer o upload de código usando o Arduino IDE. O código que você carrega dependerá Em seu projeto e o que você deseja fazer com a conexão wifi.

Geralmente, no entanto, envolverá a configuração do wifi ESP8266 conexão e conectando -a à Internet. Depois de escrever seu código no Arduino IDE, você pode clicar em um botão para enviá -lo para sua placa Arduino.

Teste seu código

Depois de enviar seu código para a placa Arduino, você pode testá -lo. Isso pode ser feito usando Um monitor serial ou dispositivo de detecção para verificar se o Arduino está conectado à sua rede wifi e que está enviando e recebendo dados corretamente. [1]

Circuito construído

Depois que seu código foi testado e está funcionando corretamente, você pode construir um circuito para instalar permanentemente o ESP8266. Isso envolve conectar a fonte de alimentação e outros componentes necessários para o seu projeto.

Certifique -se de verificar todas as suas conexões antes de ligar o circuito!

Qual é o processo?

Configurar conexão

Depois de construir o circuito e ele é ligado, você pode configurar sua conexão de rede wifi. Isso envolve inserir o nome da rede e a senha no ESP8266 para que possa se conectar ao seu roteador. Depois disso, você poderá acessar o Arduino de qualquer computador ou smartphone com uma conexão com a Internet.

Fale com você Arduino Uno via smartphone

O último passo é testar a conexão. Você pode fazer isso baixando um aplicativo que permite conversar com seu Arduino UNO usando um smartphone ou tablet. Isso permitirá que você acesse facilmente, Controle e monitore seu Arduino de qualquer lugar do mundo.

Sobre o circuito

Existem algumas maneiras diferentes de conectar seu Arduino a uma rede wifi. O método que você escolher dependerá do seu projeto. Em geral, você precisará conectar o módulo ESP8266 para a fonte de alimentação e outros componentes. Verifique se todas as suas conexões estão corretas antes de ligar o circuito.

Seguindo estas etapas, você poderá conectar facilmente seu Arduino a uma rede wifi. Com esta conexão, você pode acessar e controlar seu Arduino remotamente de qualquer computador ou smartphone com uma conexão com a Internet.

Você também pode usar Para enviar dados entre serviços, baixe dados da web e muito mais!

Sobre o código

Existem algumas maneiras de codificar seu projeto Arduino. Se você não for&rsquo;T tem alguma experiência de codificação, você pode usar um código existente que encontra online ou em um livro. Mas se você tiver alguma experiência de programação, Você pode escrever seu próprio código.

Sobre o código

É importante escrever seu código Arduino corretamente. Isso inclui garantir que todas as conexões estejam corretas e que não haja erros de digitação ou outros erros. Depois de testar e depurar O código, você pode carregá -lo para sua placa Arduino usando o Arduino IDE.

Perguntas frequentes

Você pode conectar Arduino ao WiFi?

Sim, você pode conectar o Arduino ao WiFi usando um módulo ESP8266. Você precisará escrever código no Arduino IDE e envie -o para a placa antes de conectar seu dispositivo a uma rede sem fio.

Como uso meu smartphone com Arduino?

Você pode usar seu smartphone com o Arduino, baixando um aplicativo que permite que você se comunique com a placa. Isso permitirá que você acesse, Controle e monitore seu Arduino de qualquer lugar do mundo.

Que tipo de fonte de alimentação eu preciso para conectar Arduino a Wi -Fi?

A fonte de alimentação de que você precisará depende do seu projeto e quanta energia seu circuito exige. De um modo geral, a maioria dos projetos exige uma fonte de 5V.

Este pode ser um cabo USB ou uma bateria externa. Verifique os requisitos de energia do seu projeto antes de ligar seu circuito!

Posso conectar Arduino Uno à Internet?

Sim, você pode conectar Arduino Uno à Internet usando um módulo ESP8266. Este módulo permitirá que você se conecte sua placa para uma rede sem fio e acessar dados da web ou de outros serviços. No entanto, isto&rsquo;é importante ter certeza que seu código foi escrito corretamente antes de enviá -lo para o quadro. Se o seu código estiver incorreto, poderá danificar sua placa Arduino ou o módulo ESP8266.

Como faço para conectar -me a uno wifi?

Para conectar seu wifi UNO, você precisará escrever código no Arduino IDE e fazer upload para o quadro. Este código informará ao módulo ESP8266 em qual rede ingressar e como se comunicar com outros dispositivos. Uma vez feito isso, você pode acessar a placa de qualquer computador ou smartphone que tenha uma conexão com a Internet.

Como conectar Arduino Uno com Wi -Fi ESP8266?

Para conectar seu Arduino UNO com WiFi ESP8266, você precisará escrever código no Arduino IDE e carregá -lo para a placa. Este código informará ao módulo ESP8266 em qual rede ingressar e como se comunicar com outros dispositivos.

Uma vez feito isso, você pode acessar a placa de qualquer computador ou smartphone que tenha uma conexão com a Internet. Além disso, você precisará se conectar O módulo ESP8266 para o seu Arduino Uno com os cabos apropriados e verifique se todas as suas conexões estão corretas antes de ligar o circuito.

Seguindo estas etapas, você poderá conectar com êxito seu Arduino Uno a uma rede wifi para acesso e controle remoto de qualquer computador ou smartphone.

Com esta conexão, você pode acessar e controlar Seu Arduino remotamente de qualquer computador ou smartphone com uma conexão com a Internet. Você também pode usá -lo para enviar dados entre serviços, baixar dados da web e muito mais!

Um Arduino pode funcionar sem um computador?

Sim, Arduino pode correr sem um computador. Você pode usar uma fonte de alimentação externa para fazer upload de código para sua placa com um cabo USB. Além disso, você pode usar um módulo ESP8266 para conectar seu Arduino para Wi -Fi e acessá -lo remotamente de qualquer computador ou smartphone com uma conexão com a Internet.

Qual é a gama de wifi arduino?

A gama de wifi arduino dependerá da força da sua antena e do ambiente em que você está trabalhando.

Se você tem uma boa antena e está em um bom lugar, Então você deve conseguir até 300 pés. Mas isso pode não ser verdade em todos os casos, pois outras coisas como paredes ou outros dispositivos sem fio podem afetar o sinal.

Como funciona o arduino wifi?

Wifi Arduino permite que sua placa Arduino se conecte a uma rede sem fio. Dessa forma, você pode usar a Internet para enviar e receber dados de outros dispositivos. Além disso, você pode controlar e monitorar seu projeto remotamente de qualquer computador ou smartphone com uma conexão com a Internet.

Arduino enviar vídeo sobre wifi?

Sim, Arduino pode enviar vídeo sobre wifi. Isso é feito usando o módulo ESP8266 e uma câmera IP. O módulo ESP8266 permite que seu Arduino se conecte a uma rede sem fio para que você possa acessá -lo de qualquer lugar do mundo com uma conexão com a Internet. Então, a câmera envia dados de vídeo sobre essa conexão, que você pode visualizar no seu dispositivo conectado.

Você pode fazer o upload de código para Arduino sem fio?

Sim, você pode fazer o upload de código para Arduino sem fio. Isso é feito usando um módulo ESP8266 e conectando -o à sua placa Arduino. O módulo ESP8266 permitirá que seu Arduino se conecte Para uma rede sem fio, o que significa que você pode acessá -la de qualquer lugar do mundo, desde que tenha uma conexão com a Internet.

Depois de conectado, verifique seu código em duas.

Podemos conectar sem fio um Arduino com um laptop?

Sim, você pode conectar sem fio um Arduino com um laptop. Isso é feito usando um módulo ESP8266 e conectando -o à sua placa Arduino. O módulo ESP8266 permitirá que seu Arduino se conecte Para uma rede sem fio, o que significa que você pode acessá -la de qualquer lugar do mundo, desde que tenha uma conexão com a Internet.

Uma vez conectado, você pode usar O Arduino IDE para fazer upload do seu código do seu laptop e controlar a placa remotamente.

O que é melhor: Raspberry Pi ou Arduino?

Depende do projeto. Raspberry Pi é melhor para projetos que precisam de muito poder de computação, como executar um servidor da web ou streaming de vídeo. Arduino é melhor para tarefas simples, como controlar motores e sensores de luz. Tudo se resume ao que seu projeto precisa.

É o Arduino usado no celular?

Sim, o Arduino é usado em dispositivos móveis. É frequentemente usado para controlar sensores e outros componentes de hardware, como acelerômetros ou giroscópios. Além disso, ele pode ser usado para conectar o dispositivo para a Internet e enviar dados entre os serviços. Isso o torna uma ótima ferramenta para projetos de automação doméstica, aplicativos de IoT e mais.

Qual modelo Arduino é o melhor?

Arduino Mega e Arduino Yún são diferentes tipos de arduinos. Eles têm recursos diferentes que podem ser melhores para o seu projeto. Tudo depende do que você precisa para o seu projeto e o que você quer fazer.

Vídeo útil: Como conectar Arduino Uno a uma rede WiFi: ESP8266 – AT Comandos

Conclusão

Neste tutorial, nós&rsquo;mostrou como conectar sua placa Arduino a uma rede wifi. Isso permitirá que você controla seu Arduino usando um navegador da Web ou um aplicativo para smartphone, sem precisar estar conectado à mesma rede que o seu Arduino.

Além disso, você pode usar o módulo ESP8266 para fazer upload de código sem fio e até enviar vídeo sobre WiFi. Finalmente, nós&rsquo;discutiram os diferentes tipos de arduinos e qual pode ser melhor para o seu projeto.

Esperamos que este guia tenha sido útil para ajudá -lo a começar com o Arduino Wi -Fi! Obrigado pela leitura!

  1. https: // Criar.Arduino.cc/projecthub/imjeffparedes/add-wifi-to-ardene-uno-663b9e

Adicione Wi -Fi ao Arduino Uno

Adicione Wi -Fi ao Arduino Uno

Conecte seu microcontrolador à Internet adicionando módulo WiFi ESP8266!

Informações do projeto

Tempo estimado: 1 hora

Itens usados ​​neste projeto

Componentes de hardware

Pequena placa de pão Pequena placa de pão x 1
WiFi ESP Clique WiFi ESP Clique x 1
Genuino Uno Rev3 Genuino Uno Rev3 x 1

Aplicativos de software e serviços online

Arduino IDE Arduino IDE

História

Conecte seu Arduino à Internet adicionando módulo WiFi ESP8266!

O módulo Wi-Fi ESP8266 é uma rede Wi-Fi completa, onde você pode se conectar facilmente como um adaptador Wi-Fi de serviço, interface de acesso à Internet sem fio a qualquer design baseado em microcontrolador em sua conectividade simples por meio de comunicação serial ou interface UART.

Adicionar este módulo ao seu Arduino UNO o abrirá a projetos mais e emocionantes.

Qual é o processo?

Existem muitas maneiras de usar o ESP866 para comunicação. Alguns podem usá -lo para enviar / receber dados online ou fazer upload regularmente de dados. Para este tutorial Vou apenas mostrar como podemos nos comunicar com Arduino sem fio usando seu telefone (Android ou iPhone) . Isso será feito offline para que não tenha necessidade de ter conexão com a Internet.

Nosso ESP8266 servirá como ponto de acesso (modo AP), o que significa que fornecerá acesso à rede Wi-Fi a outros dispositivos (estações) e os conectará ainda mais a uma rede com fio

O processo é bem simples. Use seu telefone para enviar qualquer comando para Arduino. Com a ajuda do ESP8266, tudo funcionará sem fio.

Circuito construído

Conecte os pinos mais descritos nesta tabela de pinos

Siga esses passos.

  • Conecte o fio vermelho a Vin (3.3V) para o +3.3V poder do microcontrolador.
  • Conecte o fio preto ao chão.
  • Conecte o fio verde ao TX do módulo Wi -Fi e microcontrolador
  • Conecte o WitE amarelo ao RX do módulo Wi -Fi e Microcontroller

Sobre o circuito

ESP8266 é estritamente alimentado apenas para 3.3 v. Mais que isso vai destruir o módulo.

Importante não use tensões mais de 3.3V!C

Conecte o VIN a 3.3V para ligar e também o pino de ativação para ativar o módulo.

O TX está conectado ao RX, o que significa que o que queremos transmitir no ESP8266 receberá por Arduino Uno. E vice -versa para rx para tx. Ao construir este circuito, agora estamos prontos para iniciar wifi com arduino uno.

Fale com o módulo

A comunicação com o ESP8266 é via comando de atenção ou comandos.

Verifique a tabela de comandos AT anexada para revisar os códigos.

Definindo sua placa

Depois que tudo estiver configurado, você notaria que seu wifi ESP8266 estará disponível dentro do alcance do seu telefone.

1 . Carregue a amostra de esboço anexada aqui ao seu Arduino Uno.

2 . Baixe o cliente TCP para Android

Você pode reduzir qualquer cliente TCP disponível na Play Store, mas eu usei o cliente TCP pela Sollae Systems

3 . Do seu telefone, conecte -se ao seu wifi ESP8266

Se o seu wifi ESP8266 não for exibido das redes Wi -Fi disponíveis, verifique se o seu Arduino está em execução e tudo está conectado corretamente. Geralmente o nome do wifi / ssid começa em Esp Seguindo o nome da versão, o meu é ESP11.

4 . Depois de conectado, obtenha o endereço IP estático, você pode verificar o IP indo para as configurações Wi -Fi do seu telefone e clique nas informações da rede.

O endereço IP padrão no modo AP é 192.168.4.1 . Você pode alterar o IP estático seguindo este wifi.config () referência.

5 . Open TCP Client que você baixou anteriormente.

6 . Crie conexão clicando em Conectar, Adicionar IP e Porta 80.

80 é a porta que eu usei para o nosso servidor ESP, mas você pode alterá -lo substituindo 80 para qualquer número de porta que você deseja do nosso código em Linha 23

7. Aguarde o console do TCP dizer “conectado”.

Uma vez conectado, envia solicitação digitando o seguinte código para o cliente TCP:

Ou ligue o LED embutido usando o comando

Ou desligue o LED embutido usando o comando

Você pode alterar qual resposta do que você envia dependendo da lógica que você coloca no código.

Sobre o código

Existem diferentes tipos de ESP8266. Altere a taxa de transmissão no código anexado na linha 16 com base no que o seu ESP8266 usa.

Toda a nossa solicitação será lida e analisada na função loop ()

if (wifiserial.disponível ()> 0) String message = readWifiserialMessage (); if (encontre (mensagem, "esp8266:"))) Resultado string = sendtowifi (mensagem.substring (8, mensagem.comprimento ()), ResponseTime, Debug); se (encontre (resultado, "ok")) sendData ("n"+resultado); outro sendData ("NerRread"); // Código de erro do comando para falha na execução da instrução > mais se (encontre (mensagem, "olá"))< //receives HELLO from wifi sendData ("\ nhi!"); // Arduino diz oi > else if (encontre (mensagem, "ledon"))) DigitalWrite (13, alto); > else if (encontre (mensagem, "ledoff"))) DigitalWrite (13, baixo); > outro sendData ("NerRread"); // Código de erro de comando para não conseguir ler > > 

Você pode ver de cima que usei minha função encontrar( , ) para interpretar a mensagem e dizer a Arduino qual código ligar.

Se você deseja se comunicar com Arduino Uno ou pedir algo, basta adicionar sua condição. por exemplo :

if (encontre (mensagem, "meu código")) // encontrei 'meu código' da mensagem recebida // Vamos fazer algo aqui > if (encontre (mensagem, "a")) // eu encontrei 'a' da mensagem recebida // Vamos fazer algo aqui > 

Eu adicionei alguma função para me comunicar com ESP8266.

/* * Nome: SendData * Descrição: Função usada para enviar String para o cliente TCP usando o CIPSEND * Params: * Retornos: vazio */ Void sendData (String str) String len = ""; len+= str.comprimento(); sendtowifi ("at+cipsend = 0"+len, responseTime, depuração); atraso (100); sendtowifi (STR, ResponseTime, Debug); atraso (100); sendtowifi ("at+cipclose = 5", ResponseTime, Debug); > /* * Nome: Encontre * Descrição: Função usada para combinar com duas cordas * Params: * Retorna: true se corresponder mais false */ boolean encontrado (string string, valor de string) if (string.indexOf (valor)> = 0) retornar true; retorna falso; > /* * Nome: ReadSerialMessage * Descrição: Função usada para ler dados da serial Arduino. * Params: * Retornos: a resposta do Arduino (se houver uma resposta) */ String readSerialMessage () valor de char [100]; int index_count = 0; enquanto (serial.disponível ()> 0) valor [index_count] = serial.ler(); index_count ++; valor [index_count] = '

Esp32 Funções úteis da biblioteca Wi-Fi (Arduino IDE)

Este artigo é uma compilação de funções Wi-Fi úteis para o ESP32. Nós&rsquo;Cubra os seguintes tópicos: digitalize redes Wi-Fi, conecte-se a uma rede Wi-Fi, obtenha força de conexão Wi-Fi, verifique o status da conexão, reconecte-se à rede após a perda de uma conexão, status Wi-Fi, modos Wi-Fi, obtenha o endereço IP do ESP32, defina um endereço IP fixo e mais.

Esta não é uma novidade. Existem muitos exemplos de como lidar com Wi-Fi com o ESP32. No entanto, pensamos que seria útil compilar algumas das funções Wi-Fi mais usadas e práticas para o ESP32.

Esp32 Biblioteca Wi-Fi útil funções Arduino IDE

Índice

Aqui&rsquo;S uma lista do que será abordado neste tutorial (você pode clicar nos links para ir para a seção correspondente):

  • Modos Wi-Fi: estação, ponto de acesso e ambos (estação + ponto de acesso);
  • Digitalize redes Wi-Fi;
  • Conectar-se a uma rede Wi-Fi;
  • Obtenha status de conexão Wi-Fi;
  • Verifique a força da conexão Wi-Fi;
  • Obtenha o endereço IP ESP32;
  • Definir um endereço IP estático esp32;
  • Desconecte o Wi-Fi;
  • Reconecte-se ao Wi-Fi após a perda da conexão;
  • Eventos Wi-Fi ESP32;
  • Reconecte-se à rede Wi-Fi após a conexão perdida (eventos Wi-Fi);
  • Esp32 Wifimulti
  • Altere o nome do host ESP32.

Incluindo a biblioteca Wi-Fi

A primeira coisa que você precisa fazer para usar as funcionalidades Wi-Fi ESP32 é incluir o wifi.h biblioteca em seu código, como segue:

#incluir

Esta biblioteca é automaticamente &ldquo;instalado&rdquo; Quando você instala o complemento Esp32 em seu Arduino IDE. Se você não for&rsquo;T tem o ESP32 instalado, você pode seguir o próximo tutorial:

Se você preferir usar o código VS + Paltformio, basta iniciar um novo projeto com uma placa ESP32 para poder usar o wifi.h biblioteca e suas funções.

Modos Wi-Fi ESP32

A placa ESP32 pode atuar como estação Wi-Fi, ponto de acesso ou ambos. Para definir o modo Wi-Fi, use wifi.modo () e defina o modo desejado como argumento:

Wi-fi.modo (wifi_sta) Modo da estação: o ESP32 se conecta a um ponto de acesso
Wi-fi.modo (wifi_ap) Modo de ponto de acesso: as estações podem se conectar ao ESP32
Wi-fi.modo (wifi_ap_sta) ponto de acesso e uma estação conectada a outro ponto de acesso

Estação Wi-Fi

Quando o ESP32 é definido como uma estação Wi-Fi, ele pode se conectar a outras redes (como o seu roteador). Nesse cenário, o roteador atribui um endereço IP exclusivo à sua placa ESP. Você pode se comunicar com o ESP usando outros dispositivos (estações) que também estão conectados à mesma rede, referindo -se ao endereço IP exclusivo ESP.

Ponto de acesso ao roteador do modo de estação ESP32

O roteador está conectado à Internet, para que possamos solicitar informações da Internet usando a placa ESP32 como dados da APIs (dados climáticos, por exemplo), publicar dados em plataformas on -line, usar ícones e imagens da Internet ou incluir bibliotecas JavaScript para criar páginas do servidor da web.

Defina o ESP32 como uma estação e conecte-se à rede Wi-Fi

Vá para &ldquo;Conecte-se à rede Wi-Fi&rdquo; Para aprender a definir o ESP32 como estação e conectá -lo a uma rede.

Em alguns casos, essa pode não ser a melhor configuração – quando você não&rsquo;T tenho uma rede por perto e quer que você ainda queira se conectar ao ESP para controlá -la. Nesse cenário, você deve definir sua placa ESP como um ponto de acesso.

Ponto de acesso

Quando você define sua placa ESP32 como um ponto de acesso, você pode estar conectado usando qualquer dispositivo com recursos Wi-Fi sem se conectar ao seu roteador. Quando você define o ESP32 como um ponto de acesso, você cria sua própria rede Wi-Fi e os dispositivos Wi-Fi próximos (estações) podem se conectar a ele, como seu smartphone ou computador. Então, você não&rsquo;preciso estar conectado a um roteador para controlá -lo.

Isso também pode ser útil se você quiser ter vários dispositivos ESP32 conversando entre si sem a necessidade de um roteador.

Modo de ponto de acesso ESP32

Porque o ESP32 não&rsquo;T Conecte-se ainda mais a uma rede com fio como o seu roteador, é chamado Soft-AP (Soft Access Point). Isso significa que, se você tentar carregar bibliotecas ou usar firmware da Internet, ele não funcionará. Também não&rsquo;T Trabalhe se você fizer solicitações HTTP aos serviços na Internet para publicar leituras de sensores na nuvem ou usar serviços na Internet (como enviar um email, por exemplo).

Defina o ESP32 como um ponto de acesso

Para definir o ESP32 como um ponto de acesso, defina o modo Wi-Fi como ponto de acesso:

Wi-fi.modo (wifi_ap)

E então, use o método Softap () da seguinte maneira:

Wi-fi.softap (ssid, senha);

SSID é o nome que você deseja dar ao ponto de acesso ESP32, e a variável de senha é a senha para o ponto de acesso. Se você não for&rsquo;quero definir uma senha, defina -a como nula .

Existem também outros parâmetros opcionais que você pode passar para o método Softap (). Aqui estão todos os parâmetros:

Wi-fi.softap (const char* ssid, const char* senha, int canal, int ssid_hidden, int max_connection)

  • SSID: Nome para o ponto de acesso – máximo de 63 caracteres;
  • senha : mínimo de 8 caracteres; definido como nulo se você deseja que o ponto de acesso seja aberto;
  • Canal: Número do canal Wi-Fi (1-13)
  • ssid_hidden: (0 = transmissão ssid, 1 = ocultar ssid)
  • Max_Connection: clientes conectados máximos simultâneos (1-4)

Temos um tutorial completo explicando como configurar o ESP32 como um ponto de acesso:

Estação Wi-Fi + ponto de acesso

O ESP32 pode ser definido como uma estação Wi-Fi e ponto de acesso simultaneamente. Defina seu modo como wifi_ap_sta .

Wi-fi.modo (wifi_ap_sta);

Digitalize redes Wi-Fi

O ESP32 pode digitalizar redes Wi-Fi próximas à sua linha Wi-Fi. No seu Arduino IDE, vá para Arquivo > Exemplos > Wi-fi > Wifiscan. Isso carregará um esboço que verifica as redes Wi-Fi dentro do intervalo da sua placa ESP32.

Esp32 Scan WiFi Redes

Isso pode ser útil para verificar se a rede Wi-Fi você&rsquo;estar tentando se conectar está dentro do alcance do seu quadro ou de outras aplicações. Seu projeto Wi-Fi pode não funcionar com frequência, porque pode não ser capaz de se conectar ao seu roteador devido à força insuficiente de Wi-Fi.

Aqui&rsquo;é o exemplo:

/* Exemplo de Wifi> Wifiscan Detalhes completos em https: // randomnerdtutorials.com/ esp32-useful-wi-fi-functions-wuino/ */ #include "wifi.h "Void Setup () < Serial.begin(115200); // Set WiFi to station mode and disconnect from an AP if it was previously connected WiFi.mode(WIFI_STA); WiFi.disconnect(); delay(100); Serial.println("Setup done"); >Void Loop () < Serial.println("scan start"); // WiFi.scanNetworks will return the number of networks found int n = WiFi.scanNetworks(); Serial.println("scan done"); if (n == 0) < Serial.println("no networks found"); >outro < Serial.print(n); Serial.println(" networks found"); for (int i = 0; i < n; ++i) < // Print SSID and RSSI for each network found Serial.print(i + 1); Serial.print(": "); Serial.print(WiFi.SSID(i)); Serial.print(" ("); Serial.print(WiFi.RSSI(i)); Serial.print(")"); Serial.println((WiFi.encryptionType(i) == WIFI_AUTH_OPEN)?" ":"*"); delay(10); >> Serial.println (""); // Aguarde um pouco antes de digitalizar novamente o atraso (5000); > 

Você pode carregá -lo para sua placa e verificar as redes disponíveis e o RSSI (indicador de força de sinal recebido).

Wi-fi.scannetworks () retorna o número de redes encontradas.

int n = wifi.scannetworks ();

Após a digitalização, você pode acessar os parâmetros sobre cada rede.

Wi-fi.SSID () imprime o SSID para uma rede específica:

Serial.Imprimir (wifi.Ssid (i));

Wi-fi.RSSI () retorna o RSSI dessa rede. RSSI significa RECEADO Signal STrength EUndicator. É uma medida estimada do nível de potência que um dispositivo cliente de RF está recebendo de um ponto de acesso ou roteador.

Serial.Imprimir (wifi.Rssi (i));

Finalmente, wifi.EncryptionType () retorna o tipo de criptografia de rede. Esse exemplo específico coloca um * no caso de redes abertas. No entanto, essa função pode retornar uma das seguintes opções (não apenas redes abertas):

  • Wifi_auth_open
  • Wifi_auth_wep
  • Wifi_auth_wpa_psk
  • Wifi_auth_wpa2_psk
  • Wifi_auth_wpa_wpa2_psk
  • Wifi_auth_wpa2_enterprise

Esp32 Scan WiFi Redes Exemplo de monitor serial

Conecte-se a uma rede Wi-Fi

Para conectar o ESP32 a uma rede Wi-Fi específica, você deve saber seu SSID e senha. Além disso, essa rede deve estar dentro da linha Wi-Fi ESP32 (para verificar isso, você pode usar o exemplo anterior para digitalizar redes Wi-Fi).

Você pode usar a seguinte função para conectar o ESP32 a uma rede Wi-Fi initwifi ():

void initwifi () < WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); Serial.print("Connecting to WiFi .."); while (WiFi.status() != WL_CONNECTED) < Serial.print('.'); delay(1000); >Serial.println (wifi.localip ()); >

As variáveis ​​SSID e de senha mantêm o SSID e a senha da rede que você deseja conectar.

// Substitua por suas credenciais de rede const char* ssid = "substituir_with_your_ssid"; const char* senha = "substituir_with_your_password";

Em seguida, você simplesmente precisa chamar a função initwifi () em sua configuração () .

Como funciona?

Deixar&rsquo;s Dê uma olhada rápida sobre como essa função funciona.

Primeiro, defina o modo Wi-Fi. Se o ESP32 conectar a outra rede (ponto de acesso/ponto de acesso), ele deve estar no modo de estação.

Wi-fi.modo (wifi_sta);

Então, use wifi.BEGIN () para conectar -se a uma rede. Você deve passar como argumentos o SSID da rede e sua senha:

Wi-fi.BEGIN (SSID, senha);

Conectar-se a uma rede Wi-Fi pode demorar um pouco, então geralmente adicionamos um loop de tempo que continua checando se a conexão já foi estabelecida usando WiFi.status() . Quando a conexão é estabelecida com sucesso, ele retorna wl_connected .

enquanto (wifi.status() != Wl_connected) 

Obtenha status de conexão Wi-Fi

Para obter o status da conexão Wi-Fi, você pode usar o WiFi.status() . Isso retorna um dos seguintes valores que correspondem às constantes na tabela:

Valor Constante Significado
0 Wl_idle_status status temporário atribuído quando wifi.BEGIN () é chamado
1 WL_NO_SSID_AVAIL Quando nenhum SSID está disponível
2 WL_SCAN_COMPLETED Scan Networks está concluído
3 Wl_connected Quando conectado a uma rede wifi
4 Wl_connect_failed Quando a conexão falha para todas as tentativas
5 Wl_connection_lost Quando a conexão é perdida
6 Wl_disconnected Quando desconectado de uma rede

Obtenha força de conexão WiFi

Para obter a força da conexão WiFi, você pode simplesmente chamar Wi -Fi.Rssi () após uma conexão wifi.

Aqui&rsquo;é um exemplo:

/* Detalhes completos em https: // randomnerdtutorials.com/ esp32-useful-wi-fi-functions-arduino/ */ #include // substitua por suas credenciais de rede (estação) const char * ssid = "replyply_with_your_ssid"; const char* senha = "substituir_with_your_password"; void initwifi () < WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); Serial.print("Connecting to WiFi .."); while (WiFi.status() != WL_CONNECTED) < Serial.print('.'); delay(1000); >Serial.println (wifi.localip ()); > configuração void () < Serial.begin(115200); initWiFi(); Serial.print("RRSI: "); Serial.println(WiFi.RSSI()); >Void Loop () < // put your main code here, to run repeatedly: >

Insira suas credenciais de rede e envie o código.

Abra o monitor serial e pressione o botão RST a bordo do ESP32. Ele se conectará à sua rede e imprimirá o RSSI (indicador de força de sinal recebido).

Obtenha a força da conexão Wi-Fi ESP32

Um valor absoluto mais baixo significa uma conexão Wi-Fi mais forte.

Obtenha o endereço IP ESP32

Quando o ESP32 é definido como uma estação Wi-Fi, ele pode se conectar a outras redes (como o seu roteador). Nesse cenário, o roteador atribui um endereço IP exclusivo à sua placa ESP32. Para conseguir sua prancha&rsquo;s endereço IP, você precisa chamar Wi -Fi.Localip () depois de estabelecer uma conexão com sua rede.

Serial.println (wifi.localip ());

Defina um endereço IP ESP32 estático

Em vez de obter um endereço IP designado aleatoriamente, você pode definir um endereço IP disponível de sua preferência ao ESP32 usando WiFi.config () .

Fora das funções Setup () e Loop (), defina as seguintes variáveis ​​com seu próprio endereço IP estático e endereço IP de gateway correspondente. Por padrão, o código a seguir atribui o endereço IP 192.168.1.184 que funciona no gateway 192.168.1.1.

// defina seu endereço IP estático ipaddress local_ip (192, 168, 1, 184); // Defina o endereço IP do gateway ipaddress gateway (192, 168, 1, 1); Sub -rede ipaddress (255, 255, 0, 0); Ipaddress primedns (8, 8, 8, 8); // ipaddress opcional secundário (8, 8, 4, 4); // opcional

Então, no setup () você precisa ligar para o wifi.Método Config () para atribuir as configurações ao seu ESP32.

// configura o endereço IP estático se (!Wi-fi.config (local_ip, gateway, sub -rede, primário, secundário))

Os parâmetros primários e secundários são opcionais e você pode removê -los.

Recomendamos a leitura do seguinte tutorial para aprender como definir um endereço IP estático:

Desconecte-se da rede Wi-Fi

Para se desconectar de uma rede Wi-Fi anteriormente conectada, use wifi.desconectar() :

Wi-fi.desconectar()

Esp32 desconecte da rede Wi-Fi

Reconecte-se à rede Wi-Fi após a conexão perdida

Para se reconectar ao Wi-Fi depois que uma conexão é perdida, você pode usar o WiFi.Reconect () para tentar se reconectar ao ponto de acesso anteriormente conectado:

Wi-fi.reconectar ()

Ou, você pode ligar para WiFi.desconect () seguido por wifi.BEGIN (SSID, senha) .

Wi-fi.desconectar(); Wi-fi.BEGIN (SSID, senha);

Como alternativa, você também pode tentar reiniciar o ESP32 com ESP.reiniciar () quando a conexão é perdida.

Você pode adicionar algo como o trecho abaixo ao seu loop () que verifica de vez em quando se a placa estiver conectada.

Long CurrentMillis não assinado = millis (); // Se o wifi estiver inativo, tente se reconectar se ((wifi.status() != Wl_connected) && (currentmillis - anteriormillis> = intervalo))

Vestir&rsquo;T esquecendo de declarar as colinas anteriores e as variáveis ​​de intervalo. O intervalo corresponde ao período de tempo entre cada verificação em milissegundos (por exemplo, 30 segundos):

não assinado longo anteriormillis = 0; intervalo longo não assinado = 30000;

Aqui&rsquo;é um exemplo completo.

/* Rui Santos Detalhes completos do projeto em https: // randomnerdtutorials.com/ resolvido-reconnect-esp32-to-wifi/ permissão é concedida, gratuitamente, a qualquer pessoa que obtenha uma cópia deste software e arquivos de documentação associados. O aviso de direitos autorais acima e este aviso de permissão devem ser incluídos em todas as cópias ou partes substanciais do software. */ #include // Substitua pelas suas credenciais de rede (estação) const char* ssid = "substituir_with_your_ssid"; const char* senha = "substituir_with_your_password"; não assinado longo anteriormillis = 0; intervalo longo não assinado = 30000; void initwifi () < WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); Serial.print("Connecting to WiFi .."); while (WiFi.status() != WL_CONNECTED) < Serial.print('.'); delay(1000); >Serial.println (wifi.localip ()); > configuração void () < Serial.begin(115200); initWiFi(); Serial.print("RSSI: "); Serial.println(WiFi.RSSI()); >Void Loop () < unsigned long currentMillis = millis(); // if WiFi is down, try reconnecting every CHECK_WIFI_TIME seconds if ((WiFi.status() != WL_CONNECTED) && (currentMillis - previousMillis >= intervalo))) < Serial.print(millis()); Serial.println("Reconnecting to WiFi. "); WiFi.disconnect(); WiFi.reconnect(); previousMillis = currentMillis; >> 

Este exemplo mostra como se conectar a uma rede e verifica a cada 30 segundos se ainda estiver conectado. Se não estiver&rsquo;t, ele desconecta e tenta se reconectar novamente.

Como alternativa, você também pode usar eventos wifi para detectar que a conexão foi perdida e chamar uma função para lidar com o que fazer quando isso acontecer (consulte a próxima seção).

Esp32 Wi-Fi Events

O ESP32 pode lidar com todos os seguintes eventos Wi-Fi (verifique o código-fonte):

0 Arduino_event_wifi_ready Esp32 Wi-Fi pronto
1 Arduino_event_wifi_scan_done Esp32 acabamentos para digitalizar AP
2 Arduino_event_wifi_sta_start ESP32 STATION START
3 Arduino_event_wifi_sta_stop ESP32 STOP STOP
4 Arduino_event_wifi_sta_connected Estação Esp32 conectada ao AP
5 Arduino_event_wifi_sta_disconnected Estação Esp32 desconectada de AP
6 Arduino_event_wifi_sta_authmode_change O modo de autenticação de AP conectado pela estação ESP32 alterada
7 Arduino_event_wifi_sta_got_ip A estação ESP32 recebeu IP da AP conectada
8 Arduino_event_wifi_sta_lost_ip ESP32 Estação perdida IP e o IP é redefinido para 0
9 Arduino_event_wps_er_success ESP32 ESTAÇÃO WPS é bem -sucedida no modo de inscrição
10 Arduino_event_wps_er_failed A estação ESP32 WPS falha no modo de inscrição
11 Arduino_event_wps_er_timeout Esp32 Station WPS Timeout no modo de inscrição
12 Arduino_event_wps_er_pin ESP32 CÓDIGO DE PIN WPS ESP32 no modo de inscrição
13 Arduino_event_wifi_ap_start Esp32 Start-AP Start
14 Arduino_event_wifi_ap_stop Esp32 parada de Ap Soft
15 Arduino_event_wifi_ap_staconnected uma estação conectada ao Esp32 Soft-AP
16 Arduino_event_wifi_ap_stadisconnected uma estação desconectada do esp32 AP Soft
17 Arduino_event_wifi_ap_staipassigned Esp32 Soft-AP Atribua um IP a uma estação conectada
18 Arduino_event_wifi_ap_probereqrecved Receba o pacote de solicitação de sonda na interface Soft-AP
19 Arduino_event_wifi_ap_got_ip6 Esp32 Ponto de acesso V6ip addr é preferido
19 Arduino_event_wifi_sta_got_ip6 ESP32 ESTAÇÃO V6IP ADDR é preferida
19 Arduino_event_eth_got_ip6 Ethernet IPv6 é preferido
20 Arduino_event_eth_start Esp32 Ethernet Start
21 Arduino_event_eth_stop Esp32 Ethernet Stop
22 Arduino_event_eth_connected Esp32 Ethernet Phy Link Up
23 Arduino_event_eth_disconnected Esp32 Ethernet Phy Link Down
24 Arduino_event_eth_got_ip Esp32 Ethernet obteve IP da AP conectado
25 Arduino_event_max

Para um exemplo completo de como usar esses eventos, em seu Arduino IDE, vá para Arquivo > Exemplos > Wi-fi > WificlientEvents.

/* Este esboço mostra o uso do evento WiFi - Exemplo de Wifi> WificlientEvents Detalhes completos em https: // RandomerdTutorials.com/ esp32-useful-wi-fi-functions-arduino/ *// * * eventos wifi 0 arduino_event_wifi_ready < ESP32 WiFi ready 1 ARDUINO_EVENT_WIFI_SCAN_DONE < ESP32 finish scanning AP 2 ARDUINO_EVENT_WIFI_STA_START < ESP32 station start 3 ARDUINO_EVENT_WIFI_STA_STOP < ESP32 station stop 4 ARDUINO_EVENT_WIFI_STA_CONNECTED < ESP32 station connected to AP 5 ARDUINO_EVENT_WIFI_STA_DISCONNECTED < ESP32 station disconnected from AP 6 ARDUINO_EVENT_WIFI_STA_AUTHMODE_CHANGE < the auth mode of AP connected by ESP32 station changed 7 ARDUINO_EVENT_WIFI_STA_GOT_IP < ESP32 station got IP from connected AP 8 ARDUINO_EVENT_WIFI_STA_LOST_IP < ESP32 station lost IP and the IP is reset to 0 9 ARDUINO_EVENT_WPS_ER_SUCCESS < ESP32 station wps succeeds in enrollee mode 10 ARDUINO_EVENT_WPS_ER_FAILED < ESP32 station wps fails in enrollee mode 11 ARDUINO_EVENT_WPS_ER_TIMEOUT < ESP32 station wps timeout in enrollee mode 12 ARDUINO_EVENT_WPS_ER_PIN < ESP32 station wps pin code in enrollee mode 13 ARDUINO_EVENT_WIFI_AP_START < ESP32 soft-AP start 14 ARDUINO_EVENT_WIFI_AP_STOP < ESP32 soft-AP stop 15 ARDUINO_EVENT_WIFI_AP_STACONNECTED < a station connected to ESP32 soft-AP 16 ARDUINO_EVENT_WIFI_AP_STADISCONNECTED < a station disconnected from ESP32 soft-AP 17 ARDUINO_EVENT_WIFI_AP_STAIPASSIGNED < ESP32 soft-AP assign an IP to a connected station 18 ARDUINO_EVENT_WIFI_AP_PROBEREQRECVED < Receive probe request packet in soft-AP interface 19 ARDUINO_EVENT_WIFI_AP_GOT_IP6 < ESP32 ap interface v6IP addr is preferred 19 ARDUINO_EVENT_WIFI_STA_GOT_IP6 < ESP32 station interface v6IP addr is preferred 20 ARDUINO_EVENT_ETH_START < ESP32 ethernet start 21 ARDUINO_EVENT_ETH_STOP < ESP32 ethernet stop 22 ARDUINO_EVENT_ETH_CONNECTED < ESP32 ethernet phy link up 23 ARDUINO_EVENT_ETH_DISCONNECTED < ESP32 ethernet phy link down 24 ARDUINO_EVENT_ETH_GOT_IP < ESP32 ethernet got IP from connected AP 19 ARDUINO_EVENT_ETH_GOT_IP6 < ESP32 ethernet interface v6IP addr is preferred 25 ARDUINO_EVENT_MAX */ #include const char* ssid = "REPLACE_WITH_YOUR_SSID"; const char* password = "REPLACE_WITH_YOUR_PASSWORD"; void WiFiEvent(WiFiEvent_t event)< Serial.printf("[WiFi-event] event: %d\n", event); switch (event) < case ARDUINO_EVENT_WIFI_READY: Serial.println("WiFi interface ready"); break; case ARDUINO_EVENT_WIFI_SCAN_DONE: Serial.println("Completed scan for access points"); break; case ARDUINO_EVENT_WIFI_STA_START: Serial.println("WiFi client started"); break; case ARDUINO_EVENT_WIFI_STA_STOP: Serial.println("WiFi clients stopped"); break; case ARDUINO_EVENT_WIFI_STA_CONNECTED: Serial.println("Connected to access point"); break; case ARDUINO_EVENT_WIFI_STA_DISCONNECTED: Serial.println("Disconnected from WiFi access point"); break; case ARDUINO_EVENT_WIFI_STA_AUTHMODE_CHANGE: Serial.println("Authentication mode of access point has changed"); break; case ARDUINO_EVENT_WIFI_STA_GOT_IP: Serial.print("Obtained IP address: "); Serial.println(WiFi.localIP()); break; case ARDUINO_EVENT_WIFI_STA_LOST_IP: Serial.println("Lost IP address and IP address is reset to 0"); break; case ARDUINO_EVENT_WPS_ER_SUCCESS: Serial.println("WiFi Protected Setup (WPS): succeeded in enrollee mode"); break; case ARDUINO_EVENT_WPS_ER_FAILED: Serial.println("WiFi Protected Setup (WPS): failed in enrollee mode"); break; case ARDUINO_EVENT_WPS_ER_TIMEOUT: Serial.println("WiFi Protected Setup (WPS): timeout in enrollee mode"); break; case ARDUINO_EVENT_WPS_ER_PIN: Serial.println("WiFi Protected Setup (WPS): pin code in enrollee mode"); break; case ARDUINO_EVENT_WIFI_AP_START: Serial.println("WiFi access point started"); break; case ARDUINO_EVENT_WIFI_AP_STOP: Serial.println("WiFi access point stopped"); break; case ARDUINO_EVENT_WIFI_AP_STACONNECTED: Serial.println("Client connected"); break; case ARDUINO_EVENT_WIFI_AP_STADISCONNECTED: Serial.println("Client disconnected"); break; case ARDUINO_EVENT_WIFI_AP_STAIPASSIGNED: Serial.println("Assigned IP address to client"); break; case ARDUINO_EVENT_WIFI_AP_PROBEREQRECVED: Serial.println("Received probe request"); break; case ARDUINO_EVENT_WIFI_AP_GOT_IP6: Serial.println("AP IPv6 is preferred"); break; case ARDUINO_EVENT_WIFI_STA_GOT_IP6: Serial.println("STA IPv6 is preferred"); break; case ARDUINO_EVENT_ETH_GOT_IP6: Serial.println("Ethernet IPv6 is preferred"); break; case ARDUINO_EVENT_ETH_START: Serial.println("Ethernet started"); break; case ARDUINO_EVENT_ETH_STOP: Serial.println("Ethernet stopped"); break; case ARDUINO_EVENT_ETH_CONNECTED: Serial.println("Ethernet connected"); break; case ARDUINO_EVENT_ETH_DISCONNECTED: Serial.println("Ethernet disconnected"); break; case ARDUINO_EVENT_ETH_GOT_IP: Serial.println("Obtained IP address"); break; default: break; >> void wifigotip (evento wifievEnt_t, wifieventinfo_t info) < Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(IPAddress(info.got_ip.ip_info.ip.addr)); >configuração void ()< Serial.begin(115200); // delete old config WiFi.disconnect(true); delay(1000); // Examples of different ways to register wifi events WiFi.onEvent(WiFiEvent); WiFi.onEvent(WiFiGotIP, WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_GOT_IP); WiFiEventId_t eventID = WiFi.onEvent([](WiFiEvent_t event, WiFiEventInfo_t info)< Serial.print("WiFi lost connection. Reason: "); Serial.println(info.wifi_sta_disconnected.reason); >, WifievEnt_t :: arduino_event_wifi_sta_disconnected); // Remova a série de eventos wifi.print ("ID do evento wifi:"); Serial.println (eventID); // Wi-fi.removervent (eventID); Wi-fi.BEGIN (SSID, senha); Serial.println (); Serial.println (); Serial.println ("Aguarde por wifi. ");> loop vazio ()

Com eventos Wi-Fi, você não&rsquo;preciso estar constantemente verificando o estado Wi-Fi. Quando um certo evento acontece, ele chama automaticamente a função de manuseio correspondente.

Reconecte-se à rede Wi-Fi após a conexão perdida (eventos Wi-Fi)

Eventos Wi-Fi podem ser úteis para detectar que uma conexão foi perdida e tente se reconectar logo após (use o evento System_Event_AP_STADISCONNECT). Aqui&rsquo;é um código de amostra:

/* Rui Santos Detalhes completos do projeto em https: // randomnerdtutorials.com/ resolvido-reconnect-esp32-to-wifi/ permissão é concedida, gratuitamente, a qualquer pessoa que obtenha uma cópia deste software e arquivos de documentação associados. O aviso de direitos autorais acima e este aviso de permissão devem ser incluídos em todas as cópias ou partes substanciais do software. */ #include const char* ssid = "substituir_with_your_ssid"; const char* senha = "substituir_with_your_password"; Void WiFistationConnected (evento wifievEnt_t, WIFEVENTINFO_T INFO) < Serial.println("Connected to AP successfully!"); >void wifigotip (evento wifievEnt_t, wifieventInfo_t info) < Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); >Void WifistationDisconnected (evento wifievEnt_t, wifieventInfo_t info) < Serial.println("Disconnected from WiFi access point"); Serial.print("WiFi lost connection. Reason: "); Serial.println(info.wifi_sta_disconnected.reason); Serial.println("Trying to Reconnect"); WiFi.begin(ssid, password); >configuração void () < Serial.begin(115200); // delete old config WiFi.disconnect(true); delay(1000); WiFi.onEvent(WiFiStationConnected, WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_CONNECTED); WiFi.onEvent(WiFiGotIP, WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_GOT_IP); WiFi.onEvent(WiFiStationDisconnected, WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_DISCONNECTED); /* Remove WiFi event Serial.print("WiFi Event ID: "); Serial.println(eventID); WiFi.removeEvent(eventID);*/ WiFi.begin(ssid, password); Serial.println(); Serial.println(); Serial.println("Wait for WiFi. "); >Void Loop ()

Como funciona?

Neste exemplo nós&rsquo;Adicionou três eventos Wi-Fi: quando o ESP32 se conecta, quando obtém um endereço IP e quando se desconecta: Arduino_Event_Wifi_Sta_Connected, Arduino_Event_Wifi_Sta_got_IP, Arduino_Event_wifi_Sta_Disconnected .

Quando a estação ESP32 se conecta ao ponto de acesso (Arduino_Event_Wifi_Sta_Connected Event), a função WifistationConnected () será chamada:

 Wi-fi.Onevent (WifistationConnected, wifievEnt_t :: arduino_event_wifi_sta_connected); 

A função WiFistationConnected () simplesmente imprime que o ESP32 conectou a um ponto de acesso (por exemplo, seu roteador) com sucesso. No entanto, você pode modificar a função para executar qualquer outra tarefa (como iluminar um LED para indicar que está conectado com sucesso à rede).

Void WiFistationConnected (evento wifievEnt_t, WIFEVENTINFO_T INFO)

Quando o ESP32 obtém seu endereço IP, a função wifigotip () é executada.

 Wi-fi.Onevent (wifigotip, wifievEnt_t :: arduino_event_wifi_sta_got_ip); 

Essa função simplesmente imprime o endereço IP no monitor serial.

void wifigotip (evento wifievEnt_t, wifieventInfo_t info)

Quando o ESP32 perde a conexão com o ponto de acesso (arduino_event_wifi_sta_disconnected), a função WifistationDisconnect () é chamada.

 Wi-fi.Onevent (WifistationDisconnected, wifievEnt_t :: arduino_event_wifi_sta_disconnected); 

Essa função imprime uma mensagem indicando que a conexão foi perdida e tenta se reconectar:

Void WifistationDisconnected (evento wifievEnt_t, wifieventInfo_t info)

Esp32 Wifimulti

O Wifimulti do ESP32 permite registrar várias redes (combinações de SSID/senha). O ESP32 se conectará à rede Wi-Fi com o sinal mais forte (RSSI). Se a conexão for perdida, ela se conectará à próxima rede na lista. Isso requer que você inclua o wifimulti.h biblioteca (você não&rsquo;Não preciso instalá -lo, ele vem por padrão com o pacote esp32).

Para aprender a usar o Wifimulti, leia o seguinte tutorial:

Altere o nome do host ESP32

Para definir um nome de host personalizado para o seu quadro, ligue para o WiFi.SethostName (your_new_hostname); antes do wifi.começar();

O nome do host Esp32 padrão é Espressif .

Existe um método fornecido pelo wifi.biblioteca que permite definir um nome de host personalizado.

Primeiro, comece definindo seu novo nome de host. Por exemplo:

String hostName = "temperatura do nó ESP32";

Então, ligue para o wifi.SethostName () Função antes de chamar WiFi.começar() . Você também precisa ligar para WiFi.config () como mostrado abaixo:

Wi-fi.config (inaddr_none, inaddr_none, inaddr_none, inaddr_none); Wi-fi.SethostName (nome do host.c_str ()); // define o nome do host

Você pode copiar o exemplo completo abaixo:

/* Rui Santos Detalhes completos do projeto em https: // randomnerdtutorials.com/ esp32-set-custom-hostname-suduino/ permissão é concedida, gratuitamente, para qualquer pessoa que obtenha uma cópia deste software e arquivos de documentação associados. O aviso de direitos autorais acima e este aviso de permissão devem ser incluídos em todas as cópias ou partes substanciais do software. */ #include // Substitua pelas suas credenciais de rede (estação) const char* ssid = "substituir_with_your_ssid"; const char* senha = "substituir_with_your_password"; String hostName = "temperatura do nó ESP32"; void initwifi () < WiFi.mode(WIFI_STA); WiFi.config(INADDR_NONE, INADDR_NONE, INADDR_NONE, INADDR_NONE); WiFi.setHostname(hostname.c_str()); //define hostname //wifi_station_set_hostname( hostname.c_str() ); WiFi.begin(ssid, password); Serial.print("Connecting to WiFi .."); while (WiFi.status() != WL_CONNECTED) < Serial.print('.'); delay(1000); >Serial.println (wifi.localip ()); > configuração void () < Serial.begin(115200); initWiFi(); Serial.print("RRSI: "); Serial.println(WiFi.RSSI()); >Void Loop () < // put your main code here, to run repeatedly: >

Você pode usar este trecho anterior de código em seus projetos para definir um nome de host personalizado para o ESP32.

Importante: Pode ser necessário reiniciar seu roteador para que as mudanças tenham efeito.

Depois disso, se você for para as configurações do roteador, você&rsquo;verei o ESP32 com o nome do host personalizado.

ESP32 Custom HostName Configuração Arduino IDE

Empacotando

Este artigo foi uma compilação de algumas das funções Wi-Fi ESP32 mais usadas e úteis. Embora existam muitos exemplos de uso dos recursos do Wi-Fi ESP32, há pouca documentação explicando como usar as funções Wi-Fi com o ESP32 usando Arduino IDE. Então, nós&rsquo;Decidi reunir este guia para facilitar o uso de funções relacionadas ao ESP32 Wi-Fi em seus projetos.

Se você tiver outras sugestões, pode compartilhá -las na seção de comentários.

Nós esperamos que você&rsquo;Achei este tutorial útil.

Saiba mais sobre o ESP32 com nossos recursos:

  • Aprenda Esp32 com Arduino IDE
  • Crie servidores da Web com ESP32 e ESP8266
  • Mais projetos e tutoriais ESP32…

[Ebook] Crie servidores da Web com ESP32 e ESP8266 (2ª edição)

Crie projetos de servidor web com as placas ESP32 e ESP8266 para controlar saídas e monitorar os sensores remotamente. Aprenda protocolos de comunicação HTML, CSS, JavaScript e Client-Server DOWNLOAD &raquo;

Crie projetos de servidor web com as placas ESP32 e ESP8266 para controlar saídas e monitorar os sensores remotamente. Aprenda protocolos de comunicação HTML, CSS, JavaScript e Client-Server DOWNLOAD &raquo;

Recursos recomendados

Construa um sistema de automação residencial do zero &raquo; Com Raspberry Pi, ESP8266, Arduino e Node-Red.

Automação residencial usando o eBook eBook Esp8266 e o ​​vídeo &raquo; Construa projetos de IoT e automação residencial.

Projetos passo a passo do Arduino &raquo; Construa 25 projetos Arduino com nosso curso, mesmo sem experiência anterior!

O que ler a seguir ..

ESP8266 NodeMCU com BMP388 Sensor de Altímetro Barométrico Arduino IDE

ESP8266 NodeMCU com sensor barométrico/altímetro BMP388 (Arduino IDE)

Esp32 OTA Atualizações Over-the-Air Atualizações

Atualizações do ESP32 OTA (Over-the-Air)-Asycenegantota (vs Code + Platformio)

Monitoramento do sensor LORA ESP32 com comunicação de longo alcance do servidor Web

Monitoramento do sensor LORA ESP32 com servidor Web (comunicação de longo alcance)

Gostei deste projeto? Mantenha -se atualizado assinando nossa newsletter!

84 pensamentos sobre &ldquo;Esp32 Funções úteis da biblioteca Wi-Fi (Arduino IDE)&rdquo;

Oi
Seu blog é muito interrompido e ajuda muito, mas sinto falta das informações para alterar o nome do host do ESP32. É possível alterar o nome da unidade de Espresso para um nome específico do projeto.
Eu sei que posso mudar o nome no roteador WLAN, mas o nome da unidade ainda é o Espressif Age

Jose Luiz Sanchez Lorenzo

Oi,
Você pode alterar o nome do host esp32 usando comandos como este: string ma02_id = &ldquo;MA02_09&rdquo;;
Wi-fi.SethostName (MA02_ID.c_str ()); // Defina resposta do nome do host

Oi Werner, tente isso, deve fazer o truque &#55357;&#56841; wifi.modo (wifi_mode_sta);
Wi-fi.config (inaddr_none, inaddr_none, inaddr_none, inaddr_none);
Wi-fi.SethostName (your_hostname);
Wi-fi.BEGIN (Your_wifi_ssid, your_wifi_pass);
Responder

Sandy Riach

Oi,
Infelizmente não&rsquo;T trabalho para mim - tentei em 2 placas diferentes e com nomes de host de tamanho diferente. Os pequenos nomes de hosts continuam a mostrar o Expressif na varredura de rede e o nome de host maior apenas dá um espaço em branco &#55357;&#56897; Atenciosamente, Sandy Responder

Lamento ouvir isso ..
Funciona perfeitamente do meu lado!
Mesmo com um nome bastante longo com espaços. Tente atualizar a lista de clientes DHCP no seu roteador. Responder

Sandy Riach

Oi,
Desculpe pelo atraso.
Reiniciei meu roteador e eis que os nomes de host alterados apareceram - obrigado &#55357;&#56898;
Sandy

Eu queria postar uma imagem para ilustrar meu ponto no meu último comentário, mas não fez&rsquo;t trabalho. Você pode vê -lo clicando no link. Responder

A estrutura Arduino-Esp32 acaba de ser atualizada para a versão 1.0.5. Algumas das correções incluem o seguinte: ad4cf146 retrabalho sethostname para wifi sta
5DE03A39 Fix WiFi Sta Config IP para INADDR_NONE Resultados em 255.255.255.255 Veja se isso resolve seu problema? Responder

Jim Allison

Existe uma maneira de fazer rapidamente uma varredura WiFi para um SSID específico e, quando detecta o ssid WiFi está disponível (ou não), faz algo com essas informações no esboço? Responder

Oi Jim, algo assim? #incluir
#include const char* specific_ssid = "mynetwork";
const char* Enc_type [] = "aberto",
"WEP",
"WPA_PSK",
"Wpa2_psk",
"Wpa_wpa2_psk",
"WPA2_ENTERPRISE",
"Max"
>; Struct wifiinfo bool encontrado;
canal int32_t;
int32_t rssi;
wifi_auth_mode_t auth_mode;
> wifi_info; void findwifi (const char *ssid, wifiinfo *info) info-> encontrado = false;
int16_t n = wifi.scannetworks ();
para (uint8_t i = 0; i encontrado = true;
info-> canal = wifi.canal (i);
info-> rssi = wifi.Rssi (i);
info-> auth_mode = wifi.EncryptionType (i);
retornar;
>
>
> serial void Setup ().começar (115200);
findWifi (específico_ssid, & wifi_info);
Serial.printf (wifi_info.encontrado
? "SSID: %s, canal: %i, rssi: %i dbm, criptografia: %s \ n"
: "SSID: %s . Não foi possível encontrar \ n ",
Específico_ssid,
wifi_info.canal,
wifi_info.rssi,
ENC_TYPE [wifi_info.auth_mode]);
> void loop () <>
Responder

Desculpe ... formatação com Markdown não&rsquo;T funciona corretamente:-/
Mas você deve poder formatar o código em seu editor favorito. Responder

Eu consertei isso publicando o código no Github Gist &#55357;&#56841; Responder

Sara Santos

Oi Stéphane,
Obrigado por compartilhar isso.
Cumprimentos,
Sara Responder

Oi Sara, tenho uma pergunta: o esp32 poderia funcionar como um ponto de acesso e mqtt cliente ao mesmo tempo?
Obrigado Responder

Sara Santos

Oi.
Não. Ele precisa estar na mesma rede que o corretor MQTTT ou ter acesso à Internet para se conectar a um corretor de nuvem.
Cumprimentos,
Sara

Jim Allison

Isso funcionou perfeitamente. Obrigado! Gostaria de saber se há uma maneira mais rápida de obter o SSID sem ter que procurar primeiro todas as redes e depois isolar a rede I&rsquo;estou procurando. Existe uma maneira de fazer isso? Responder

Rafael Lopez

Olá, espero que alguém possa me ajudar com esse problema porque tenho semanas trabalhando nisso e nada parece funcionar .... Eu tenho um ESP32 com meu código básico apenas para me conectar com meu wifi, não importa o que eu faço, ele não se conecta, sempre me mostra o erro desconectado do AP (Evento 5)…. Você tem alguma ideia do que isso está acontecendo? Obrigado Responder

Para usar como referência wifi, há algumas coisas que eu faria&rsquo;Gostei de ver incluído; eu.e., comandos para manipular o endereço MAC de uma placa e um exemplo usando os modos Soft_AP e STA juntos. Como Werner observou, se houver uma maneira de redefinir o identificador, isso seria ótimo para saber também! Dito isto, ainda é um ótimo artigo, e eu adoraria vê -lo expandido com mais exemplos dos comandos mais obscuros&rsquo; respostas. Talvez uma tabela para download do comando/método/evento, use formato, possíveis respostas e quaisquer comentários (como &ldquo;Somente válido no modo STA&rdquo; ou, um link para um exemplo. A maior parte disso já está no artigo, mas não está bem resumida, tão difícil de localizar. Saúde! Responder

Dennis Cloutier

+1 Para um exemplo de como a combinação wifi_ap_sta funciona. Obrigado,
Dennis Responder

Ótimo tutorial!
Obrigado pelo seu trabalho.
Achei o recurso de reconexão automática após o cartão desconectado muito interessante. No entanto, eles parecem entender que isso não&rsquo;sempre trabalha. Especialmente ao usar Blynk. Alguém já teve alguma experiência nesse sentido?
Saudações. Mike. Responder

Ótimo artigo. Woyld gostou de ser como usar os dois modos para fazer um extensor wifi no ESP32. É pouca informação sobre isso na web, embora eu saiba que é possível. Responder

Sim, preciso desta resposta do extensor wifi

Verifique as frases, por favor: &ldquo;Ou, você pode ligar para WiFi.DiConnect () seguido por wifi.BEGIN (SSID, senha)&rdquo;. Deve wifi.Desconecte a resposta

Sara Santos

Oi.
Obrigado. Você está certo.
Isto&rsquo;está corrigido agora!
Cumprimentos,
Sara Responder

Peter Stauffert

Agora é possível executar ESP-now junto com Wi-Fi no modo STA?
Meu último estado foi: ESP-Now e Wi-Fi devem compartilhar o mesmo canal e o número do canal deve ser 1. Mesmo quando o roteador inicia uma conexão no canal 1 no modo STA, se o roteador mudar o canal para evitar colisões de tráfego, a conexão ESP-now quebra. Responder

Sandy Riach

Oi muito bom - obrigado! Eu ecoaria Dave&rsquo;s Pedido de exemplo usando os modos Soft_AP e STA juntos. Resposta arenosa

Sara Santos

Obrigado pela sugestão.
EU&rsquo;Eu adicionará isso à minha lista.
Cumprimentos,
Sara Responder

Ótimo tutorial!
Estou tendo alguns problemas para me conectar ao meu wifi local e eu&rsquo;tenho certeza que esta informação vai me ajudar a entender o que está acontecendo. Você tem algo semelhante para o ESP8266? Responder

O que eu acharia mais útil seria algum código de amostra que: tentou uma conexão com ID de rede e credenciais armazenadas
Se isso falhar voltar ao modo AP, para que um usuário possa se conectar, faça login em um webui, salve novos detalhes da rede e depois reinicie / tente se reconectar. Ninguém quer recompilar o código, apenas para que um dispositivo possa alterar as redes. Responder

Sara Santos

Oi.
Obrigado pela sugestão.
De fato, temos um projeto como esse em nosso e -book mais recente: https: // randomnerdtutorials.com/build-web-servers-Esp32-Esp8266-ebook/
EU&rsquo;provavelmente lançará esse projeto ou uma versão gratuita simplificada desse projeto em breve.
Cumprimentos,
Sara Responder

Muito útil artístico. Muito obrigado resposta

Isto&rsquo;é uma pena que você omitiu wifi.comando persistente (). Eu acho que essa função é mais importante ao usar wifi e literalmente ninguém sabe sobre isso. Em resumo: esta função é verdadeira na inadimplência e nas causas, todas as vezes (em todas as reinicializações) ao ligar para o WiFi.Comece o SSID+Pass está escrito em flash. Este é um assassino de flash ao usar Wi -Fi e Deepsleep juntos. Responder

Sara Santos

Obrigado por compartilhar isso.
EU&rsquo;Adicione -o ao tutorial na próxima atualização.
Cumprimentos,
Sara Responder

Oi,
Obrigado por publicar o artigo.
Sobre se reconectar à rede Wi-Fi após o código de conexão perdido
Eu tenho a necessidade de modificar o loop while, para que ele verifique duas condições, por exemplo
(Wi-fi.status() != Wl_connected) ou (wifi.status() != WL_NO_SSID_AVAIL) Você poderia me aconselhar da melhor abordagem Atenciosamente Responder

Amin Shahsavar

Eu descobri que definir um endereço IP estático no modo de estação às vezes funciona, e às vezes não. Eu acho que depende do roteador e um monte de coisas avançadas de rede que eu não entendo. No entanto: isso significa para um usuário que deseja acessar a página do SP32 WebServer, ele deve saber o IP. Como você resolve isso quando esse usuário não tem acesso à impressão serial, nem a algum visor de ESP? Um endereço IP estático seria uma ótima solução, mas não é confiável o suficiente. Eu também tentei com MDNs e também não era confiável (trabalhado no iPhone, mas não no Android). Este é um caso de uso em que eu daria um projeto como um presente para alguém que não conhece Arduino e pode&rsquo;espero que eles leiam o monitor serial ou algo assim. Eu tenho&rsquo;T Encontrei uma solução verdadeira para esse problema em qualquer lugar. Como você resolve isso? Responder

Oi Amin,
Normalmente, um servidor DHCP no roteador fornece endereços IP para os clientes de uma lista de endereços permitidos. Se você definir um endereço IP estático no modo de estação, esse endereço deverá ser excluído da lista de endereços que o roteador poderá fornecer, caso contrário, dois mesmos endereços Clash. Procure na configuração do seu roteador, procure uma entrada DHCP e exclua seu endereço IP estático. Então os endereços IP estáticos são realmente confiáveis. Responder

Amin Shahsavar

Obrigado pela sua resposta Peter. Isso faria totalmente os endereços IP estáticos funcionar. Mas meu caso de uso é quando dou um projeto como um presente para alguém para usar em sua rede doméstica. Eu posso&rsquo;Espego que eles (acho que sua mãe haha) entre e mexe na configuração do roteador deles. Estou procurando uma solução sólida e simples que não requer leitura do monitor serial ou anexando uma tela (use uma vez apenas para descobrir o IP!) nem alterando as configurações do roteador. A maioria das pessoas pode&rsquo;T faça isso e eu quero construir algo para a maioria das pessoas. Responder

Oi Amin,
No seu caso, você não pode ir com um endereço IP estático. Você conhece o endereço MAC (físico) da sua placa ESP32 ou pode definir o endereço MAC do ESP32 para seu próprio endereço (ver Rui&rsquo;s tutoriais para obter detalhes). Então você precisa identificar o endereço IP dinâmico correspondente ao seu endereço MAC no aplicativo cliente. Isso é feito pelo protocolo RARP RARP. No Windows ou Linux Use &ldquo;arp -a&rdquo; que cria uma lista de todos os endereços MAC e os endereços IP correspondentes em sua rede. Veja https: // www.PCWDLD.com/find-device-ou-ip-address-using-mac-address para obter detalhes.
Peter Responder

Se você não for&rsquo;Deseja anexar uma tela LCD ou TFT ao seu dispositivo, você pode exibir um LED simples para revelar o último byte do endereço IP, passando pelos três dígitos decimais que o compõem, por exemplo ... assumindo que a pessoa conhece a classe de endereço de sua rede privada (que eles podem visualizar em qualquer um de seus dispositivos conectados) &#55357;&#56843; Responder

Oi
Obrigado por publicar o artigo. Em relação ao while loop, tenho a necessidade de modificar o loop while, para que ele verifique duas condições, por exemplo,
(Wi-fi.status() != Wl_connected) ou (wifi.status() != WL_NO_SSID_AVAIL) Você poderia me aconselhar da melhor abordagem Atenciosamente Responder

Existe uma maneira de mostrar minha gratidão, Rui e Sara? Os livros e tutoriais que você produz não são nada menos que fantásticos. Isto&rsquo;É uma alegria trabalhar em um projeto que incorpora seu trabalho, sabendo que você publicou informações e código precisos e completos. Vocês dois estão causando um enorme impacto no mundo da IoT e nas redes de dados que avançarão na tecnologia, além de avançar o conhecimento de milhares de nerds dos EUA! Obrigado pelo que você faz pelo mundo todos os dias! Responder

Sara Santos

Oi Bob.
Muito obrigado por suas boas palavras.
EU&rsquo;Estou feliz que você goste de nossos tutoriais e eBooks.
Existem várias maneiras de apoiar nosso trabalho. Veja aqui: https: // randomnerdtutorials.com/sobre/.
Cumprimentos,
Sara Responder

Eu estava procurando o mesmo tipo de conteúdo. Obrigado por fazer pesquisas aprimoradas para nós. Vou tentar e dar meu feedback novamente. Responder