introdução
Olá,Eu e todos tenho certeza, apanhamos muito no começo, foi um fim de semana para aprender a lidar com o ESP sempre a partir de duas coisas fundamentais.
A) Ver se está funcionando com comando AT, verificar versão etc. atualizar firmware se necessário, na maioria das vezes não precisa.
B) enviar código Blink com a IDE Arduino.
Vou tratar de passar aqui a vocês a minha experiência inicial com estes dois fundamentos espero seja útil.
1) Alimente o ESP8266-12 ( 3.3V no pino VCC e 0V no pino GND) Essa é a única alimentação que o modulo precisa.
2) ligue os fios do seu conversor USB/Serial da seguinte forma: RX conversor--> TX ESP pino 10 - TX conversor--> RX ESP pino 9 - GND conversor--> GND ESP.
NOTA: O conversor estará alimentado pela USB do computador, por tanto sua tensão será igual a 5VCC, utilize o jumper, chave, ou o que disponha para que sua saída seja igual a 3,3V, caso não tenha como modificar desta forma, utilize dois resistores, e faça um divisor resistivo se for o caso (Exemplo: R1 = 1K e R2 = 2K) em um extremo do divisor coloque o TX do conversor, na outra o GND do conversor que será comum ao ESP, e no meio do divisor o RX do ESP que recebera os dados da porta Serial via conversor mas com uma tensão e 3,3V.
Após alimentar você deve enviar comandos AT para verificar que o modulo está funcionando e comunicando via serial.
Envie comando AT através do monitor serial da IDE do Arduino para receber as respostas correspondentes e saber que está funcionando bem.
Comandos AT básicos AT = BASCIO RETORNA OK
AT+CWMODE? = RETORNA EM QUE MODO ESTA, E OK
AT+CWMODE=3 = MUDA PARA ESTADO PARA ACCSSES POINT E STATION ( SE MODO 2 = ACCSSES POINT APENAS)
AT+CWLAP = RETORNA OS ROTEADORES QUE ESTÃO NA AREA DE ALCANCE AT+CWJAP =" ENTRE ASPAS DUPLAS COLEOQUE NOME ROTEADOR", “SENHA” AT+CIFSR = RERTORNA O ENDEREÇO IP DO MODULO
AT+BAUD? RETORNA A VELOCIDADE ATUAL DO MODULO AT+BAUD = 115200
MUDA PARA A VELOCIDADE 115200 É COMVENIENTE MUDAR PARA ESTA VELOCIDADE, PARA CARREGAR SKETCH MAIS RAPIDO, LEMBRE-SE DE FAZER O MESMO COM O SEU CONVERSOR AS DUAS VELOCIDADES DEVEM SER IDENTICAS.
IDE ARDUINO
Abra a IDE do Arduino, não precisa escrever nenhum código, apenas escolha a placa ( Neste caso Generic ESP8266) e a porta que o seu
conversor criou. IMAGEM 1
Caso não tenha as placas instaladas ainda, (É O MAIS PROVAVEL) siga o procedimento abaixo
Primeiro vá para preference como na imagem abaixo.
Na tela que aparece coloque ESP na busca e clic no botão install Clic no link abaixo e veja este vídeo muito esclarecedor sobre o assunto
https://www.youtube.com/watch?v=xi2s1P57XPE
O vídeo é muito esclarecedor por tanto suponho que tenha entendido e realizado o procedimento
Caregando um sketch blink para testar todos os 8 pinos do ESP8266-12 // Testando os 8 GPIO ESP-12 usando a IDE Arduino para programar o ESP8266-12 // Como ligar:
// CH_PD e RESET devem ser conectados no +3V3. // GPIO15 deve ser conectado no GND.
// Desligue e ligue a fonte para dar um reset e entrar no modo programação
// Você vai ver que após um minuto uma serie de pontos começam a indicar o
carregamento e o led do ESP bem como o do conversor piscarão na mesma frequência dos pontos que são uma barra de status do carregamento, ao terminar os pontos cessam, e onde você lia Carregando na IDE vai mudar para carregado.
Retire o GPIO 0 do GND e ligue e desligue a fonte para reiniciar o ESP, agora ele é uma das 8 saídas também, tem dupla função, colocar o modulo em modo de programação e saída de propósito geral, também pode ficar flutuando caso não use
Este (abaixo) é o código para acender em sequência as 8 saídas do ESP8266-12 // inicio
byte pattern[] = {4,5,0,2, 16,14,12,13, 12,14,16, 2,0,5}; int pinIndex = 13;
void setup() {
byte pins[] = {4,5,0,2, 16,14,12,13}; for (byte i=0; i<8; i++) {
pinMode( pins[i], OUTPUT); }
}
void loop() {
digitalWrite( pattern[pinIndex--], HIGH); // Off if (pinIndex==-1) pinIndex=13;
digitalWrite( pattern[pinIndex], LOW); // ON delay(1000);
} // fim
Use leds com resistores de 330 ohms em serie para cada saída pinos: IDENTIFICAÇÃO DOS PINOS
Pino 6 = GPIO 0 (Este pino serve para programar o ESP como explicado. Pino 7 = GPIO 5
Pino 8 = GPIO 4
Depois de subir o sketch se tudo estiver correto, cada led devera acender
sequencialmente, podendo modificar o delay usado, caso mude, antes deverá colocar o GPIO 0 no GND e desligar e ligar a fonte para entrar no modo programação, suba o sketch novamente, retire o GPIO 0 do GND e ligue e desligue novamente a fonte, os leds deveriam piscar de acordo ao delay novo que carregou.
PROBLEMAS POSSIVEIS
Não responde comando AT
Verifique: A velocidade do Monitor Serial e também do conversor, ambas devem estar na mesma velocidade, e o modo AMBOS, NL E CR, se está em 115200 tente 9600 e vice-versa.
No monitor serial aparecem somente símbolos estranhos.
A velocidade baud rate não está correta vale a mesma solução anterior.
Envio comando AT e não responde nada.
Verifique se desconectou o GPIO 0 e desligou e ligou a fonte, mesmo que o tenha feito faça novamente, desligue e ligue a fonte para reiniciar o modulo.
Outro tipo de problema estou à disposição. Eng. Carlos Kwiek