Komunikasi antara esp8266 tanpa menggunakan router dan internet


Assalamulaikum warahmatullahi wabarakatuh

        Kali ini saya akan berbagi sedikit ilmu tentang esp8266 yaitu komunikasi antar esp dengan direct wifi (ponit to point) tanpa harus terhubung internet dan router. Tutorial kali ini kita akan membuat 1 ESP sebagai akses point, ESP yang lainya kita hubungkan dengan ESP yang menjadi akses point agar dapat terhubung dengan jaringan yang sama.



         Pada Tutorial ini kita akan mencoba mengendalikan LED yang ada pada ESP server atau kita sebut saja esp master dengan cara menekan tombol button yang ada pada ESP slave.

Berikut rangkaiannya:


Esp yang terhubung dengan led maste, yang terhubung dengan button slave..
- led terhubung dengan pin D1
- button terhubing dengan pin D7

ESP Master 


        Kita akan mengeset atau mengatur esp menjadi akses point dan dapat menerima data dari Esp lain yang terhubung dengan nya. Untuk pengiriman data kita akan menggunkan protokol TCP/IP >> HTTP-POS dan pada program master/server ini akan menerima data untuk mengontrol led dari esp slave/client.

berikut code program nya:

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#define pinLed D1
char * ssid_ap = "ESP8266_SSID";
char * password_ap = "kampungTongah";

// merubah ip agar ip server tidak sama dengan ip client
// agar dapat berkomunikasi
IPAddress ip(192, 168, 11, 4);
IPAddress gateway(192, 168, 11, 1);
IPAddress subnet(255, 255, 255, 0);

ESP8266WebServer server(80);

void setup() {
  pinMode(pinLed, OUTPUT);

  WiFi.mode(WIFI_AP);
  WiFi.softAPConfig(ip, gateway, subnet);
  WiFi.softAP(ssid_ap, password_ap);

  Serial.begin(115200);
  Serial.print("IP Address: ");
  Serial.println(WiFi.localIP());

  server.on("/tongah",handleUpdate);
  server.begin();
}

void loop() {
  server.handleClient();
}

void handleUpdate(){
  int value = server.arg("value").toInt();
  digitalWrite(pinLed, value);
  server.send(200, "text/plain","sukses");
}


Esp Slave

       Kita akan membuat atau mengatur esp slave/client terhubung dengan esp server/master degan cara mengkoneksikan lewat wifi dimana ssid dan password harus sesuai yang di setting pada esp server. Dan juga esp client akan mengimkan data saat tombol button ditekan untuk mengontrol led pada esp master.

Berikut code programnya:

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266HTTPClient.h>
#define button D7

char * ssid = "ESP8266_SSID";
char * password = "kampungtongah";
String url = "http://192.168.11.4/update?"; //alamat getway
char data[150];

int counter = 2;

void setup() {
  pinMode(button, INPUT_PULLUP);
  WiFi.begin(ssid, password);
  Serial.begin(115200);
  while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.println("Waiting for connection");
  }
  Serial.println("Connected...");
  delay(1000);
}

void loop() {
  if(digitalRead(button) == 0){
    delay(250);
    counter++;
    if(counter %2 == 0) kirim(0);
    else kirim(1);
    delay(100);
  }
}

void kirim(int Data) {
  HTTPClient http;
  http.begin(url);
http.addHeader("Content-Type", "application/x-www-form-urlencoded");
  sprintf(data, "value=%i", Data);
  int httpCode = http.POST(data);
  Serial.println(httpCode);
  if (httpCode == 200) {
  Serial.println("terkirim");
  }
  String payload = http.getString(); //Get the request response
  Serial.print("return master");
  Serial.println(payload);
  http.end();
}

yok langsung di coba…
kalau ada yang mau ditanyakan langsung di kolam komentar ya…….
Semoga bisa membantu



Comments

Popular posts from this blog

Menggunakan Driver Motor IBT-2 BTS7960 dengan arduino

Register-Register pada CPU--> Arsitektur komputer

Komunikasi Serial pada Arduino