
ESP8266 ile WiFi Seri Alıcı-Verici Modülü
Genel Bakış
Bu öğreticide, bir seeeduino kullanarak ESP8266 WiFi modülünü internetten statik bir sayfa talep etmek için kontrol edeceğiz. Bu, TCP soketinin temel bir kullanımıdır, diğer kullanımlar için lütfen modülün AT komut kılavuzuna başvurun.
Malzeme Listesi
- Seeeduino V3 / Arduino Uno
- ESP8266 Seri WiFi modülü
- UartSBee v4 / diğer USB’den TTL dönüştürücüler
Not: Seeeduino kartında yalnızca bir donanım seri bağlantı noktası olduğu için bazı hata ayıklama bilgilerini yazdırmak için yazılım seri bağlantısı kullandık. Ancak yazılım seri bağlantısının sınırlaması, 19200’den daha yüksek bir baud hızında iletişim kuramamaktır. Bu nedenle, ESP modülünden gelen çıktının bir kısmı kaybolacaktır çünkü ESP modülünün baud hızı 57600, yazılım seri bağlantısının baud hızından daha yüksektir. Birden fazla donanım seri bağlantısına sahip bir kartınız varsa (örneğin, Arduino Mega 2560), durum daha kolay olacaktır.
Adım 1 – Bağlantı

Adım 2 – Programlama
- Arduino IDE’yi açın ve yeni bir skeç oluşturun;
- Aşağıdaki kodu skeç editörüne yapıştırın (SSID ve PASS makrolarını kendi durumunuza göre düzenlemeniz gerekecek);
[c]
#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()
{
// Seri iletişimi açın ve portun açılmasını bekleyin:
Serial.begin(57600);
Serial.setTimeout(5000);
dbgSerial.begin(9600); // yazılım seri için 19200’den daha hızlı olamaz
dbgSerial.println("ESP8266 Demo");
// modülün hazır olup olmadığını test et
Serial.println("AT+RST");
delay(1000);
if(Serial.find("ready"))
{
dbgSerial.println("Modül hazır");
}
else
{
dbgSerial.println("Modül yanıt vermiyor.");
while(1);
}
delay(1000);
// WiFi’ye bağlan
boolean connected=false;
for(int i=0;i<5;i++)
{
if(connectWiFi())
{
connected = true;
break;
}
}
if (!connected){while(1);}
delay(5000);
// ip adresini yazdır
/*Serial.println("AT+CIFSR");
dbgSerial.println("ip adresi:");
while (Serial.available())
dbgSerial.write(Serial.read());*/
// tek bağlantı modunu ayarlayın
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("bağlantı zaman aşımına uğradı");
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("Tamam, WiFi’ye bağlandı.");
return true;
}else
{
dbgSerial.println("WiFi’ye bağlanılamadı.");
return false;
}
}
[/c]
Adım 3 – İzleme
Seri Monitörü açın ve kartın sıfırlama butonuna basın, çıktıyı göreceksiniz.
Son olarak, Mutlu Hackleme! 🙂
Kaynaklar
İşte bunun için ana wiki maddesi:
http://www.seeedstudio.com/wiki/WiFi_Serial_Transceiver_Module
Tüm veri sayfasını çevirdiği için Rudy’ye teşekkür etmek isteriz, tüm geliştiricilerin tinkering yapmadan önce buna bir göz atmasını öneriyoruz.
