ESP8266 WiFi Modülü: Kurulum ve Proje Kılavuzu

ESP8266, IoT ve ev otomasyonu projeleri için uygun bir Wi-Fi modülüdür. Arduino serisi kartlarda olduğu gibi giriş ve çıkışları kontrol etmenizi sağlar, ancak bunu Wi-Fi üzerinden yapar. Bu nedenle, ev otomasyonu/IoT uygulamaları için son derece uygundur.

ESP8266'yı piyasadaki diğer Wi-Fi çözümleriyle karşılaştırdığımızda, çoğu "Nesnelerin İnterneti" projesi için mükemmel bir seçimdir. Bu makalede, ESP8266 kartının temel kavramlarını, pin dizilimini ve programlama örneklerini tanıtacağız.

ESP8266'ya Giriş

ESP8266, elektronik ve IoT (Nesnelerin İnterneti) dünyasında popülerlik kazanmış, güçlü ve çok yönlü bir Wi-Fi özellikli mikrodenetleyicidir. Espressif Systems tarafından geliştirilen ESP8266, cihazları internete bağlamak ve birbirleriyle iletişim kurmalarını sağlamak için uygun maliyetli bir çözüm sunar. Dahili bir Wi-Fi modülü, güçlü bir işlemci ve harici bileşenleri bağlamak için GPIO pinlerine sahiptir. ESP8266, çeşitli programlama dilleri kullanılarak programlanabilir, bu da onu hem yeni başlayanlar hem de deneyimli geliştiriciler için erişilebilir kılar. Düşük güç tüketimi ve kompakt boyutu, onu ev otomasyonu, kablosuz sensör ağları ve akıllı cihazlar dahil olmak üzere çok çeşitli uygulamalar için ideal hale getirir. Örneğin, ESP8266, kullanıcıların evlerinin sıcaklığını uzaktan kontrol etmelerini sağlayan akıllı bir termostat oluşturmak için kullanılabilir.

ESP8266 Pin Dizilişi

ESP8266 Pinout
ESP8266 Pinout

Pin şemasında, bazı pinlerin GPIO dışında başka kullanım alanları da vardır. Örneğin, D1 pini sadece GPIO5 değil, aynı zamanda LCD ekranın ilgili SCL pinine bağlanabilen bir SCL arabirimi de işlevi görür.

Aşağıdaki tablo, kart üzerindeki etiketler ile GPIO numaraları arasındaki ilişkiyi, projelerde hangi pinlerin en iyi şekilde kullanılabileceğini ve hangi pinlerin dikkat gerektirdiğini göstermektedir. Yeşil renkle vurgulanan pinler kullanıma hazırdır. Sarı renkle vurgulananlar kullanılabilir, ancak özellikle başlangıçta beklenmedik davranışlar sergileyebileceğinden dikkat gerektirir. Kırmızı renkle vurgulanan pinlerin giriş veya çıkış olarak kullanılması önerilmez.

LabelGPIOInputOutputNotes
D0GPIO16No InterruptNo PWM or I2C supportHIGH at boot used to wake up from deep sleep
D1GPIO5OKOKCommonly used as SCL (I2C)
D2GPIO4OKOKCommonly used as SDA (I2C)
D3GPIO0Pull-upOKConnected to FLASH button, boot fails if pulled LOW
D4GPIO2Pull-upOKHIGH at boot connected to on-board LED, boot fails if pulled LOW
D5GPIO14OKOKSPI (SCLK)
D6GPIO12OKOKSPI (MISO)
D7GPIO13OKOKSPI (MOSI)
D8GPIO15Pull-downOKSPI (CS) Boot fails if pulled HIGH
RXGPIO3OKRXHIGH at boot
TXGPIO1TXOKHIGH at boot debug output at boot, boot fails if pulled LOW
A0ADC0AnalogXAnalog pin

Arduino IDE ile ESP8266 nasıl programlanır?

ESP8266'yı programlamanın birçok yolu vardır:

  1. Geliştirme için Arduino IDE'yi kullanın, Arduino'nun geliştirme stilini takip edin, kullanımı kolaydır;
  2. ESP8266 resmi SDK geliştirmesini kullanın;
  3. Geliştirme için MicroPython kullanın, Python programlama stilini takip edin (bu yöntem için önce kart için özel bir ürün yazılımı yazmanız gerekir);

Burada ilk seçeneği tercih ediyoruz, çünkü Arduino programlama basit ve kullanımı kolaydır.

1. Adım: Arduino IDE'yi yükleyin

IDE'yi Arduino'nun resmi web sitesinden indirin: https://www.arduino.cc/en/software. Şu anda kullandığım sürüm Arduino IDE 1.8.3'tür. (Arduino IDE'nin en son sürümü olan 2.1.1'in ESP8266 kaynak paketini çevrimiçi olarak yükleyemediğini belirtmek isterim.)

Install Arduino IDE 1.8.3
Install Arduino IDE 1.8.3

2. Adım: ESP8266 Paketini Yükleyin

Arduino IDE, varsayılan olarak Arduino geliştirme kartı için kullanıldığından, varsayılan olarak yalnızca Arduino geliştirme kartına yönelik kaynaklar mevcuttur. Arduino IDE'de ESP8266'yı kullanmak için ESP8266 geliştirme paketini manuel olarak yüklememiz gerekir. İki yükleme yöntemi vardır: çevrimiçi yükleme ve çevrimdışı paket yükleme; burada ilkini seçeceğiz.

Öncelikle, Arduino IDE menüsünde “Dosya -> Tercihler” seçeneğini bulun: 

Open Preferences in Arduino IDE
Open Preferences in Arduino IDE

Ardından, "Ek Kart Yöneticisi URL'leri" alanına aşağıdaki bağlantıyı girin:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Setting Additional boards manager URLs in Preferences
Setting Additional boards manager URLs in Preferences

Ardından, şunu tıklayarak açın: Araçlar -> Pano -> Pano Yöneticisi.

Open Boards Manager in Arduino
Open Boards Manager in Arduino

Alana "esp8266" yazıp arama yapın; karşınıza bir esp8266 paketi çıkacaktır. Çevrimiçi yüklemeyi başlatmak için "Yükle" düğmesine tıklayın.

Search and Install the ESP8266 Board
Search and Install the ESP8266 Board
Installing ESP8266 packages
Installing ESP8266 packages

Kurulum tamamlandıktan sonra, esp8266 kartıyla ilgili tüm kaynakları "Araçlar->Kart" menüsünde bulabilirsiniz.

ESP8266 Boards Resource (3.1.2 Version)
ESP8266 Boards Resource (3.1.2 Version)

3. Adım: ESP8266 Programlama

Burada ESP8266 kartı için basit bir ağ bağlantısı test programı yazıyoruz; program kodu şu şekildedir:

				
					void setup() {
  Serial.begin(9600);
  Serial.println("esp8266 test");
  initWiFi();

}

void loop() {
  Serial.println("hello esp8266");
  delay(1000);

}

#include <ESP8266WiFi.h>

constchar ssid[] = "xxxxx";      //WiFi Name
constchar pass[] = "xxxxx";       //WiFi Password

WiFiClient client;

//Initialize WIFI
void initWiFi()
{
   Serial.print("Connecting WiFi...");
   WiFi.mode(WIFI_STA); //Configure WIFI as Station mode
   WiFi.begin(ssid, pass); //Incoming ssid and password of WIFI hotspot
   while (WiFi.status() != WL_CONNECTED) //Waiting for successful connection
   {
     delay(500);
     Serial. print(".");
   }

   Serial.println("");
   Serial.println("WiFi connected");
   Serial.println("IP address: ");
   Serial.println(WiFi.localIP()); //print your own IP address
}
				
			

Notlar: setup işlevi, seri bağlantı noktasının başlatılması
için kullanılır. Örneğin, "Serial.begin(9600);" ifadesi, seri bağlantı noktasının başlangıç baud hızının 9600 olduğunu belirtir.

Loop işlevi, tek çipli mikrobilgisayar geliştirmedeki main işlevindeki while(1){} ifadesine benzer; burada program mantık kodlarını yazabiliriz.

WIFI işlevini kullanmak için "ESP8266WiFi.h" başlık dosyasını eklemeniz gerekir.

WIFI başlatma süreci 3 adımdan oluşur:

  1. WIFI'yi Station moduna yapılandırın, yani ESP8266'mız bir WIFI cihazı olarak kullanılır;
  2. ESP8266'nın erişim noktasına bağlanabilmesi için WIFI erişim noktasının ssid ve şifresini girin;
  3. WIFI bağlantı durumunu okuyun ve bağlantının başarılı olmasını bekleyin.

ESP8266 geliştirme kartınızın modelini ve seri numarasını seçin:

Choose Board NodeMCU 1.0 (ESP-12E Module)
Choose Board NodeMCU 1.0 (ESP-12E Module)

Şimdi, kodu derleyip ESP8266WiFi kartına yazabiliriz.

Compile and Upload the code to ESP8266 WiFi Module
Compile and Upload the code to ESP8266 WiFi Module

Paylaş:

Scroll to Top

Anında Fiyat Teklifi

Instant Quote