Isi kandungan:
- Langkah 1: Bekalan
- Langkah 2: Node LoRa
- Langkah 3: Sambungan Node dan Sensor
- Langkah 4: Hantar Data ke Gateway
- Langkah 5: MakePython Lora
- Langkah 6: LoRaWAN Gateway
- Langkah 7: Muat turun Kod
- Langkah 8: Terima Data
- Langkah 9: Gunakan ThingSpeak IoT
- Langkah 10: Hasilnya
Video: Lora Gateway Berdasarkan MicroPython ESP32: 10 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:08
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 antara terminal IoT atau pertukaran data dengan host. Terdapat banyak modul LoRa di pasaran, seperti RFM96W, yang dilengkapi dengan cip SX1278 (serasi), yang sangat kecil. Saya menggunakannya dengan MakePython ESP32 sebagai pintu masuk.
Seterusnya, saya akan menggunakan dua node LoRa untuk menghantar data suhu dan kelembapan ke pintu masuk, dan kemudian memuat naiknya ke Internet melalui pintu masuk. Di sini anda akan belajar bagaimana memuat naik data jarak jauh dari beberapa nod LoRa ke awan melalui pintu masuk.
Langkah 1: Bekalan
1 * MakePython ESP32
MakePython ESP32 adalah papan ESP32 dengan paparan OLED SSD1306 bersepadu.
2 * Radio Maduino LoRa
Maduino Lora Radio adalah Penyelesaian IoT (Internet of things) berdasarkan modul Atmega328P MCU dan Lora Atmel. Ia boleh menjadi projek sebenar untuk projek IoT (terutamanya aplikasi jarak jauh dan rendah)
2 * DHT11
1 * MakePython Lora
Langkah 2: Node LoRa
Ini adalah skema Radio Maduino Lora.
Modul Arduino Lora Radio sebagai simpul LoRa, kami menggunakannya untuk menghantar data suhu dan kelembapan ke pintu masuk.
(WiKi ini memperkenalkan cara menggunakan Radio Maduino Lora dan menghantar dan menerima data)
Langkah 3: Sambungan Node dan Sensor
VCC dan GND DHT11 disambungkan ke 3V3 dan GND Maduino, dan pin DATA disambungkan ke D4 of Maduino.
Node 0 ada di taman, simpul 1 ada di bangunan pejabat berhampiran syarikat, jaraknya sekitar 2 kilometer, dan kemudian saya mendapat data suhu dan kelembapan mereka di rumah
Langkah 4: Hantar Data ke Gateway
Muat turun TransmitterDHT11.ino, buka di Arduino IDE.
Semasa menambah nod, ubah nombor nod dengan sewajarnya. Sebagai contoh, sekarang gunakan 2 node, node pertama untuk mengubah suai nodenum = 0 untuk menjalankan program, node kedua untuk mengubah suai nodenum = 1 untuk menjalankan program, dan seterusnya, anda boleh menambah lebih banyak nod.
int16_t packetnum = 0; // kaunter paket, kami menambah setiap xmission
int16_t nodenum = 0; // Ubah suai nombor nod
Kumpulkan data dan cetak
String message = "#" + (String) nodenum + "Kelembapan:" + (String) kelembapan + "% Suhu:" + (String) suhu + "C" + "num:" + (String) packetnum; Serial.println (mesej); packetnum ++;
Hantar mesej ke rf95_server
uint8_t radioPacket [message.length () + 1];
message.toCharArray (radioPacket, message.length () + 1); radioPacket [message.length () + 1] = '\ 0'; rf95.send ((uint8_t *) radioPacket, message.length () + 1);
Buka monitor bersiri, anda dapat melihat data suhu dan kelembapan yang dikumpulkan, dan menghantarnya.
# 0 Kelembapan: 6.00% Suhu: 27.00C kum: 0
Kirim: Menghantar ke rf95_server Menghantar … Menunggu paket selesai … Menunggu balasan … Tidak ada balasan, adakah pendengar ada?
Ketepikan, sekarang kita perlu membuat Lora Gateway.
Langkah 5: MakePython Lora
Ini adalah pin modul RFM96W yang sesuai dan MakePython ESP32. Untuk memudahkan sambungan dengan MakePython ESP32, saya membuat papan litar dengan modul RFM96W. Ya, ada dua RFM96W di atasnya, yang dapat mengirim dan menerima data pada masa yang sama, tetapi sekarang saya hanya memerlukannya.
Langkah 6: LoRaWAN Gateway
LoRaWAN adalah rangkaian kawasan luas berkuasa rendah berdasarkan LoRa, yang dapat menyediakannya: penggunaan kuasa rendah, skalabilitas, kualiti perkhidmatan yang tinggi, dan rangkaian tanpa wayar jarak jauh yang selamat.
Kumpulkan MakePython Lora dan ESP32 untuk membuat pintu masuk yang dapat menerima data jarak jauh dan memuat naiknya ke Internet.
Langkah 7: Muat turun Kod
Muat turun semua fail 'xxx.py' dari WiKi dan muat naik ke ESP32.
Buka fail LoRaDuplexCallback.py, Anda perlu membuat beberapa penyesuaian supaya ESP32 anda dapat menyambung ke rangkaian dan memuat naik data ke pelayan.
Ubah suai API_KEY yang anda perolehi di ThingSpeak (saya akan memperkenalkan cara mendapatkannya kemudian)
#https://thingspeak.com/channels/1047479
API_KEY = 'UBHIRHVV9THUJVUI'
Ubah suai SSID dan PSW untuk menyambungkan WiFi
ssid = "Makerfabs"
pswd = "20160704"
Langkah 8: Terima Data
Cari fungsi on_receive (lora, payload) dalam fail LoRaDuplexCallback.py, di mana anda boleh memberitahu ESP32 apa yang harus dilakukan setelah menerima data. Kod berikut menguraikan dan memaparkan data suhu dan kelembapan yang diterima.
def on_receive (lora, muatan):
lora.blink_led () rssi = lora.packetRssi () try: length = len (payload) -1 myStr = str ((payload [4: length]), 'utf-8') length1 = myStr.find (':') myNum1 = myStr [(panjang1 + 1):(panjang1 + 6)] myNum2 = myStr [(panjang1 + 20):(panjang1 + 25)] cetak ("*** Mesej yang diterima *** / n {}". format (muatan)) jika config_lora. IS_LORA_OLED: lora.show_packet (("{}". format (muatan [4: panjang])), rssi) jika wlan.isconnected (): cetakan global msgCount ('Menghantar ke rangkaian …') node = int (str (muatan [5: 6], 'utf-8')) jika node == 0: URL = "https://api.thingspeak.com/update?api_key=" + API_KEY + "& bidang1 = "+ myNum1 +" & field2 = "+ myNum2 res = urequests.get (URL) print (res.text) elif node == 1: URL =" https://api.thingspeak.com/update?api_key= "+ API_KEY +" & field3 = "+ myNum1 +" & field4 = "+ myNum2 res = urequests.get (URL) print (res.text) kecuali Exception as e: print (e) print (" with RSSI {} n ".format (rssi))
Menentukan nombor untuk membezakan node, dan memuat naik data ke Internet melalui URL, kita dapat memantau data jarak jauh dari node yang berbeza pada bila-bila masa. Anda boleh menambah lebih banyak nod dan membuat perubahan serupa pada kod tersebut.
jika nod == 0:
URL = "https://api.thingspeak.com/update?api_key=" + API_KEY + "& field1 =" + myNum1 + "& field2 =" + myNum2 res = urequests.get (URL) cetak (res.text)
Langkah 9: Gunakan ThingSpeak IoT
Langkah-langkah:
- Daftar akaun di https://thingspeak.com/. Sekiranya anda sudah memilikinya, log masuk terus.
- Klik Saluran Baru untuk membuat saluran ThingSpeak baru.
- Masukkan nama, Penerangan, Pilih Medan 1. Kemudian simpan saluran di bahagian bawah.
- Klik pilihan Kunci API, salin Kunci API, kami akan menggunakannya dalam program.
Langkah 10: Hasilnya
Anda dapat melihat data nod 0 dan nod 1 di skrin, walaupun jaraknya 2 kilometer.
Log masuk ke akaun ThingSpeak anda dan klik pada saluran yang anda buat, anda dapat melihat data suhu dan kelembapan yang dimuat naik.
Grafik medan1 dan grafik medan2 adalah data kelembapan dan suhu dari nod Lora 0, dan grafik medan3 dan graf medan4 adalah data kelembapan dan suhu dari nod Lora 1.
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
MQTT Berdasarkan MicroPython ESP32: 5 Langkah
MQTT Berdasarkan MicroPython ESP32: Saya suka memelihara kucing peliharaan. Setelah seharian bekerja, kucing dapat merehatkan saya ketika saya pulang ke rumah. Setelah menjalani latihan keras, kucing ini mempunyai kebiasaan makan yang kerap di " restoran " setiap hari. Tetapi baru-baru ini saya terpaksa menempuh perjalanan selama beberapa hari dan
ESP32 Lora Thingspeak Gateway Dengan Sensor Node: 9 Langkah
ESP32 Lora Thingspeak Gateway Dengan Sensor Node: 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
MicroPython IoT Rover Berdasarkan WEMOS D1 (ESP-8266EX): 7 Langkah (dengan Gambar)
MicroPython IoT Rover Berdasarkan WEMOS D1 (ESP-8266EX): ** Kemas kini: Saya menyiarkan video baru untuk v2 dengan tombak ** Saya menganjurkan bengkel Robotik untuk anak kecil dan saya sentiasa mencari platform ekonomi untuk membina projek menarik. Walaupun klon Arduino murah, ia menggunakan bahasa C / C ++ bahawa kanak-kanak tidak
Penyelesaian Penglihatan yang Mampu Dengan Arm Robot Berdasarkan Arduino: 19 Langkah (dengan Gambar)
Penyelesaian Penglihatan yang Berpatutan Dengan Lengan Robot Berdasarkan Arduino: Apabila kita bercakap mengenai penglihatan mesin, selalu terasa tidak dapat dicapai oleh kita. Walaupun kami membuat demo penglihatan sumber terbuka yang sangat mudah dibuat untuk semua orang. Dalam video ini, dengan kamera OpenMV, di mana pun kubus merah berada, robot itu