Isi kandungan:
- Langkah 1: Komponen Diperlukan
- Langkah 2: Memasang Perpustakaan yang Diperlukan
- Langkah 3: ESP32 LoRa Thingspeak Gateway
- Langkah 4: Nod Sensor ESP32 LoRa
- Langkah 5: Menyiapkan Thingspeak
- Langkah 6: Kod Gateway
- Langkah 7: Kod Nod Sensor
- Langkah 8: Pantau Data pada Thingspeak Server
- Langkah 9: Rujukan
Video: ESP32 Lora Thingspeak Gateway Dengan Sensor Node: 9 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:08
dalam Projek IoT ini, saya merancang ESP32 LoRa Gateway & juga ESP32 LoRa Sensor Node untuk memantau bacaan sensor tanpa wayar dari jarak beberapa kilometer. Pengirim akan membaca data kelembapan dan suhu menggunakan Sensor DHT11. Kemudian ia menghantar data melalui LoRa Radio. Data diterima oleh modul penerima. Penerima kemudian akan menghantar data ke Thingspeak Server setelah selang waktu tertentu.
Langkah 1: Komponen Diperlukan
1. Papan ESP32 - 2
2. Modul Lora SX1278 / SX1276
3. Sensor Suhu Kelembapan DHT11
4. Papan roti
5. Menyambung Wayar Jumper
Langkah 2: Memasang Perpustakaan yang Diperlukan
Kita perlu memasang perpustakaan yang berbeza terlebih dahulu:
1. Perpustakaan DHT11
2. Perpustakaan LoRa
Langkah 3: ESP32 LoRa Thingspeak Gateway
Sekarang mari kita lihat litar pengirim dan penerima untuk membina ESP32 LoRa Gateway & Sensor Node. Saya memasang kedua-dua litar di papan roti. Anda boleh membuatnya di PCB jika anda mahu.
Berikut adalah Litar Gateway Modul ESP32 LoRa SX1278. Bahagian ini berfungsi sebagai Penerima. Data kelembapan dan suhu diterima menggunakan LoRa Radio & dimuat naik ke Thingspeak Server.
Langkah 4: Nod Sensor ESP32 LoRa
Berikut adalah Litar Node Sensor LoRa ESP32 dengan Sensor DHT11. Bahagian ini berfungsi sebagai pemancar. Data kelembapan dan suhu dibaca oleh DHT11 Sensor Suhu Kelembapan dan dihantar menggunakan Radio LoRa.
Langkah 5: Menyiapkan Thingspeak
Untuk Memantau Data Sensor pada Thingspeak Server, pertama anda perlu Menyiapkan Thingspeak. Untuk menyediakan Pelayan Thingspeak, lawati https://thingspeak.com/. Buat akaun atau masuk sekiranya anda membuat akaun lebih awal. Kemudian buat saluran baru dengan perincian berikut.
Langkah 6: Kod Gateway
#sertakan
// Perpustakaan untuk LoRa #include #include // tentukan pin yang digunakan oleh modul transceiver LoRa #define ss 5 #define rst 14 #define dio0 2 #define BAND 433E6 // 433E6 untuk Asia, 866E6 untuk Eropah, 915E6 untuk Amerika Utara // Ganti dengan kelayakan rangkaian anda String apiKey = "14K8UL2QEK8BTHN6"; // Masukkan kekunci Tulis API anda dari ThingSpeak const char * ssid = "Wifi SSID"; // ganti dengan wifi ssid dan kunci wpa2 const char * password = "Kata Laluan"; const char * server = "api.thingspeak.com"; Pelanggan WiFiClient; // Memulakan pemboleh ubah untuk mendapatkan dan menyimpan data LoRa int rssi; String loRaMessage; Suhu rentetan; Kelembapan tali; Bacaan rentetanID; // Menggantikan placeholder dengan nilai DHT pemproses String (const String & var) {//Serial.println(var); if (var == "SUHU") {suhu kembali; } lain jika (var == "HUMIDITY") {mengembalikan kelembapan; } lain jika (var == "RRSI") {Return String (rssi); } kembali String (); } batal persediaan () {Serial.begin (115200); kaunter int; // persediaan modul transceiver LoRa LoRa.setPins (ss, rst, dio0); // siapkan modul transceiver LoRa sementara (! LoRa.begin (BAND) && counter <10) {Serial.print ("."); kaunter ++; kelewatan (2000); } if (counter == 10) {// Kenaikan bacaanID pada setiap bacaan baru Serial.println ("Memulakan LoRa gagal!"); } Serial.println ("Permulaan LoRa OK!"); kelewatan (2000); // Sambungkan ke rangkaian Wi-Fi dengan SSID dan kata laluan Serial.print ("Menyambung ke"); Serial.println (ssid); WiFi.begin (ssid, kata laluan); sementara (WiFi.status ()! = WL_CONNECTED) {kelewatan (2000); Cetakan bersiri ("."); } // Cetak alamat IP tempatan dan mulakan pelayan web Serial.println (""); Serial.println ("WiFi disambungkan."); Serial.println ("Alamat IP:"); Serial.println (WiFi.localIP ()); } // Baca paket LoRa dan dapatkan pembacaan sensor gelung kosong () {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 kelembapan suhu = 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 + = "& bidang1 ="; postStr + = Rentetan (ReadingID); postStr + = "& bidang2 ="; postStr + = Rentetan (suhu); postStr + = "& bidang3 ="; postStr + = Rentetan (kelembapan); postStr + = "& bidang4 ="; postStr + = Rentetan (rssi); postStr + = "\ r / n / r / n / r / n / r / n"; client.print ("POST / kemas kini HTTP / 1.1 / n"); client.print ("Host: api.thingspeak.com / n"); client.print ("Sambungan: tutup / n"); client.print ("X-THINGSPEAKAPIKEY:" + apiKey + "\ n"); client.print ("Content-Type: application / x-www-form-urlencoded / n"); client.print ("Panjang Kandungan:"); client.print (postStr.length ()); client.print ("\ n / n"); client.print (postStr); } // kelewatan (30000); }
Langkah 7: Kod Nod Sensor
#sertakan
#include // Perpustakaan untuk LoRa #include "DHT.h" # tentukan DHTPIN 4 // pin di mana dht11 disambungkan DHT dht (DHTPIN, DHT11); // tentukan pin yang digunakan oleh modul transceiver LoRa #define ss 5 #define rst 14 #define dio0 2 #define BAND 433E6 // 433E6 untuk Asia, 866E6 untuk Eropah, 915E6 untuk Amerika Utara // packet counter int readingID = 0; kaunter int = 0; Rentetan LoRaMessage = ""; suhu apungan = 0; kelembapan apungan = 0; // Memulakan modul LoRa batal startLoRA () {LoRa.setPins (ss, rst, dio0); // siapkan modul transceiver LoRa sementara (! LoRa.begin (BAND) && counter <10) {Serial.print ("."); kaunter ++; kelewatan (500); } if (kaunter == 10) {// Kenaikan bacaanID pada setiap bacaan bacaan baruID ++; Serial.println ("Memulakan LoRa gagal!"); } Serial.println ("Permulaan LoRa OK!"); kelewatan (2000); } batal startDHT () {if (isnan (kelembapan) || isnan (suhu)) {Serial.println ("Gagal membaca dari sensor DHT!"); kembali; }} batal getReadings () {kelembapan = dht.readHumidity (); suhu = dht.readTemperature (); Serial.print (F ("Kelembapan:")); Cetakan bersiri (kelembapan); Serial.print (F ("% Temperature:")); Cetakan bersiri (suhu); Serial.println (F ("° C")); } batal sendReadings () {LoRaMessage = String (readID) + "/" + String (suhu) + "&" + String (kelembapan); // Hantarkan paket LoRa ke penerima LoRa.beginPacket (); LoRa.print (LoRaMessage); LoRa.endPacket (); Serial.print ("Menghantar paket:"); Serial.println (ReadingID); membacaID ++; Serial.println (LoRaMessage); } batal persediaan () {// memulakan Serial Monitor Serial.begin (115200); dht.begin (); mulaDHT (); mulaLoRA (); } gelung kosong () {getReadings (); hantarBaca (); kelewatan (500); }
Langkah 8: Pantau Data pada Thingspeak Server
Setelah kod dimuat naik, anda boleh membuka Serial Monitor di Litar Node Gateway & Sensor. Anda akan menghantar dan menerima data sekiranya kodnya betul. Kini anda boleh mengunjungi Viewpeak Private View. Di sana anda dapat melihat data untuk Nombor Paket, Suhu, Kelembapan & Gerbang dimuat setelah selang 15 saat.
Langkah 9: Rujukan
1.
2.
Disyorkan:
MuMo - LoRa Gateway: 25 Langkah (dengan Gambar)
MuMo - LoRa Gateway: ### KEMASKINI 10-03-2021 // maklumat / kemas kini terkini akan tersedia di laman github: https: //github.com/MoMu-Antwerp/MuMoApa itu MuMo? MuMo adalah kerjasama antara pengembangan produk (jabatan Universiti Antwerp) di bawah
Lora Gateway Berdasarkan MicroPython ESP32: 10 Langkah (dengan Gambar)
Lora Gateway Berdasarkan MicroPython ESP32: Lora sangat popular sejak kebelakangan ini. Modul komunikasi tanpa wayar yang menggunakan teknologi ini biasanya murah (menggunakan spektrum bebas), bersaiz kecil, cekap tenaga dan mempunyai jarak komunikasi yang panjang, dan terutama digunakan untuk komunikasi bersama
Tutorial ESP32 Dengan Modul LoRa E32-433T - LoRa Arduino Interfacing: 8 Langkah
Tutorial ESP32 Dengan Modul LoRa E32-433T | LoRa Arduino Interfacing: Hei, ada apa, Guys! Akarsh di sini dari CETech. Projek ini adalah menghubungkan modul E32 LoRa dari eByte yang merupakan modul transceiver 1-watt berkuasa tinggi dengan ESP32 menggunakan Arduino IDE. Kami memahami kerja E32 di tutoria terakhir kami
Kawal Peralatan Rumah Tangga Melalui LoRa - LoRa dalam Automasi Rumah - Alat kawalan jauh LoRa: 8 Langkah
Kawal Peralatan Rumah Tangga Melalui LoRa | LoRa dalam Automasi Rumah | Alat Kawalan Jauh LoRa: Kawal dan automasikan peralatan elektrik anda dari jarak jauh (Kilometer) tanpa kehadiran internet. Ini boleh dilakukan melalui LoRa! Hei, ada apa? Akarsh di sini dari CETech. PCB ini juga mempunyai paparan OLED dan 3 relay yang
15 $ LoRa Gateway / Node ESP8266 Build PCB 3cmX8cm Saiz: 6 Langkah
15 $ LoRa Gateway / Node ESP8266 Build PCB 3cmX8cm Saiz: Hai, ada apa, kawan-kawan? Akarsh di sini dari CETech. Hari ini kita akan membuat projek yang merupakan simpul LoRa sederhana dan anda bahkan boleh menggunakannya sebagai pintu masuk saluran tunggal. Di sini mikrokontroler yang saya gunakan adalah ESP8266, yang disambungkan ke papan LoRa