ESP8266-07 só com Sketch

Olá,

Tenho um MEGA2560 e estou usando com um ESP8266-07 da AT-Thinker - sem problemas!

Consigo habilitar AP e STATION usando a biblioteca ITEADLIB_WEE8266 e consigo receber e enviar dados por ela. Estou usando o modo HardwareSerial.

Meus problemas começam aqui:

1- Não consigo me comunicar diretamente com o módulo usando o MEGA como Serial/USB - o que já vi que é possível em vários docs na internet.

2- Programas como TERMITE, COOLTERM e outros no máximo alcançam o ARDUINO, não chegando ao ESP-07. Ex.: se tiver um sketch no Mega, recebo os dados dele no terminal serial (do Sketch, não do ESP-07 via AT)

3- Se eu teclar qualquer comando AT nestes terminais, vejo o TX do Arduino piscar, mas não recebo nada no RX (vindo do ESP ou pelo menos deveria vir).

Importante voltar a frisar: se eu compilar meu SKETCH e rodar pelo IDE tudo funciona perfeito!

Tentei então fazer um upgrade de firmware no ESP-07. Nada!

Não consigo ver a versão dele (AT+GMR) tampouco os programas de atualização de firmware conseguem achá-lo...

O modulo funciona em 3.3V de fonte externa, assim como o TX/RX (estou usando CI4050 para manter 3.3V entre ESP e MEGA). Tanto funciona que no IDE+SKetch está tudo perfeito (menos eu conseguir mandar e receber alguns comandos AT).

Se alguem puder me ajudar agradeço.
POrque não consigo fazer os programas de Terminal e o Firmware-Updater enxergarem ele?
Eles detactam normalmente e serial correta (COM5 no meu caso), mas não passam do Arduino!

Em tempo: tenho os PDF's da Expressif e chaveei corrtamente GPIO0-GPIO2 CH-PD, etc...

E como tudo funciona no Sketch/IDE, não se trata de ligação ruim...
Frustrante. :sob:

Obrigado por qualquer dica!

3- Se eu teclar qualquer comando AT nestes terminais, vejo o TX do Arduino piscar, mas não recebo nada no RX (vindo do ESP ou pelo menos deveria vir).

Especifique EXATAMENTE o que você envia.

Qualquer comando, por exemplo AT+GMR, deve terminar com \r\n (carriage return "CR" e line feed "LF").
O que resultaria em:

AT+GMR\r\n

Verifique em seus programas terminais como enviá-los.
Quais programas está usando?

Ola Giova, obrigado pela resposta.

Estou usando TERMITE e COOLTERM e em ambos peço para incluir "0D 0A" ou CR+LF no ato de transmissão em modo LINE (ele só transmite após receber meu ENTER).

O mais curioso é que quando conecto o Arduino (ele está em COM5) e o ESP8266-07 ligado nele direitinho recebo o resultado do SKETCH que está no Arduino, mas nada de retransmitir/receber os comandos AT.

E vjo que a trannsmissão aocntece (TX pisca), mas não consegue chegar até o ESP.
Mesmo usando o seguinte Sketch e setando as portas CH_PD e GPIO0 em HIGH (funcionamento normal), o ESP não volta nada...

#define CH_PD 44 //sinal de controle de CH_PD
#define RST 46 //sinal de controle de RST
#define GPIO0 48 //sinal de controle de GPIO0

void setup() {
  pinMode(CH_PD,OUTPUT);
  pinMode(RST,OUTPUT);
  pinMode(GPIO0,OUTPUT);
  
  digitalWrite(CH_PD,HIGH); //Setado em alto - funcionamento normal
  digitalWrite(RST,HIGH); //RST em alto - funcionamento normal
  digitalWrite(GPIO0,HIGH); //GPIO0 em alto - funcionamento no rmal
  
  // Inicializa ambas as portas
  Serial.begin(115200);
  Serial1.begin(115200);
}

void loop() {
  // Ve se tem sinal na Serial1 e manda para a Serial
  if (Serial1.available()) {
    int inByte = Serial1.read();
    Serial.write(inByte);
  }

  // Analogamente, ve se tem sinal na Serial, e manda para Serial1
  if (Serial.available()) {
    int inByte = Serial.read();
    Serial1.write(inByte);
  }

Obrigado pela atenção.
Abs!

Como está ligando o módulo ESP-07 no Arduino Mega? Talvez um desenho seja melhor.

Consegui obter sucesso NÂO CARREGANDO a biblioteca Wee que estava usando (1a mensagem deste POST).

Ou seja, apenas o código postado SEM o INCLUDE() da biblioteca em si ou nenhuma outra.

Agora consigo ver os comando AT enviados na tela do ARduino e até mesmo em programas de comunicação serial.

Minha briga agora é com o "firmware upgrade" do módulo, mas isso é outra postagem em breve.

Muito obrigado pela ajuda!