İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-23 15:13
Lora son yıllarda çok popüler oldu. Bu teknolojiyi kullanan kablosuz iletişim modülü genellikle ucuzdur (serbest spektrum kullanarak), küçük boyutludur, enerji açısından verimlidir ve uzun bir iletişim mesafesine sahiptir ve esas olarak IoT terminalleri arasında karşılıklı iletişim veya bir ana bilgisayarla veri alışverişi için kullanılır. Piyasada çok küçük olan SX1278 (uyumlu) çip ile donatılmış RFM96W gibi birçok LoRa modülü bulunmaktadır. MakePython ESP32 ile ağ geçidi olarak kullanıyorum.
Ardından, sıcaklık ve nem verilerini ağ geçidine göndermek için iki LoRa düğümü kullanacağım ve ardından ağ geçidi aracılığıyla İnternet'e yükleyeceğim. Burada, ağ geçidi aracılığıyla birden fazla LoRa düğümünün uzak verilerini buluta nasıl yükleyeceğinizi öğreneceksiniz.
Adım 1: Sarf Malzemeleri
1 * MakePython ESP32
MakePython ESP32, entegre SSD1306 OLED ekrana sahip bir ESP32 kartıdır.
2 * Maduino LoRa Radyo
Maduino Lora Radio, Atmel'in Atmega328P MCU ve Lora modülünü temel alan bir IoT (Nesnelerin İnterneti) Çözümüdür. IoT projeleri için gerçek bir proje olabilir (özellikle uzun menzilli, düşük güç uygulamaları)
2*DHT11
1 * MakePython Lora
2. Adım: LoRa Düğümü
Bu, Maduino Lora Radyosunun şemasıdır.
Arduino Lora Radyo modülünü LoRa düğümü olarak ağ geçidine sıcaklık ve nem verilerini göndermek için kullanıyoruz.
(Bu WiKi, Maduino Lora Radyosunun nasıl kullanılacağını ve veri gönderip alınacağını açıklar)
Adım 3: Düğüm ve Sensör Bağlantısı
DHT11'in VCC ve GND'si Maduino'nun 3V3 ve GND'sine ve DATA pini Maduino'nun D4'üne bağlanır.
Düğüm 0 parkta, düğüm 1 şirketin yakınındaki ofis binasında, aralarında yaklaşık 2 kilometre var ve sonra evdeki sıcaklık ve nem verilerini alıyorum
Adım 4: Ağ Geçidine Veri Gönderin
TransmitterDHT11.ino'yu indirin, Arduino IDE'de açın.
Bir düğüm eklerken, düğüm numarasını uygun şekilde değiştirin. Örneğin, şimdi 2 düğüm kullanın, ilk düğüm düğümü değiştirmek için = 0 programı çalıştırmak için, ikinci düğüm düğümü değiştirmek için = 1 programı çalıştırmak için vb., daha fazla düğüm ekleyebilirsiniz.
int16_t paket sayısı = 0; // paket sayacı, xmission başına artırıyoruz
int16_t düğüm = 0; //Düğüm numarasını değiştir
Veri toplayın ve yazdırın
String mesajı ="#"+(String)nodenum+" Nem:"+(String)nem+"% Sıcaklık:"+(String)temperature+"C"+" num:"+(String)packetnum;Serial.println(mesaj); paket sayısı++;
rf95_server'a bir mesaj gönder
uint8_t radioPacket[message.length()+1];
message.toCharArray(radioPacket, message.length()+1); radioPacket[message.length()+1]= '\0'; rf95.send((uint8_t *)radioPacket, mesaj.length()+1);
Seri monitörü açın, toplanan sıcaklık ve nem verilerini görebilir ve gönderebilirsiniz.
#0 Nem:%6.00 Sıcaklık:27.00C num:0
İlet: rf95_server'a gönderiliyor Gönderiliyor… Paketin tamamlanması bekleniyor… Cevap bekleniyor… Cevap yok, etrafta bir dinleyici var mı?
Bir kenara koyun, şimdi Lora Geçidi'ni yapmamız gerekiyor.
Adım 5: MakePython Lora
Bu, RFM96W modülünün ve MakePython ESP32'nin karşılık gelen pinidir. MakePython ESP32 ile bağlantıyı kolaylaştırmak için RFM96W modülü ile devre kartı yaptım. Evet, üzerinde aynı anda veri gönderip alabilen iki RFM96W var ama şimdi sadece birine ihtiyacım var.
Adım 6: LoRaWAN Ağ Geçidi
LoRaWAN, LoRa tabanlı, düşük güç tüketimi, ölçeklenebilirlik, yüksek hizmet kalitesi ve güvenli uzun mesafeli kablosuz ağ sağlayan, düşük güçlü bir geniş alan ağıdır.
Uzak verileri alabilen ve internete yükleyebilen bir ağ geçidi yapmak için MakePython Lora ve ESP32'yi birleştirin.
7. Adım: Kodu İndirin
Tüm 'xxx.py' dosyalarını WiKi'den indirin ve ESP32'ye yükleyin.
LoRaDuplexCallback.py dosyasını açın, ESP32'nizin ağa bağlanabilmesi ve sunucuya veri yükleyebilmesi için bazı ayarlamalar yapmanız gerekiyor.
ThingSpeak'te elde ettiğiniz API_KEY'i değiştirin (nasıl elde edileceğini daha sonra anlatacağım)
#https://thingspeak.com/channels/1047479
API_KEY='UBHIRHVV9THUJVUI'
WiFi'ye bağlanmak için SSID ve PSW'yi değiştirin
ssid = "Makerfab'lar"
pswd = "20160704"
8. Adım: Veri Alın
Verileri aldıktan sonra ESP32'ye ne yapacağını söyleyebileceğiniz LoRaDuplexCallback.py dosyasında on_receive (lora, payload) işlevini bulun. Aşağıdaki kod, alınan sıcaklık ve nem verilerini ayrıştırır ve görüntüler.
def on_receive(lora, yük):
lora.blink_led() rssi = lora.packetRssi() deneyin: uzunluk=len(yük)-1 myStr=str((yük[4:uzunluk]), 'utf-8') uzunluk1=myStr.find(':') myNum1=myStr[(uzunluk1+1):(uzunluk1+6)] myNum2=myStr[(uzunluk1+20):(uzunluk1+25)] print("*** Alınan mesaj ***\n{}". format(payload)) ise config_lora. IS_LORA_OLED: lora.show_packet(("{}".format(payload[4:uzunluk])), rssi) wlan.isconnected() ise: global msgCount print('Ağa gönderiliyor…') düğüm = int(str(payload[5:6], 'utf-8')) ise düğüm == 0: URL="https://api.thingspeak.com/update?api_key="+API_KEY+"&field1= "+myNum1+"&field2="+myNum2 res=urequests.get(URL) print(res.text) elif düğümü == 1: URL="https://api.thingspeak.com/update?api_key="+API_KEY+" &field3="+myNum1+"&field4="+myNum2 res=urequests.get(URL) print(res.text) e olarak İstisna hariç: print(e) print("RSSI ile {}\n".format(rssi))
Düğümleri ayırt etmek için sayıyı değerlendirerek ve verileri URL üzerinden İnternet'e yükleyerek, farklı düğümlerin uzak verilerini istediğimiz zaman izleyebiliriz. Daha fazla düğüm ekleyebilir ve kodda benzer değişiklikler yapabilirsiniz.
düğüm == 0 ise:
URL="https://api.thingspeak.com/update?api_key="+API_KEY+"&field1="+myNum1+"&field2="+myNum2 res=urequests.get(URL) print(res.text)
9. Adım: ThingSpeak IoT'yi kullanın
Adımlar:
- https://thingspeak.com/ adresinde bir hesap açın. Zaten bir tane varsa, doğrudan oturum açın.
- Yeni bir ThingSpeak kanalı oluşturmak için Yeni Kanal'a tıklayın.
- Giriş adı, Açıklama, Alan 1'i seçin. Ardından kanalı en alta kaydedin.
- API Anahtarları seçeneğine tıklayın, API Anahtarını kopyalayın, programda kullanacağız.
Adım 10: Sonuç
Aralarında 2 kilometre mesafe olmasına rağmen 0 ve 1 nolu düğümün verilerini ekranda görebilirsiniz.
ThingSpeak hesabınıza giriş yapın ve oluşturduğunuz kanala tıklayın, yüklenen sıcaklık ve nem verilerini görebilirsiniz.
alan1 grafiği ve alan2 grafikleri, Lora düğümü 0'ın nem ve sıcaklık verileridir ve alan3 grafiği ve alan4 grafiği, Lora düğümü 1'in nem ve sıcaklık verileridir.
Önerilen:
MuMo - LoRa Geçidi: 25 Adım (Resimlerle)
MuMo - LoRa Ağ Geçidi: ### GÜNCELLEME 10-03-2021 // en son bilgiler / güncellemeler github sayfasında bulunacaktır:https://github.com/MoMu-Antwerp/MuMoMoMo Nedir? ürün geliştirme (Anvers Üniversitesi'nin bir bölümü) altında
Lora Ağ Geçidi (Dragino LG01-P): 6 Adım
Lora Ağ Geçidi (Dragino LG01-P): LoRa es un kırmızı LPWAN, por sus siglas en inglés (DÜŞÜK GÜÇ GENİŞ ALAN AĞI). Enerjinin tüketilmesinin bir gereği değil, ideal para dispositivos IoT. Entre las aplicaciones más comunes se encuentran; Ciudades inteligentes, Tarım
LoRa Ağ Geçidi ESP8266 Arduino Kendin Yap: 5 Adım
LoRa Gateway ESP8266 Arduino DIY: Bu talimat, bir RFM95/96 radyo modülüyle birlikte bir ESP8266 kullanarak tüm dünya bölgeleri için The Things Network ile uyumlu bir LoRa Gateway oluşturmanıza yardımcı olacaktır. Çalışması için kaynak kodu da sağlanır ve entegre bir w ile birlikte gelir
ESP8266 Kalkanı Tabanlı Arduino için Seri UDP/IP Ağ Geçidi: 8 Adım
ESP8266 Kalkanına Dayalı Arduino için Seri UDP/IP Ağ Geçidi: 2016'da "Arduino'nuzu IP Ağına bağlamak için kendi Wifi ağ geçidinizi nasıl yapılır" talimatını zaten yayınladım. Bazı kod geliştirmeleri yaptığım için ve hala bu çözümü kullanıyorum. Yine de şimdi bazı ESP8266 kalkanları var
15$ LoRa Ağ Geçidi/Düğüm ESP8266 PCB Oluşturma 3cmX8cm Boyut: 6 Adım
15$ LoRa Ağ Geçidi/Düğüm ESP8266 PCB Oluştur 3cmX8cm Boyut: Hey, naber beyler? Akarsh burada CETech'ten.Bugün basit bir LoRa düğümü olan bir proje yapacağız ve bunu tek kanallı bir ağ geçidi olarak bile kullanabilirsiniz.Burada kullandığım mikrodenetleyici LoRa kartlarına bağlı ESP8266