LoRa merupakan singkatan dari Long Range, dimana module ini menggunakan frekuensi radio dengan jarak yang jauh dan konsumsi daya yang rendah. Terdapat frekuensi yang umum digunakan yaitu 433 MHz, 868Mhz dan 915MHz. Sementara untuk module LoRa ini bisa melakukan komunikasi sejauh 15-20Km dengan daya yang rendah. Nah teknologi ini cocok sekali digunakan untuk menunjang perangkat IoT anda.
Untuk menggunakan LoRa ini anda memerlukan 2 buah LoRa, 1 digunakan sebagai transmitter (pengirim) dan 1 lagi sebagai receiver (penerima). Hal yang perlu diperhatikan pada Lora adalah pemilihan antena yang tepat, dengan memilih antena yang sesuai dengan frekuensi modulenya. Antena ini sangat penting karena mempengaruhi jarak komunikasi.
Oke langsung saja kita coba untuk menggunakan LoRa ini dengan Arduino. Dana yang akan kita coba adalah untuk menyalakan LED dengan potensiometer dengan mengatur kecerahannya. Lora yang dipakai adalah Ra-02 Sx1278 dengan frekuensi 433MHz, selengkapnya alat dan bahan yang dibutuhkan sebagai berikut :
- 2 buah Arduino, BELI
- 2 buah LoRa Ra-02, BELI
- Kabel jumper secukupnya, BELI
- Potensiometer 10 K, BELI
- LED, BELI
- Resistor 1K, BELI
- Library LoRa, download.
Rangkaian
Keterangan :
- GND LoRa ke GND Arduino
- 3.3V LoRa ke 3.3V Arduino
- RESET LoRa ke pin 9 Arduino
- DIO0 LoRa ke pin 2 Arduino
- NSS LoRa ke pin 10 Arduino
- MOSI LoRa ke pin 11 Arduino
- MISO LoRa ke pin 12 Arduino
- SCK LoRa ke pin 13 Arduino
- Potensiometer ke pin A0
Keterangan :
- Untuk LoRa sama disini ada penambahan LED dan resistor ke pin 3 Arduino.
Selanjutnya silahkan buka Arduino IDE dan masukkan librarynya.
Program Transmitter
#include <SPI.h> #include <LoRa.h> int pot = A0; void setup() { Serial.begin(9600); pinMode(pot,INPUT); while (!Serial); Serial.println("LoRa Sender"); if (!LoRa.begin(433E6)) { // or 915E6, the MHz speed of yout module Serial.println("Starting LoRa failed!"); while (1); } } void loop() { int val = map(analogRead(pot),0,1024,0,255); LoRa.beginPacket(); LoRa.print(val); LoRa.endPacket(); delay(50); }
Jika anda menggunakan jenis LoRa dengan frekuensi lain misalnya 915MHz, silahkan ganti pada kode program dari 433E6 ke 915E6 :
if (!LoRa.begin(433E6)) // 915E6
Program Receiver
#include <SPI.h> #include <LoRa.h> int LED = 3; String inString = ""; // string to hold input int val = 0; void setup() { Serial.begin(9600); pinMode(LED,OUTPUT); while (!Serial); Serial.println("LoRa Receiver"); if (!LoRa.begin(433E6)) { // or 915E6 Serial.println("Starting LoRa failed!"); while (1); } } void loop() { // try to parse packet int packetSize = LoRa.parsePacket(); if (packetSize) { // read packet while (LoRa.available()) { int inChar = LoRa.read(); inString += (char)inChar; val = inString.toInt(); } inString = ""; LoRa.packetRssi(); } Serial.println(val); analogWrite(LED, val); }
Upload program sesuai dengan rangakaian transmitter dan reaciever, hasilnya berikut ini :
Silahkan uji coba seberapa jauh jarak yang bisa dijangkau.
Terima kasih, semoga bermanfaat.
Kak mau tanya kalo di bagian transmitter nya menggunakan arduino dan bagian receiver nya menggunakan esp32 apakah bisa?jika bisa, programnya apakah sama saja seperti yang dicontohkan? terimakasih kak
bisa ka. Untuk program pada dasarnya sama, mungkin nanti ada sedikit sintaks yang perlu disesuaikan
Bisa dibantu ga ya kak untuk program di esp32 nya?saya sudah coba tetapi belum berhasil menampilkan data yg sama dengan data di pengirim yg menggunakan arduino. Terimakasih kak
ga bisanya sampai apa?
kalo transmitternya lebih dari 1 potensio codenya gimana? bisa tuntun kah?
untuk ambil data potensiometer kedua perlu pin analog yg lain ya (sy rasa yg ini pasti udah paham). Untuk sisi pengiriman data perlu dikodekan, misal id#pot1#pot2 kemudian dikirim bersamaan, nanti di sisi receiver data yang diterima perlu diparsing dulu untuk mendapatkan data potensiometer 1, potensio 2, dst
Kak izin bertanya, untuk LoRa ini apakah 1 receiver bisa untuk menerima sinyal dari beberapa transmitter? atau sistemnya 1 receiver untuk 1 transmitter?
bisa kak, asal frekuensinya sama (masing-masing transmitter perlu diubah dulu frekuensinya menyesuaikan frek receiver). Untuk masing-masing transmitter kasih semacam header/id untuk membedakan darimana data dikirim
jika pengiriman menggunakan frekuensi radio, bagaimana LoRa disebeut sebagai perangkat IoT? mohon pencerahannya kak
IoT = Internet of Things, jadi pada dasarnya semua perangkat yang menggunakan media komunikasi internet bisa dikatakan masuk kategori IoT. Untuk LORA jika kita bicara spesifikasi teknis, baru dianggap masuk kategori IoT jika ada gateway yang menyambungkan jaringan LORA ke internet. Tapi kalo kita bicara bahasa ‘awam’ yang terkadang salah kaprah, LORA ini sering dikategorikan masuk IoT karena menggunakan media komunikasi jarak jauh walaupun misalnya belum terhubung ke internet. Nah, sekarang tergantung Anda bicaranya di forum ilmiah atau forum awam 🙂
Kak bisa minta tolong gak kak ? LoRa aku type nya Ebyte E32 915T20D jadi untuk kaki-kaki loranya berbeda kak , jadi mau ikutin tutorial ini jadi bingung.
seba LoRa Ebyte E32 915T20D kakinya cuma ada 7 , yaitu m0 ,m1 ,rx,tx,aux,vcc,gnd.
tolong dibantu ya kak
Transmiter dan Receiver apakah menggunakan Lora dengan tipe yang sama (tipe Ra-02 Sx1278)
iya kak
ini nanti si receiver-nya bisa menerima data dari lora transmitter lain dengan frekuensi yg sama? misal ada orang lain sedang buat lora transmitter di dekat area kita, jika frekuensinya sama, apakah receiver kita bisa menangkap datanya? Terima kasih.
bisa kak, memang terminologi teknologi LORA seperti itu. Untuk mengantisipasinya bisa menggunakan enkripsi data, jadi hanya receiver yang tahu kode dekripsinya aja ynag ‘paham’ data yang dikirim
untuk contoh dengan enktipsi data apakah ada kak? atau munkin referensi yg bagus pun tidak apa2
ada contoh dgn enkripsi data gk kak
kalo lora failed itu knapa ya gan?
failed kan banyak kak, mungkin bisa diperjelas failed-nya karena apa?