(WebServer Controller)
LED RGB ESP8266 NodeMCU
Sebenarnya, Kami mengirimkan permintaan " GET " dari halaman web khusus
kami yang akan memiliki pemilih warna untuk mengirim nilai merah , hijau ,
dan biru . ESP8266 NodeMCU ESP-12E menerima data dan menetapkan warna
LED RGB berdasarkan nilai pemilih warna .
D3 R
GND GND
D2 G
D1 B
Server Web Pengontrol LED RGB ESP8266
● Pertama, sambungkan Pin R ke pin D3 pada ESP8266 Anda melalui resistor 220Ω.
● Kedua, sambungkan Pin G melalui register 220Ω ke pin D2 pada NodeMCU ESP8266 Anda.
● Ketiga, sambungkan Pin B melalui resistor 220Ω ke pin D1 pada ESP8266 Anda.
● Terakhir, ( – ) Hubungkan langsung (tanpa resistor) ke pin GND pada papan ESP Anda.
Kami sekarang akan memprogram modul ESP12E NodeMCU yang
bertindak sebagai server dan menerima parameter dari URL.
#include <ESP8266WiFi.h>
#include <DNSServer.h>
#include <ESP8266WebServer.h>
Sebenarnya, saya memprogram NodeMCU dalam Mode AP. Masukkan
kredensial Access Point sebagai SSID dan Kata Sandi. Biarkan Kosong di bidang
Kata Sandi untuk menyebarkan jaringan terbuka.
Pada sesi ini, saya telah mendefinisikan DNS Port, RGB LED Pins, ESP8266 Soft
AP IP address, dan webserver port.
Kode ini akan membaca argumen RGB dari server web dan nilai Cetak pada
Serial Monitor.
void handleRoot() {
// Serial.println("handle root..");
String red = webServer.arg(0);
String green = webServer.arg(1);
String blue = webServer.arg(2);
Serial.print("Red: ");
Serial.println(red.toInt());
Serial.print("Green: ");
Serial.println(green.toInt());
Serial.print("Blue: ");
Serial.println(blue.toInt());
Serial.println();
Dalam void setup(), kita akan menggunakan fungsi PinMode untuk LED RGB
sebagai argumen output. Mulai mode WiFi AP, Mulai DNS Server, dan cetak
SSID dan alamat IP ESP8266. Jika Server DNS dimulai dengan "*" untuk nama
domain, itu akan membalas dengan IP yang disediakan untuk semua permintaan
DNS.
void setup() {
pinMode(redLED, OUTPUT);
pinMode(greenLED, OUTPUT);
pinMode(blueLED, OUTPUT);
analogWrite(redLED, 0);
analogWrite(greenLED, 0);
analogWrite(blueLED, 0);
delay(1000);
Serial.begin(115200);
Serial.println();
WiFi.mode(WIFI_AP);
WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0));
WiFi.softAP(ssid);
webServer.on("/", handleRoot);
webServer.begin();
testRGB();
}
Di sini, dua fungsi dnsServer.processNextRequest(); dan
webServer.handleClient(); dibuat sebelumnya akan dieksekusi melalui loop.
void loop() {
dnsServer.processNextRequest();
webServer.handleClient();
#include <ESP8266WiFi.h>
#include <DNSServer.h>
#include <ESP8266WebServer.h>
/////////////////////////////////////////////////////////////////////////////////////
/////////////
void handleRoot() {
// Serial.println("handle root..");
String red = webServer.arg(0); // read RGB arguments
String green = webServer.arg(1);
String blue = webServer.arg(2);
Serial.print("Red: ");
Serial.println(red.toInt());
Serial.print("Green: ");
Serial.println(green.toInt());
Serial.print("Blue: ");
Serial.println(blue.toInt());
Serial.println();
/////////////////////////////////////////////////////////////////////////////////////
/////////////
/////////////////////////////////////////////////////////////////////////////////////
/////////////
void setup() {
pinMode(redLED, OUTPUT);
pinMode(greenLED, OUTPUT);
pinMode(blueLED, OUTPUT);
analogWrite(redLED, 0);
analogWrite(greenLED, 0);
analogWrite(blueLED, 0);
delay(1000);
Serial.begin(115200);
Serial.println();
WiFi.mode(WIFI_AP);
WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0));
WiFi.softAP(ssid);
// if DNSServer is started with "*" for domain name, it will reply with provided IP
to all DNS request
dnsServer.start(DNS_PORT, "rgb", apIP);
webServer.on("/", handleRoot);
webServer.begin();
testRGB();
}
/////////////////////////////////////////////////////////////////////////////////////
/////////////
void loop() {
dnsServer.processNextRequest();
webServer.handleClient();
}
/////////////////////////////////////////////////////////////////////////////////////
/////////////
/////////////////////////////////////////////////////////////////////////////////////
/////////////
fade(redLED); // R
fade(greenLED); // G
fade(blueLED); // B
}
/////////////////////////////////////////////////////////////////////////////////////
/////////////
Penutup
Dalam tutorial ini, saya telah menunjukkan cara membuat ESP8266 RGB LED
Controller Web Server . Saya harap Anda menikmati membaca artikel ini. Jika
Anda memiliki pertanyaan, komentar, atau ide? Beri tahu saya di bagian
komentar di bawah ini!