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

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button