Pular para o conteúdo principal

Módulo Transceptor Serial WiFi

Neste tutorial, usaremos um seeeduino para controlar o módulo WiFi ESP8266 para requisitar uma página estática da internet. Este é um uso básico de soquete TCP, para outros usos, consulte o guia de comandos AT do módulo.

Lista de materiais:

!!!Note Usamos uma serial de software para imprimir algumas informações de depuração, pois há apenas uma serial de hardware na placa seeeduino. Mas a limitação da serial de software é que ela não consegue se comunicar em uma taxa de baud maior que 19200. Portanto, parte da saída do módulo ESP será perdida porque a taxa de baud 57600 do módulo ESP é maior do que a da serial de software. Se você tiver uma placa com mais de uma serial de hardware (por exemplo, Arduino Mega 2560), o caso será mais simples.

Passo a Passo


  • Passo 1: conecte o módulo como na figura a seguir

  • Passo 2: Programe a placa seeeduino.

    • Abra a IDE do Arduino e crie um novo sketch;
    • Copie e cole o código a seguir no editor de sketch (é necessário modificar as macros SSID e PASS de acordo com a sua situação);
#include <SoftwareSerial.h>
#define SSID "xxxxxxxx"
#define PASS "xxxxxxxx"
#define DST_IP "220.181.111.85" //baidu.com
SoftwareSerial dbgSerial(10, 11); // RX, TX
void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(57600);
Serial.setTimeout(5000);
dbgSerial.begin(9600); //can't be faster than 19200 for softserial
dbgSerial.println("ESP8266 Demo");
//test if the module is ready
Serial.println("AT+RST");
delay(1000);
if(Serial.find("ready"))
{
dbgSerial.println("Module is ready");
}
else
{
dbgSerial.println("Module have no response.");
while(1);
}
delay(1000);
//connect to the wifi
boolean connected=false;
for(int i=0;i<5;i++)
{
if(connectWiFi())
{
connected = true;
break;
}
}
if (!connected){while(1);}
delay(5000);
//print the ip addr
/*Serial.println("AT+CIFSR");
dbgSerial.println("ip address:");
while (Serial.available())
dbgSerial.write(Serial.read());*/
//set the single connection mode
Serial.println("AT+CIPMUX=0");
}
void loop()
{
String cmd = "AT+CIPSTART=\"TCP\",\"";
cmd += DST_IP;
cmd += "\",80";
Serial.println(cmd);
dbgSerial.println(cmd);
if(Serial.find("Error")) return;
cmd = "GET / HTTP/1.0\r\n\r\n";
Serial.print("AT+CIPSEND=");
Serial.println(cmd.length());
if(Serial.find(">"))
{
dbgSerial.print(">");
}else
{
Serial.println("AT+CIPCLOSE");
dbgSerial.println("connect timeout");
delay(1000);
return;
}
Serial.print(cmd);
delay(2000);
//Serial.find("+IPD");
while (Serial.available())
{
char c = Serial.read();
dbgSerial.write(c);
if(c=='\r') dbgSerial.print('\n');
}
dbgSerial.println("====");
delay(1000);
}
boolean connectWiFi()
{
Serial.println("AT+CWMODE=1");
String cmd="AT+CWJAP=\"";
cmd+=SSID;
cmd+="\",\"";
cmd+=PASS;
cmd+="\"";
dbgSerial.println(cmd);
Serial.println(cmd);
delay(2000);
if(Serial.find("OK"))
{
dbgSerial.println("OK, Connected to WiFi.");
return true;
}else
{
dbgSerial.println("Can not connect to the WiFi.");
return false;
}
}
  • Passo 3: Abra o Serial Monitor e pressione o botão de reset da placa seeeduino, você verá a saída.

Por fim, boa hackeação! :)

Projetos Relacionados


Recipe Community é um lugar incrível onde makers compartilham aqui seus trabalhos surpreendentes. Nossos makers fizeram muitos projetos incríveis com o esp8266, dê uma olhada!

WiFi Scanner - Conheça o Sinal WiFi ao seu redor

Construa seu próprio Wifi Scanner com alguns passos simples, tudo o que você precisa fazer é preparar:

  • Uma placa de desenvolvimento NodeMcu
  • Um OLED I2C.
  • Alguns cabos
  • E, mais importante, um CORAÇÃO QUENTE NO ESP8266

Então, por que não fazer um para você?

Primary IoT Make with NodeMcu >ESP8266<

Um Monitor online de Temperatura & Umidade feito com:

  • Uma placa de desenvolvimento NodeMcu
  • Grove - Temp&Humi Sensor
  • Alguns cabos

Outro truque fácil, por que não fazer um para você?

Ainda não é suficiente? Mais Projetos Incríveis com ESP8266.

Ainda mais Projetos Incríveis em Recipe

Suporte Técnico & Discussão de Produtos

se você tiver qualquer problema técnico. envie o problema para o nosso fórum. Obrigado por escolher nossos produtos! Estamos aqui para fornecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja o mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...