Buat NodeMCU ESP8266 Sebagai Akses Point

Posted on

NodeMCU Sebagai Akses Point

Cara membuat NodeMCU Sebagai Akses Point Untuk Mengontrol LED Dasar ke 2 – Pada tutorial sebelumnya, kita udah belajar dasar-dasar dari NodeMCU V3 termasuk install library, akses pin IO dan spesifikasinya.

Pada turorial kali , kita akan belajar bagaimana caranya menggunakan ESP 8266 NodeMCU agar dapat berkomunikasi dengan gadget kita melalui komunikasi WiFi. Perhatikan ilsutrasi sebagai berikut:

Cara Buat NodeMCU ESP8266 Sebagai Akses Point

Sebelum lanjut, dis saya akan menyampaikan bahwa akan mengajarkan anda bagaimana menggunakan jaringan wifi secara privat network.

Artinya, kita akan membuat ESP8266 sebagai akses point yang dapat berkomunikasi dengan gadget kita saja, tanpa terkoneksi dengan router atau Wi-Fi hotspot. 

Keuntungan & Kerugian Akses Point

Keuntungan mode adalah kita langsung akses perangkat kita tanpa harus adanya router atau hostpot wi-fi.

Kerugiannya adalah kita tidak bisa akses perangkat kita pada jarak yang jauh.

Mode baik digunakan untuk perangkat dengan jarak yang dekat. Karena NodeMCU menggunakan antenna PCB, maka jarak jangkaunya sekitar 90 meter jika tidak ada hambatan.

Namun akan berkurang seiring dengan banyaknya hambatan seperti dinding, ruang kamar dan sebagainya.

Jarak jangkau telah di uji oleh Andreas Spiess pada videonya dengan judul ESP8266 Range Test with and without External Antenna.

Kode Progam

Sekarang, saya sudah sediakan program yang dapat kita gunakan untuk berkomunikasi gadget kita ke nodemcu via Wi-Fi yang dipancarkan oleh NodeMCU ESP8266.

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>

//Led yang digunakan adalah led_builtin
//Led tipenya adalah aktif-low
#define led D4

//Ini adalah nama WiFi yang akan muncul
const char* ssid = "Testing-NodeMCU";

//Set alamat IP, bisa diganti dengan angka yang lain
IPAddress IPaddr (192, 168, 168, 168);
IPAddress IPmask(255, 255, 255, 0);
ESP8266WebServer server(80);

//Baris adalah kode html
String html = R"***(
<!DOCTYPE html>
<html>
<head>
<style>
.center {
text-align:center;
}
.button {
border: none;
color: white;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
margin: 4px 10px;
cursor: pointer;
}

.button1 {background-color: #4CAF50;}
.button2 {background-color: #e60000;}
</style>
</head>
<body>
<h1 class="center">TES NodeMCU ESP8266 LED</h1>
<div class="center">
<input class="button button1" type="button" onclick="location.href='/on';" value="ON">
<input class="button button2" type="button" onclick="location.href='/off';" value="OFF">
</div>
</body>
</html>
)***";

void setup()
{
pinMode(led, OUTPUT);
Serial.begin(115200);
Serial.println();
Serial.print("Konfigurasi akses point...");
WiFi.softAP(ssid);
WiFi.softAPConfig(IPaddr, IPaddr, IPmask);
IPAddress myIP = WiFi.softAPIP();
Serial.print("Alamat IP adalah: ");
Serial.println(myIP);

server.on("/", handleRoot);
server.on("/on", led_hidup);
server.on("/off", led_mati);
server.begin();

Serial.println("HTTP server dimulai");
}

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

void handleRoot()
{
server.send(200, "text/html", html);
}

void led_hidup()
{
//karena led_builtin adalah active-low
//maka saya menambahkan "!" sebelum HIGH
//"!" adalah operator NOT
digitalWrite(led, !HIGH);
server.send(200, "text /html", html);
}
void led_mati()
{
//begitu juga dengan LOW, saya tambahkan "!"
digitalWrite(led, !LOW);
server.send(200, "text/html", html);
}

Sebelum anda upload progam diatas, ada baiknya baca penjelasan program dibawah .

Penjelasan Kode Program

  1. Led yang digunakan adalah led-builtin nodemcu v3 yang terhubung pada pin D4.

    #define led D4

    Led bersifat active-low, artinya ketika kita beri tegangan LOW, maka LED akan menyala dan sebaliknya.
    Jika anda terbiasa dengan Arduino Uno, maka anda akan mengetahui bahwa led akan diaktifkan pada mode Active-HIGH.

  2. Karena yang memancarkan sinyal wifi adalah nodeMcu itu sendiri, maka kita harus menetapkan nama dari jaringan wifinya.

    const char* ssid = "Testing-NodeMCU";

    Pada program diatas, nama wifi saya beri nama “Testing-NodeMCU”. Nama dapat anda ganti sesuka anda.

  3. Atur alamat IP sesuia dengan keinginan kita angkanya pada baris :

    IPAddress IPaddr (192, 168, 168, 168);

  4. Setelah itu saya sisipkan kode html, yang mana akan menampilkan tombol On/OFF dibrowser, ketika di akses.

Langkah-langkah

Sekarang mari kita uji coba. Adapun langkah-langkah nya adalah sebagai berikut:

  1. Upload progam diatas ke NodeMCU
  2. Setelah upload selesai, buka koneksi Wi-Fi pada gadget, kita gunakan smartphone, lalu pilih dan hubungkan ke jaringan “Testing-NodeMCU”
  3. Setelah terhubung, buka brower.
  4. Ketikkan alamat IPnya
  5. Maka akan muncul tampilan seperti :
  6. Klik tombol, maka akan lihat led pada NodeMCU akan menyala atau padam

 Sekian. Semoga bermanfaat.