Modul WiFi ESP8266: Panduan Pengaturan & Proyek

ESP8266 adalah modul Wi-Fi yang cocok untuk proyek IoT dan otomatisasi rumah. Modul ini memungkinkan Anda mengontrol input dan output seperti halnya menggunakan papan seri Arduino, namun dengan koneksi Wi-Fi. Oleh karena itu, modul ini sangat cocok untuk aplikasi otomatisasi rumah dan IoT.

Jika dibandingkan dengan solusi Wi-Fi lain yang ada di pasaran, ESP8266 merupakan pilihan yang sangat baik untuk sebagian besar proyek "Internet of Things". Dalam artikel ini, kami akan memperkenalkan konsep dasar papan ESP8266, susunan pinnya, serta contoh pemrogramannya.

Pengantar ESP8266

ESP8266 adalah mikrokontroler berkemampuan Wi-Fi yang kuat dan serbaguna yang telah populer di dunia elektronika dan IoT (Internet of Things). Dikembangkan oleh Espressif Systems, ESP8266 menawarkan solusi hemat biaya untuk menghubungkan perangkat ke internet dan memungkinkan perangkat tersebut berkomunikasi satu sama lain. Perangkat ini dilengkapi dengan modul Wi-Fi terintegrasi, prosesor yang kuat, dan pin GPIO untuk menghubungkan komponen eksternal. ESP8266 dapat diprogram menggunakan berbagai bahasa pemrograman, sehingga dapat diakses oleh pemula maupun pengembang berpengalaman. Konsumsi daya yang rendah dan ukurannya yang ringkas menjadikannya ideal untuk berbagai aplikasi, termasuk otomatisasi rumah, jaringan sensor nirkabel, dan perangkat pintar. Misalnya, ESP8266 dapat digunakan untuk membuat termostat pintar yang memungkinkan pengguna mengontrol suhu rumah mereka dari jarak jauh.

Konfigurasi Pin ESP8266

ESP8266 Pinout
ESP8266 Pinout

Pada diagram pin, beberapa pin memiliki fungsi lain selain sebagai GPIO. Misalnya, pin D1 tidak hanya berfungsi sebagai GPIO5, tetapi juga sebagai antarmuka SCL, yang dapat dihubungkan ke pin SCL yang sesuai pada layar LCD.

Tabel berikut menunjukkan kesesuaian antara label pada identifikasi onboard dan nomor GPIO, serta pin mana yang paling baik digunakan dalam proyek, dan pin mana yang memerlukan kehati-hatian. Pin yang disorot hijau siap digunakan. Pin yang disorot kuning dapat digunakan, tetapi memerlukan perhatian karena mungkin memiliki perilaku yang tidak terduga, terutama saat startup. Pin yang disorot merah tidak disarankan untuk digunakan sebagai input atau output.

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

Bagaimana cara memprogram ESP8266 menggunakan Arduino IDE?

Ada banyak cara untuk memprogram ESP8266:

  1. Gunakan Arduino IDE untuk mengembangkan, ikuti gaya pengembangan Arduino, mudah digunakan;
  2. Gunakan pengembangan SDK resmi ESP8266;
  3. Gunakan MicroPython untuk pengembangan, ikuti gaya pemrograman Python (metode ini memerlukan pembakaran firmware khusus untuk papan terlebih dahulu);

Di sini kami memilih yang pertama, karena pemrograman Arduino sederhana dan mudah dioperasikan.

Langkah 1: Instal Arduino IDE

Unduh IDE dari situs web resmi Arduino: https://www.arduino.cc/en/software. Versi yang saya gunakan saat ini adalah Arduino IDE 1.8.3. (Perlu dicatat bahwa versi terbaru Arduino IDE 2.1.1 tidak dapat menginstal paket sumber daya ESP8266 secara daring.)

Install Arduino IDE 1.8.3
Install Arduino IDE 1.8.3

Langkah 2: Pasang Paket ESP8266

Karena Arduino IDE secara default digunakan untuk papan pengembangan Arduino, maka secara default hanya tersedia sumber daya pengembangan yang relevan untuk papan pengembangan Arduino. Untuk menggunakan ESP8266 di Arduino IDE, kita perlu menginstal paket pengembangan ESP8266 secara manual. Ada dua metode instalasi: instalasi daring dan instalasi paket luring; di sini kita memilih yang pertama.

Pertama, cari menu “File -> Preferensi” di Arduino IDE: 

Open Preferences in Arduino IDE
Open Preferences in Arduino IDE

Kemudian, masukkan tautan di bawah ini ke kolom "URL Pengelola Papan Tambahan":

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

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

Selanjutnya, klik untuk membuka: Alat -> Papan -> Pengelola Papan.

Open Boards Manager in Arduino
Open Boards Manager in Arduino

Di kolom pencarian, ketik "esp8266", Anda akan melihat paket esp8266, klik "Instal" untuk memulai proses instalasi daring.

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

Setelah proses instalasi selesai, Anda dapat menemukan semua sumber daya terkait papan esp8266 di menu "Tools->Board".

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

Langkah 3: Pemrograman ESP8266

Di sini kita akan membuat program uji koneksi jaringan sederhana untuk papan ESP8266. Kode programnya adalah sebagai berikut:

				
					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
}
				
			

Catatan:
Fungsi setup digunakan untuk inisialisasi port serial. Misalnya, "Serial.begin(9600);" berarti kecepatan baud awal port serial adalah 9600.

Fungsi loop mirip dengan while(1){} dalam fungsi utama pada pengembangan mikrokontroler tunggal, di mana kita dapat menulis kode logika program.

Untuk menggunakan fungsi WIFI, Anda perlu menyertakan file header "ESP8266WiFi.h".

Proses inisialisasi WIFI mencakup 3 langkah:

  1. Konfigurasikan WIFI ke mode Station, yaitu, ESP8266 kita digunakan sebagai perangkat WIFI;
  2. Masukkan SSID dan kata sandi hotspot WIFI, sehingga ESP8266 dapat terhubung ke hotspot;
  3. Membaca status koneksi WiFi dan menunggu hingga koneksi berhasil.

Pilih model dan nomor seri papan pengembangan ESP8266 Anda:

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

Sekarang, kita bisa mengompilasi dan memprogram kode tersebut ke papan ESP8266WiFi.

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

Bagikan ke:

Scroll to Top

Instant Quote