ESP32 adalah microcontroller yang sudah dilengkapi WiFi, Bluetooth, dan fitur komunikasi cepat lainnya. Karena itu, ESP32 sangat sering digunakan untuk membangun sistem IoT yang membutuhkan komunikasi antar modul, seperti:
- Sistem sensor nirkabel
- Smart farming
- Monitoring suhu & kelembapan
- Robotik berbasis wireless
- Gateway IoT
Metode komunikasi antar ESP32 diantaranya adalah:
⭐ 1. Komunikasi via WiFi TCP/IP (Client–Server)
WiFi adalah metode paling umum karena:
✔ Bisa jarak jauh
✔ Bisa lewat internet / hotspot
✔ Bisa kirim data besar
✔ Mudah diintegrasikan ke dashboard (misal Blynk, MQTT, webserver)
🔧 Cara Kerja
- ESP32 A bertindak sebagai Server
- ESP32 B sebagai Client
- Client mengirim data ke Server melalui IP Address
Server (ESP32 A)
#include <WiFi.h>
WiFiServer server(80);
const char* ssid = "ESP32_TEST";
const char* pass = "12345678";
void setup() {
Serial.begin(115200);
WiFi.softAP(ssid, pass);
server.begin();
}
void loop() {
WiFiClient client = server.available();
if (client) {
Serial.println(client.readStringUntil('\n'));
}
}
Client (ESP32 B)
#include <WiFi.h>
void setup() {
Serial.begin(115200);
WiFi.begin("ESP32_TEST", "12345678");
while (WiFi.status() != WL_CONNECTED) delay(10);
}
void loop() {
WiFiClient client;
if (client.connect("192.168.4.1", 80)) {
client.println("Halo dari ESP32 B!");
client.stop();
}
delay(1000);
}
⭐ 2. Komunikasi via ESP-NOW
ESP-NOW adalah fitur komunikasi cepat buatan ESPRESSIF.
🎯 Kelebihan:
- Jarak 10–50 meter
- Tidak perlu WiFi
- Sangat cepat (<10 ms)
- Hemat daya
❌ Kekurangan:
- Perlu pairing MAC Address
- Tidak cocok untuk file besar
🧪 Contoh Implementasi
Sender
#include <esp_now.h>
#include <WiFi.h>
uint8_t peer[] = {0x24, 0x6F, 0x28, 0xAA, 0xBB, 0xCC};
void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_STA);
esp_now_init();
esp_now_peer_info_t p;
memcpy(p.peer_addr, peer, 6);
p.channel = 0;
p.encrypt = false;
esp_now_add_peer(&p);
}
void loop() {
String msg = "Halo ESP32!";
esp_now_send(peer, (uint8_t*)msg.c_str(), msg.length());
delay(1000);
}
Receiver
#include <esp_now.h>
#include <WiFi.h>
void onReceive(const uint8_t *mac, const uint8_t *data, int len) {
Serial.println(String((char*)data));
}
void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_STA);
esp_now_init();
esp_now_register_recv_cb(onReceive);
}
void loop() {}
🧪 Cara Kerja
- Menggunakan protokol mirip WiFi tetapi mode direct
- Perlu pairing MAC Address antar perangkat
⭐ 3. Komunikasi via Serial (UART)
Metode paling sederhana.
✔ Paling stabil
✔ Tidak butuh WiFi
✔ Jarak dekat (pakai kabel)
🔧 Cara Hubung
- TX (ESP32 A) → RX (ESP32 B)
- RX (ESP32 A) → TX (ESP32 B)
- GND → GND
⭐ 4. Komunikasi via Bluetooth (BLE)
BLE cocok untuk:
- ESP32 ↔ smartphone
- Mengirim data kecil
- Konsumsi daya rendah
Contoh implementasi:
- BLE UART Service
- BLE Sensor Beacon
- BLE Mesh Network
⭐ 5. Komunikasi via MQTT (WiFi + Broker)
Jika ingin data dikirim via internet:
✔ Bisa jarak ribuan kilometer
✔ Bisa multi-node (puluhan ESP32)
✔ Sangat stabil
MQTT membutuhkan:
- Broker (public atau lokal)
- Client ESP32
📊 Perbandingan Semua Metode
| Metode | Kecepatan | Jarak | Kelebihan | Kekurangan |
|---|---|---|---|---|
| ESP-NOW | ⚡ Sangat cepat | 10–50m | Tanpa WiFi, low-power | Perlu MAC |
| WiFi TCP/IP | Cepat | 50–100m | Data besar, server | Boros daya |
| Serial UART | ⚡ Sangat cepat | <1m | Simple, stabil | Pakai kabel |
| BLE | Rendah | <10m | Cocok HP | Tidak untuk data besar |
| MQTT | Stabil | Tidak terbatas | Internet-ready | Perlu broker |
🏭 Contoh Aplikasi di Dunia Nyata
| Aplikasi | Metode |
|---|---|
| Sensor jarak jauh di kebun | ESP-NOW |
| Sistem maggot + monitoring suhu + gateway | MQTT |
| Robot antar modul | WiFi TCP/IP |
| Modul controller berdampingan | UART |
| ESP32 + Android App | BLE |
🧾 Kesimpulan
ESP32 menawarkan banyak pilihan komunikasi yang fleksibel. Kamu dapat memilih metode paling sesuai dengan kebutuhan proyek, mulai dari koneksi cepat seperti ESP-NOW, jaringan luas via WiFi, hingga integrasi internet menggunakan MQTT.
Semakin kompleks sistem, semakin besar kemungkinan kamu membutuhkan kombinasi beberapa protokol sekaligus.
Leave a Reply