Menghubungkan LoRa E220-400T22D Dengan Arduino Menggunakan Broadcast Transmition
Pada postingan sebelumnya admin sudah menunjukan bagaimana kita mengirimkan data dari Arduino ke ESP32 menggunakan Fixed Transmition. Pada kesempatan ini admin akan menunjukan cara mengirimkan data dari Arduino ke lebih dari satu mikrokontroler menggunakan Broadcast Transmition. pada tutorial setup awal admin sudah menjelaskan bahwa data yang dikirim dengan menggunakan broadcast transmition dapat diterima oleh > 1 penerima (Receiver) secara bersamaan pada 1 channel yang sama. Untuk itu sebelum mengikuti tutorial ini teman – teman sudah harus mengikuti tutorial – tutorial berikut ini.
pada tutorial ini kita akan menggunakan 2 receiver dimana mikrokontroler yang akan kita gunakan sebagai receiver adalah ESP32 & NodeMCU sedangkan untuk transmitter kita masih menggunakan 1 Arduino UNO. Untuk itu sebelum masuk pembahasan, teman – teman perlu menyiapkan modul – modul berikut.
Lora E220-400T22D | Tokopedia | Shopee
Antenna 5dbi 433MHz | Tokopedia | Shopee
Arduino UNO | Tokopedia | Shopee
ESP32 Devkit | Tokopedia | Shopee
NodeMCU v3 | Tokopedia | Shopee
Jumper M-F | Tokopedia | Shopee
Base Board ESP32 | Tokopedia | Shopee
Bread Board (optional) | Tokopedia | Shopee
Teman – teman dapat membeli di Toko DT Production untuk perlengkapan percobaan kali ini.
Konfigurasi
Pada Tutorial Awal Menggunakan Modul LoRa EBYTE E220-400T22D kita mengeset modul E220-400T22D menajadi fixed transmition. Pada pembahasan ini kita ankan mengubah konfigurasi dari modul tersebut menjadi menjadi broadcast transmition. konfigurasi pertama akan kita lakukan pada Transmitter. Rangkailah sesuai skema berikut.
Hubungkan USB to TTL ke komputer kemudian jalankan software RF Setting dan set parmeter LoRa E220-400T22D transmitter seperti gambar berikut.
Konfigurasi LoRa E220-400T22D Transmitter
Kemudian langkah selanjutnya lakukan konfigurasi ke modul LoRa E220-400T22D receiver, ganti modul transmitter yang terhubung ke USB to TTL dengan modul LoRa E220-400T22D yang akan dijadikan receiver.
Dikarenakan pada receiver akan menggunakan 2 modul, maka yang paling pertama kita konfigurasi adalah modul yang akan terhubung dengan ESP32. Adapun parameter konfigurasi dapat teman – teman ikuti sesuai gambar berikut.
Konfigurasi LoRa E220-400T22D Receiver ESp32
Selanjutnya lanjut dengan melakukan konfigurasi pada modul LoRa E220-400T22D receiver yang akan dihubungkan ke NodeMCU. lihat gambar dibawah.
Konfigurasi LoRa E220-400T22D Receiver NodeMCU
Sampai disini kita sudah berhasil melakukan konfigurasi pada 1 transmitter dan 2 receiver LoRa.
Wairing
Rangkailah modul – modul sesuai skema berikut ini.
Skema Transmitter Arduino
Skema Receiver ESP32
Skema Receiver NodeMCU
Pemrograman
Langkah selanjutnya kita masuk pada tahapan pemrograman. Pada tahapan ini apa saja yang perlu teman – teman pastikan adalah sebagai berikut.
- Installasi Driver sesuai tipe Arduino yang digunakan. Jika menggunakan Arduino versi CH340 maka harus installasi driver terlebih dahulu.
- Installasi Board ESP32 di software Arduino IDE. pada percobaan ini admin versi Board ESP32 yang admin install adalah 1.0.2.
- Installasi Board ESP8266 di software Arduino IDE pada percobaan ini admin versi Board ESP8266 yang admin install adalah 2.7.1.
- Tambahkan library EByte_LoRa_E220_library pada software Arduino IDE | Download Library
- Jika di komputer / laptop memiliki Antivirus maka nonaktifkan dulu saat melakukan pemrograman.
- Jika di komputer / laptop Windows Defender Realtime Protection dalam keadaan aktif maka nonaktifkan terlebih dahulu.
Setelah semua sudah dipastikan maka pertama yang akan kita lakukan adalah menjalankan 3 software Arduino IDE secara bersamaan karna pada percobaan ini kita hanya menggunakan 1 PC/ laptop saja untuk memonitoring di Serial Monitor. Agar bisa dimonitor secara bersamaan maka kita perlu membuka 3 software Arduino IDE.
Copy & Paste program berikut ke masing – masing Arduino IDE.
Program Transmitter Arduino
#include <SoftwareSerial.h>; SoftwareSerial lora(2, 3); void setup() { Serial.begin(9600); lora.begin(9600); } void loop() { if (Serial.available()) { lora.write(Serial.read()); } }
Program Receiver ESP32
#include "Arduino.h" #include "LoRa_E220.h" LoRa_E220 e220ttl(&Serial2); void setup() { Serial.begin(9600); delay(500); e220ttl.begin(); Serial.println("Start receiving!"); } void loop() { if (e220ttl.available() > 1) { Serial.println("Message received!"); ResponseContainer rc = e220ttl.receiveMessage(); if (rc.status.code != 1) { Serial.println(rc.status.getResponseDescription()); } else { Serial.println("Device : ESP32"); Serial.print("Message : "); Serial.println(rc.data); Serial.print("Status : "); Serial.println(rc.status.getResponseDescription()); Serial.println(); } } delay(100); }
Program Receiver NodeMCU
#include "Arduino.h" #include "LoRa_E220.h" #include <SoftwareSerial.h>; SoftwareSerial mySerial(D3, D4); LoRa_E220 e220ttl(&mySerial); void setup() { Serial.begin(9600); delay(500); e220ttl.begin(); Serial.println("Start receiving!"); } void loop() { if (e220ttl.available() > 1) { Serial.println("Message received!"); ResponseContainer rc = e220ttl.receiveMessage(); if (rc.status.code != 1) { Serial.println(rc.status.getResponseDescription()); } else { Serial.println("Device : NodeMCU"); Serial.print("Message : "); Serial.println(rc.data); Serial.print("Status : "); Serial.println(rc.status.getResponseDescription()); Serial.println(); } } delay(100); }
Selanjutnya kita akan siap untuk melakukan upload program ke masing – masing mikrokontroler, sebelum melakukan upload pastikan teman – teman sudah memilih Board dan PORT pada masing – masing software Arduino IDE. Jika sudah, silahkan teman – teman tekan tombol Upload untuk melakukan upload program.
Pengujian
Setelah program sudah di upload ke masing – masing mikrokontroler selanjutnya teman – teman buka Serial Monitor pada masing – masing Arduino IDE & teman – teman bisa mencoba untuk mengirimkan pesan dari Serial Monitor Transmitter. Adapun hasil pengujian dapat dilihat pada video berikut ini.
Tutorial selanjutnya admin akan membahas tentang bagaimana cara kita mengirimkan data ke platform IoT Blynk menggunakan LoRa E220-400T22D.