Deprecated: Required parameter $output follows optional parameter $depth in /home/pkaykstj/andiandaria.trinita.ac.id/wp-content/themes/jannah/framework/classes/class-tielabs-mega-menu.php on line 451
Kendali Lampu dengan 2 Node MCU atau lebih – Charissa
ArduinoInternet Of ThingsTeknologi

Kendali Lampu dengan 2 Node MCU atau lebih

Dibawah ini contoh script untuk Node MCU ke dua, yang akan di upload

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
 
ESP8266WebServer server(80); // variabel objek server
 
const char* ssid = "Trinita Elektro";
const char* password = "21212121";
 
void setup() {
  // Setting Mode pin 
  pinMode(D0, OUTPUT);
  pinMode(D1, OUTPUT);
  pinMode(D2, OUTPUT);
  pinMode(D3, OUTPUT);
 
  // Koneksi WiFi
  Serial.begin(9600);
  WiFi.begin(ssid, password);
  while(WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi terhubung ");
  Serial.print("SSID: ");
  Serial.println(WiFi.SSID());
  Serial.print("IP Address: ");
  Serial.println(WiFi.localIP());
 
  // Kode bagian Server
  server.on("/setpin", HTTP_POST, setPin);
  server.begin();
  Serial.println("Server berjalan...");
}
 
void loop() {
  server.handleClient();
}
 
// Fungsi untuk menangani request /setpin
void setPin() {
  if (server.hasArg("pin") && server.hasArg("state")) {
    int statusPin = server.arg("state").toInt();
    // Konversi nama pin ke alamat pin
    String namaPin = server.arg("pin");
    static const uint8_t pinAddress[] = {16,  5,  4,  0,  2, 14, 12, 13, 15,  3,  1};
    
    digitalWrite(pinAddress[namaPin.substring(1).toInt()], statusPin);
    server.send(200, "text/plain", "Perintah sudah dilakukan");
  }
  else {
    server.send(200, "text/plain", "Format perintah salah / tidak ada");
  }
}

Yang perlu diganti untuk sript diatas :

1. const char* ssid = “Trinita Elektro”; (adalah nama SSID WiFi Anda)
2. const char* password = “21212121”; (password WiFi Anda)
3. server.on(“/setpin”, HTTP_POST, setPin); (catatan ini tidak perlu diganti, alamat file indexnya tidak mempengaruhi)

Ganti nama variabel pin dengan nama lain, variabel ini akan mempengaruhi banyaknya modul Node MCU yang akan dipakai!!!
4. if (server.hasArg(“pin”) && server.hasArg(“state”)) {
5. String namaPin = server.arg(“pin”);

Dibawah ini contoh script untuk Node MCU ke dua, yang akan di upload

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
 
ESP8266WebServer server(80); // variabel objek server
 
const char* ssid = "wifi";
const char* password = "instrumentasi";
 
void setup() {
  // Setting Mode pin 
  pinMode(D0, OUTPUT);
  pinMode(D1, OUTPUT);
  pinMode(D2, OUTPUT);
  pinMode(D3, OUTPUT);
 
  // Koneksi WiFi
  Serial.begin(9600);
  WiFi.begin(ssid, password);
  while(WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi terhubung ");
  Serial.print("SSID: ");
  Serial.println(WiFi.SSID());
  Serial.print("IP Address: ");
  Serial.println(WiFi.localIP());
 
  // Kode bagian Server
  server.on("/lampu", HTTP_POST, setPin);
  server.begin();
  Serial.println("Server berjalan...");
}
 
void loop() {
  server.handleClient();
}
 
// Fungsi untuk menangani request /setpin 
void setPin() {
  if (server.hasArg("pin2") && server.hasArg("state")) {
    int statusPin = server.arg("state").toInt();
    // Konversi nama pin ke alamat pin
    String namaPin = server.arg("pin2");
    static const uint8_t pinAddress[] = {16,  5,  4,  0,  2, 14, 12, 13, 15,  3,  1};
    
    digitalWrite(pinAddress[namaPin.substring(1).toInt()], statusPin);
    server.send(200, "text/plain", "Perintah sudah dilakukan");
  }
  else {
    server.send(200, "text/plain", "Format perintah salah / tidak ada");
  }
}

Related Articles

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Back to top button