
Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-23 14:49

dalam Proyek IoT ini, saya merancang ESP32 LoRa Gateway & juga ESP32 LoRa Sensor Node untuk memantau pembacaan sensor secara nirkabel dari jarak beberapa kilometer. Pengirim akan membaca data kelembaban dan suhu menggunakan Sensor DHT11. Kemudian mengirimkan data melalui LoRa Radio. Data diterima oleh modul penerima. Penerima kemudian akan mengirimkan data ke Thingspeak Server setelah selang waktu tertentu.
Langkah 1: Komponen Diperlukan
1. Papan ESP32 - 2
2. Modul Lora SX1278/SX1276
3. Sensor Suhu Kelembaban DHT11
4. Papan tempat memotong roti
5. Menghubungkan Kabel Jumper
Langkah 2: Memasang Pustaka yang Diperlukan
Kita perlu menginstal perpustakaan yang berbeda terlebih dahulu:
1. Perpustakaan DHT11
2. Perpustakaan LoRa
Langkah 3: ESP32 LoRa Thingspeak Gateway


Sekarang mari kita lihat rangkaian pengirim dan penerima untuk membangun ESP32 LoRa Gateway & Sensor Node. Saya merakit kedua sirkuit di papan tempat memotong roti. Anda dapat membuatnya di PCB jika Anda mau.
Berikut adalah Rangkaian Gateway ESP32 LoRa Module SX1278. Bagian ini berfungsi sebagai Penerima. Data kelembaban dan suhu diterima menggunakan Radio LoRa & diunggah ke Server Thingspeak.
Langkah 4: Node Sensor LoRa ESP32


Berikut adalah Rangkaian Node Sensor LoRa ESP32 dengan Sensor DHT11. Bagian ini berfungsi sebagai pemancar. Data kelembaban dan suhu dibaca oleh DHT11 Humidity Temperature Sensor dan ditransmisikan menggunakan Radio LoRa.
Langkah 5: Menyiapkan Thingspeak

Untuk Memantau Data Sensor di Server Thingspeak, Anda harus terlebih dahulu mengatur Thingspeak. Untuk mengatur Server Thingspeak, kunjungi https://thingspeak.com/. Buat akun atau cukup masuk jika Anda membuat akun sebelumnya. Kemudian buat saluran baru dengan detail berikut.
Langkah 6: Kode Gerbang
#termasuk
//Libraries untuk LoRa #include #include //menentukan pin yang digunakan oleh modul transceiver LoRa #define ss 5 #define rst 14 #define dio0 2 #define BAND 433E6 //433E6 untuk Asia, 866E6 untuk Eropa, 915E6 untuk Amerika Utara // Ganti dengan kredensial jaringan Anda String apiKey = "14K8UL2QEK8BTHN6"; // Masukkan kunci API Tulis Anda dari ThingSpeak const char *ssid = "Wifi SSID"; // ganti dengan ssid wifi Anda dan kunci wpa2 const char *password = "Password"; const char* server = "api.thingspeak.com"; Klien WiFiClient; // Inisialisasi variabel untuk mendapatkan dan menyimpan data LoRa int rssi; String loRaMessage; Suhu tali; Kelembaban tali; ID pembacaan string; // Mengganti placeholder dengan nilai DHT Prosesor string(const String& var){ //Serial.println(var); if(var == "TEMPERATURE") { mengembalikan suhu; } else if(var == "HUMIDITY") { mengembalikan kelembapan; } else if (var == "RRSI") { return String(rssi); } mengembalikan String(); } batalkan pengaturan() { Serial.begin(115200); penghitung int; //setup modul transceiver LoRa LoRa.setPins(ss, rst, dio0); //setup modul transceiver LoRa while (!LoRa.begin(BAND) && counter < 10) { Serial.print("."); penghitung++; penundaan(2000); } if (counter == 10) { // Menambah readID pada setiap pembacaan baru Serial.println("Memulai LoRa gagal!"); } Serial.println("Inisialisasi LoRa Oke!"); penundaan(2000); // Hubungkan ke jaringan Wi-Fi dengan SSID dan kata sandi Serial.print("Menghubungkan ke "); Serial.println(ssid); WiFi.begin(ssid, kata sandi); while (WiFi.status() != WL_CONNECTED) { delay(2000); Serial.print("."); } // Cetak alamat IP lokal dan jalankan server web Serial.println(""); Serial.println("WiFi terhubung."); Serial.println("Alamat IP: "); Serial.println(WiFi.localIP()); } // Baca paket LoRa dan dapatkan pembacaan sensor void loop() { int packetSize = LoRa.parsePacket(); if (packetSize) { Serial.print("Paket Lora diterima: "); while (LoRa.available()) // Baca paket { String LoRaData = LoRa.readString(); Serial.print(LoRaData); int pos1 = LoRaData.indexOf('/'); int pos2 = LoRaData.indexOf('&'); readID = LoRaData.substring(0, pos1); // Dapatkan suhu readID = LoRaData.substring(pos1 +1, pos2); // Dapatkan suhu kelembaban = LoRaData.substring(pos2+1, LoRaData.length()); // Dapatkan kelembapan } rssi = LoRa.packetRssi(); // Dapatkan RSSI Serial.print(" dengan RSSI "); Serial.println(rssi); } if (client.connect(server, 80)) // "184.106.153.149" atau api.thingspeak.com { String postStr = apiKey; postStr += "&field1="; postStr += String(readingID); postStr += "&field2="; postStr += String(suhu); postStr += "&field3="; postStr += String(kelembaban); postStr += "&field4="; postStr += String(rssi); postStr += "\r\n\r\n\r\n\r\n"; client.print("POST /update HTTP/1.1\n"); client.print("Host: api.thingspeak.com\n"); client.print("Koneksi: tutup\n"); client.print("X-THINGSPEAKAPIKEY: " + apiKey + "\n"); client.print("Jenis Konten: application/x-www-form-urlencoded\n"); client.print("Panjang Konten: "); client.print(postStr.length()); klien.print("\n\n"); klien.print(postStr); } //tunda(30000); }
Langkah 7: Kode Node Sensor
#termasuk
#include //Libraries untuk LoRa #include "DHT.h" #define DHTPIN 4 //pin dimana dht11 terhubung DHT dht(DHTPIN, DHT11); //menentukan pin yang digunakan oleh modul transceiver LoRa #define ss 5 #define rst 14 #define dio0 2 #define BAND 433E6 //433E6 untuk Asia, 866E6 untuk Eropa, 915E6 untuk Amerika Utara //penghitung paket int readingID = 0; int penghitung = 0; String LoRaMessage = ""; suhu mengambang = 0; kelembaban mengambang = 0; //Inisialisasi modul LoRa void startLoRA() { LoRa.setPins(ss, rst, dio0); //setup modul transceiver LoRa while (!LoRa.begin(BAND) && counter < 10) { Serial.print("."); penghitung++; penundaan (500); } if (counter == 10) { // Menambah readID pada setiap readingID++ yang baru; Serial.println("Memulai LoRa gagal!"); } Serial.println("Inisialisasi LoRa Oke!"); penundaan(2000); } void startDHT() { if (isnan(kelembaban) || isnan(suhu)) { Serial.println("Gagal membaca dari sensor DHT!"); kembali; } } void getReadings(){ kelembaban = dht.readHumidity(); suhu = dht.readTemperature(); Serial.print(F("Kelembaban: ")); Serial.print(kelembaban); Serial.print(F("% Suhu: ")); Serial.print(suhu); Serial.println(F("°C")); } void sendReadings() { LoRaMessage = String(readingID) + "/" + String(suhu) + "&" + String(kelembaban); //Kirim paket LoRa ke penerima LoRa.beginPacket(); LoRa.print(LoRaMessage); LoRa.endPacket(); Serial.print("Mengirim paket: "); Serial.println(readingID); membacaID++; Serial.println(LoRaMessage); } void setup() { //inisialisasi Serial Monitor Serial.begin(115200); dht.mulai(); mulaiDHT(); startLoRA(); } void loop() { getReadings(); kirimBaca(); penundaan (500); }
Langkah 8: Pantau Data di Server Thingspeak


Setelah kode diunggah, Anda dapat membuka Serial Monitor di Sirkuit Gateway & Sensor Node. Anda akan mengirim dan menerima data jika kodenya benar. Sekarang Anda dapat mengunjungi Thingspeak Private View. Di sana Anda dapat melihat data Nomor Paket, Suhu, Kelembaban & Gerbang yang diunggah setelah interval 15 detik.
Langkah 9: Referensi
1.
2.
Direkomendasikan:
MuMo - LoRa Gateway: 25 Langkah (dengan Gambar)

MuMo - LoRa Gateway: ### UPDATE 10-03-2021 // informasi / pembaruan terbaru akan tersedia di halaman github: https://github.com/MoMu-Antwerp/MuMoWhat itu MuMo?MuMo adalah kolaborasi antara pengembangan produk (departemen Universitas Antwerpen) di bawah
Lora Gateway Berdasarkan MicroPython ESP32: 10 Langkah (dengan Gambar)

Lora Gateway Berdasarkan MicroPython ESP32: Lora telah sangat populer dalam beberapa tahun terakhir. Modul komunikasi nirkabel yang menggunakan teknologi ini biasanya murah (menggunakan spektrum bebas), berukuran kecil, hemat energi dan memiliki jarak komunikasi yang jauh, dan terutama digunakan untuk komunikasi bersama
ESP32 Dengan Tutorial Modul LoRa E32-433T - Antarmuka Arduino LoRa: 8 Langkah

ESP32 Dengan Tutorial Modul LoRa E32-433T | LoRa Arduino Interfacing: Hai, apa kabar, Guys! Akarsh di sini dari CETech. Proyek saya ini menghubungkan modul E32 LoRa dari eByte yang merupakan modul transceiver 1 watt berdaya tinggi dengan ESP32 menggunakan Arduino IDE. Kami memahami cara kerja E32 di tutorial terakhir kami
Kontrol Peralatan Rumah Tangga Melalui LoRa - LoRa dalam Otomasi Rumah - Kontrol Jarak Jauh LoRa: 8 Langkah

Kontrol Peralatan Rumah Tangga Melalui LoRa | LoRa dalam Otomasi Rumah | LoRa Remote Control: Mengontrol dan mengotomatiskan peralatan listrik Anda dari jarak jauh (Kilometer) tanpa kehadiran internet. Ini dimungkinkan melalui LoRa! Hei, apa kabar, teman-teman? Akarsh di sini dari CETech. PCB ini juga memiliki layar OLED dan 3 relai yang
15$ LoRa Gateway/Node ESP8266 Membangun PCB 3cmX8cm Ukuran: 6 Langkah

15$ LoRa Gateway/Node ESP8266 Build PCB 3cmX8cm Ukuran: Hai, apa kabar guys? Akarsh di sini dari CETech. Hari ini kita akan membuat proyek yang merupakan simpul LoRa sederhana dan Anda bahkan dapat menggunakannya sebagai gateway saluran tunggal. Di sini mikrokontroler yang saya gunakan adalah ESP8266, yang terhubung ke papan LoRa