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!


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.

rafarother9
date Enviado: 2019-10-28 22:21:10
Boa noite! 
Se eu quiser colocar esse código, para ativar o ESP em conjunto com um outro, para outra aplicação (que irá usar o wifi), como faço pra juntar os dois?
Eu tentei, coloquei tudo dentro do setup e loop, mas não funcionou. Só ficou aparecendo coisas sem sentindo no monitor serial. No primeiro AT já não apareceu nada. 

Se eu colocar só o código do ESP funciona perfeitamente.

Giovanni5
date Enviado: 2019-10-29 08:31:10
rafarother9
Esse tutorial é apenas um pequeno exemplo de comunicação para verificar o funcionamento do ESP8266. Entretanto, você pode utilizar funções "sendCommand()" para enviar os comandos "AT" automaticamente pelo código. Vale lembrar que, o mais recomendado para integrar dois projetos separados, é sempre testá-los individualmente antes de uni-los em único código, porém, mesmo assim, normalmente ocorrem problemas de execução, que devem ser debugados.

pauloduino
date Enviado: 2019-09-25 13:12:53
Prezado, estou precisando usar o ESP32 comunicando com outro micro controlador e o engenheiro quer usar comandos AT para acessar direto o ESP.  Encontrei este tutorial bem objetivo http://mh.nodebb.com/topic/11/use-espressif-at-command-for-esp32
porém, li algumas respostas de colegas garagistas que se eu atualizar o firmware e depois upar um código com a ide do arduino estre procedimento "mata" o firmeware e consequentemente a função de comandos AT issso procede? não tem como evitar? grato Paulo

Giovanni5
date Enviado: 2019-09-25 13:28:18
pauloduino
O processo de gravação de códigos para o ESP8266 é o mesmo da gravação do firmware, portanto, a gravação de códigos sobrescreve o firmware gravado na placa. Infelizmente não há como gravar um código para a placa sem a perda do firmware. Entretanto, é sempre possível regravar o firmware à placa, para isso, você pode seguir o procedimento do tutorial a seguir, http://www.xess.com/blog/esp8266-reflash/ , juntamente com os arquivos disponíveis na aba "Documentação" do produto em nosso site (https://www.robocore.net/loja/iot/modulo-wifi-esp8266).

intini
date Enviado: 2019-07-17 14:12:31
Olá! O link para o "tutorial ESP8266 Programando Através da Arduino IDE" mencionado no texto do "Indo Além" não está funcionando.

Giovanni5
date Enviado: 2019-07-17 15:01:21
intini
O tutorial "ESP8266 Programando Através da Arduino IDE" ainda não está disponível para acesso, porém o link já está pronto para quando o mesmo estiver disponível.

Francois
date Enviado: 2019-09-06 16:40:53
intini
O tutorial de programação do ESP8266 pela IDE do Arduino está disponível ( https://www.robocore.net/tutoriais/programando-o-esp8266-pela-arduino-ide ).