SUPORTE TÉCNICO
De segunda à sexta pelo e-mail:
suporte@robocore.net
CENTRAL DE ATENDIMENTO
De segunda à sexta das 8:00 às 17:30
(11) 3522-7626 / vendas@robocore.net
Retornar
ao topo

Conectando o ESP8266 com o Arduino



Introdução

Um dos componentes mais utilizados juntamente com a plataforma Arduino é o módulo Wi-Fi ESP8266, pois ele permite que seu projeto se conecte à internet através de sua rede Wi-Fi. Com ele, o Arduino pode enviar e receber informações por meio de um servidor web, por exemplo, ou até mesmo controlar o acionamento de relés em sua casa através de um aplicativo de celular. Tudo isso utilizando apenas duas portas digitais do Arduino. Neste tutorial utilizaremos alguns comandos AT do próprio módulo ESP8266.

Lista de Materiais

Circuito

Para realizar este tutorial, monte o circuito da imagem abaixo.

circuito
Circuito Elétrico

Código

Com o circuito acima montado, carregue o código a seguir para a sua BlackBoard.

Com o código acima carregado para a placa, abra o monitor serial, configure-o para a opção "Ambos NL & RC" ("Both NL & RC") e altere a velocidade de comunicação para 9600 bps.

Enviando Comandos AT

Com o monitor aberto e configurado corretamente, envie o comando AT. O módulo ESP8266 deve retornar um OK, como na imagem a seguir.

at
Enviando o Comando "AT"

Após receber OK como resposta, utilize o comando AT+CWMODE=1 para configurar o módulo para o modo "estação".

atcwmode
Enviando o Comando "AT+CWMODE"

Após a configuração do módulo, é possível enviar o comando AT+CWLAP para que o módulo retorne todas as redes Wi-Fi em seu alcance, como na imagem abaixo.

atcwlap
Enviando o Comando "AT+CWLAP"

Após observar as redes Wi-Fi em alcance do módulo ESP8266, envie o comando AT+CWJAP="sua-rede-wi-fi","senha-da-sua-rede-wi-fi" para que o módulo se conecte à sua rede Wi-Fi. Assim como todos os comandos AT, a resposta por parte do módulo é um OK, como na imagem abaixo.

atcwjap
Enviando o Comando "AT+CWJAP"

Agora que o módulo está conectado à sua rede Wi-Fi, é possível obter o endereço de IP do módulo com o comando AT+CIFSR, como na imagem abaixo.

atcifsr
Enviando o Comando "AT+CIFSR"

Com estes comandos é possível testar a funcionalidade do módulo ESP8266, assim como alguns de seus recursos.

Indo Além

Por incrível que possa parecer, o módulo ESP8266 pode ser programado como uma placa da plataforma Arduino através da Arduino IDE. Você pode aprender como realizar esse procedimento com o tutorial ESP8266 Programando Através da Arduino IDE.

Caso você queira aprender ainda mais sobre os recursos e funcionalidades do módulo ESP8266, nós oferecemos o Kit Avançado V4 para que você possa ampliar ainda mais seu conhecimento sobre o #MovimentoMaker.

Solução de Problemas

O Módulo não Responde aos Comandos Enviados

Troque a conexão dos pinos RXH e TXH no adaptador para ESP8266 e tente novamente.

Avatar


Para fazer comentários é necessário estar logado. Efetuar login.

Você ainda nao é cadastrado? Cadastre-se agora!


gabrieldasilva464785
date Enviado: 2021-01-06 10:21:27
Erro meu...agr liguei o GND do arduino com a minha fonte externa e o erro parou...mas os comandos AT não funciona.no adaptador serial funciona com o baud rate de 9600 os comandos funcionam ok,e agr não está,mas vou fuçar aqui,obrigado pela atenção

Giovanni5
date Enviado: 2021-01-06 10:33:14
gabrieldasilva464785
Sem problemas, se continuar com dificuldades, encaminhe um e-mail para suporte@robocore.net, com o número do seu pedido, um breve relato do que está acontecendo, e algumas fotos do circuito montado.

gabrieldasilva464785
date Enviado: 2021-01-06 10:15:25
Está tudo conforme falou mas o erro continua,se altero a velocidade no monitor serial continua do mesmo jeito(esses caracteres vão aparecendo até começar a lagar).Apenas quando conecta o esp 01 junto com adaptador usb serial que consigo fazer a comunicação numa boa,porém com o esp01 no arduino dá esse erro

gabrieldasilva464785
date Enviado: 2021-01-05 18:59:11
Boa tarde,fiz toda a conexão conforme pedida(usando conversor lógico) e o código o mesmo,porém no meu monitor serial recebo esses caracteres:

⸮⸮⸮⸮⸮⸮]⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮u⸮⸮⸮⸮⸮_⸮u⸮⸮⸮⸮⸮⸮޷⸮q⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮$⸮[⸮⸮⸮l⸮⸮⸮⸮⸮}⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮;⸮⸮⸮}⸮⸮n⸮;⸮⸮u⸮{⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮~⸮⸮⸮>⸮⸮⸮⸮⸮}⸮{ߙ⸮⸮⸮⸮⸮⸮⸮־⸮⸮⸮⸮⸮⸮⸮⸮⸮.⸮⸮⸮I⸮⸮⸮Q⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮~⸮⸮C⸮⸮⸮z⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮o⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮9⸮⸮⸮⸮⸮o⸮


O que será que é,como posso resolver?

desde já agradeço....

Giovanni5
date Enviado: 2021-01-06 07:56:59
gabrieldasilva464785
Normalmente esse tipo de problema é causado por configuração incorreta do monitor serial, portanto verifique isso, principalmente a taxa de comunicação, que deve estar de acordo com a velocidade configurada no módulo (pode variar entre 4800 e 115200, mas normalmente é 9600 bps). Vale lembrar que, a taxa de comunicação do código, também deve estar configurada com o mesmo valor, tanto no comando "ESP_Serial.begin(9600)", quanto no comando "Serial.begin(9600)".

nielbispo
date Enviado: 2020-08-15 00:43:21
Olá, testei com o Exemplo de Ligação com Arduino 3.3V e não funcionou alguma dica?

Giovanni5
date Enviado: 2020-08-17 08:10:18
nielbispo
Você alimentou o adaptador para ESP8266 com 3,3 V pelo pino Vin? Como o pino Vin está conectado à um regulador de tensão para 3,3 V, é sempre melhor alimentá-lo com uma tensão superior à 3,3 V, portanto tente alimentar o conjunto com 5 V, como feito neste tutorial, e observe o resultado.

luizpaularosa
date Enviado: 2020-07-15 11:09:15
Bom dia!    nao carrega ,  constou  : a porta serial_ selecionada nao existe ou a sua placa nao esta conectada.  
conferi as coneccoes e pinos - devidamente conectados.   o que pode estar ocorrendo?

Giovanni5
date Enviado: 2020-07-15 11:46:45
luizpaularosa
Qual foi o modelo de placa selecionado para carregar o código? A sua placa está sendo reconhecida corretamente como uma porta COM? Vale lembrar que este tutorial utiliza uma placa da plataforma Arduino UNO para se comunicar com o ESP8266, e não para programar diretamente o módulo.

rodrigofilhogt
date Enviado: 2020-06-05 22:00:42
olá, eu consigo abrir um webserver com o esp8266 conectado no arduino? Se sim, teria como mandar os tutoriais ], documentaçao, biblioteca.... Muito obrigado!!

Giovanni5
date Enviado: 2020-06-08 08:47:22
rodrigofilhogt
Sim, é possível criar um WebServer com o ESP8266 conectado à uma placa da plataforma Arduino, inclusive é um dos projetos do material didático do Kit Avançado V4 (https://www.robocore.net/loja/kits/arduino-kit-avancado-v4), que também utiliza a biblioteca "SoftwareSerial" para a criação da página. Infelizmente não temos ainda um tutorial aberto para esta aplicação, porém agradecemos pela sugestão, iremos analisar a possibilidade de desenvolvê-lo.

guilhermeaw.com
date Enviado: 2020-07-09 18:02:23
rodrigofilhogt
Giovanni5 Segui esse tutorial que me passou, e ao tentar executar o comando AT no Monitor Serial não recebo nada como resposta, tentei fazer esse tutorial com os pinos invertidos e também não obtive sucesso.

Giovanni5
date Enviado: 2020-07-10 08:07:23
rodrigofilhogt
guilhermeaw.com, encaminhe um e-mail para suporte@robocore.net, com o número de seu pedido, um breve relato do que está ocorrendo, os testes feitos, os resultados obtidos, e uma foto do circuito montado para realizar este tutorial.

lupjr
date Enviado: 2020-03-21 22:48:16
Boa noite! 
Uma dúvida. Eu posso alimentar o módulo ESP8266 direto da placa Aduino com a saída 3.3V? Ou eu preciso do adaptador?
Obrigado.

Giovanni5
date Enviado: 2020-03-23 08:32:20
lupjr
Sim, você pode alimentar o ESP8266 diretamente através da saída de 3,3 V das placas da plataforma Arduino. Entretanto, você ainda terá de converter os sinais RX e TX do módulo de 3,3 V para 5 V, para que o ESP8266 e a sua placa Arduino se comuniquem corretamente. Vale lembrar que o adaptador para ESP8266 (https://www.robocore.net/loja/iot/adaptador-para-esp8266), além de possuir um regulador de tensão para alimentar do módulo, também possui um conversor de nível lógico, para que a prototipagem desta placa seja facilitada.

marcellaplazar
date Enviado: 2020-01-05 12:52:08
Boa tarde, 
Eu estou tentando reproduzir esse exemplo, mas a esp pisca o led azul quando envio o comando "AT", porém não responde o  "OK" no serial monitor. Outro detalhe é que o led RX do arduino não pisca, indicando que não houve resposta da esp. 
É necessário alguma configuração para que a esp escreva no monitor serial? O que pode estar acontecendo?
OBS: A velocidade do serial monitor está configurada como 9600 bps e "Ambos NL & RC".
Conferi todas as conexões e a continuidade dos fios e está tudo certo e estou utilizando o conversor de nível lógico que também está funcionando.

Giovanni5
date Enviado: 2020-01-06 11:33:05
marcellaplazar
É possível que seja algum erro na conexão do circuito elétrico do ESP8266 com o conversor de nível lógico. Você pode verificar essa conexão através do circuito disponível na Descrição do produto (https://www.robocore.net/loja/iot/modulo-wifi-esp8266), além disso você pode utilizar o código que também está disponível nesta página para verificar a resposta à comandos AT do módulo. Caso o problema persista, envie um e-mail para suporte@robocore.net, com o número de seu pedido, uma breve descrição do ocorrido, e algumas fotos do circuito montado.

souzavhi1
date Enviado: 2019-12-12 15:12:58
Boa tarde,
eu estava tentando fazendo alguns testes com a minha esp8266 com a black board, mas acredito que algum codigo que eu carreguei deu algum problema na minha ESP8266, pois agora mesmo eu tentando subir esse codigo simples que está nessa pagina, se eu tentar carregar com a esquema montado gera o erro "avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00", na IDE. Se eu desligar todos os fios e subir o mesmo codigo funciona normal. Mais quando eu desligo e monto novamente as ligações e coloco o cabo usb para fazer os comando fica aparecendo isso bB׆@1PņR⸮⸮")JB⸮⸮⸮

Giovanni5
date Enviado: 2019-12-12 17:04:24
souzavhi1
A mensagem de erro exibida pela Arduino IDE significa que a IDE não consegue se comunicar com a placa. Com o circuito montado, é possível sentir algum componente de alguma das placas (BlackBoard UNO, ESP8266 e Adaptador) esquentar? Já a mensagem do monitor serial deve ser resolvida ao configurá-lo corretamente para "Ambos NL & RC" com a velocidade de 9600 bps. Além disso, tente testar a sua BlackBoard UNO ao carregar outros códigos de exemplos, com outros componentes conectados à ela. Caso o problema persista, envie um e-mail para suporte@robocore.net com o número de seu pedido.

souzavhi1
date Enviado: 2019-12-12 17:31:15
souzavhi1
Olá Giovanni, as configurações estavam tudo normais, eu depois desse tempo todo desligado eu fiz denovo o processo para ver se algum componente esquentava como pediu, mas não vi nada de anormal....e mesmo assim continuava com os erros, decidi deixar ligado um tempo ligado, e aparentemente resolveu, alguma coisa destravou aqui, e agora liberou tanto carregar o codigo com o circuito montado como os comandos at.
obrigado.

gubio.frederico
date Enviado: 2019-11-26 10:13:47
Bom dia, 
por favor, estou tentando carregar esse código acima para a Blackboard e estou recebendo esse erro: 

C:\Users\User\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.0\libraries\SoftwareSerial\src/SoftwareSerial.h:53:10: note:   candidate expects 7 arguments, 1 provided

Foram encontradas múltiplas bibliotecas para "SoftwareSerial.h"
[...]
exit status 1
no matching function for call to 'SoftwareSerial::SoftwareSerial(int, int)'

Qual seria o problema apresentado sobre esse erro? 
O que devo fazer nesse caso para colocar meu Esp01s em funcionamento?
Agradeço pela atenção!

Giovanni5
date Enviado: 2019-11-26 10:46:36
gubio.frederico
Você selecionou o modelo de placa correto (neste caso Arduino/Genuino UNO)? Neste tutorial utilizamos a BlackBoard UNO para se comunicar com o módulo ESP8266, portanto é necessário carregar o código para a BlackBoard UNO. A mensagem de erro apresenta um erro de compilação da Arduino IDE, afirmando ter encontrado mais de uma biblioteca "SoftwareSerial.h", entretanto ela escolheu uma biblioteca que não é compatível com este código. Verifique se você selecionou e tentou carregar o código para o modelo de placa correto, já que esse erro pode estar atrelado ao modelo de placa selecionado.