Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-23 12:52
Lora war in den letzten Jahren sehr beliebt. Das drahtlose Kommunikationsmodul, das diese Technologie verwendet, ist in der Regel billig (mit freiem Spektrum), klein, energieeffizient und hat eine große Kommunikationsentfernung und wird hauptsächlich für die gegenseitige Kommunikation zwischen IoT-Terminals oder den Datenaustausch mit einem Host verwendet. Es gibt viele LoRa-Module auf dem Markt, wie zum Beispiel RFM96W, das mit einem SX1278 (kompatiblen) Chip ausgestattet ist, der sehr klein ist. Ich verwende es mit MakePython ESP32 als Gateway.
Als nächstes werde ich zwei LoRa-Knoten verwenden, um die Temperatur- und Feuchtigkeitsdaten an das Gateway zu senden und sie dann über das Gateway in das Internet hochzuladen. Hier erfahren Sie, wie Sie Remote-Daten mehrerer LoRa-Knoten über das Gateway in die Cloud hochladen.
Schritt 1: Zubehör
1*MakePython ESP32
MakePython ESP32 ist ein ESP32-Board mit integriertem SSD1306-OLED-Display.
2 * Maduino LoRa-Radio
Maduino Lora Radio ist eine IoT-Lösung (Internet of Things), die auf der Atmega328P-MCU und dem Lora-Modul von Atmel basiert. Es kann ein echtes Projekt für IoT-Projekte sein (insbesondere Langstreckenanwendungen mit geringem Stromverbrauch)
2 * DHT11
1*MakePython Lora
Schritt 2: LoRa-Knoten
Dies ist der Schaltplan von Maduino Lora Radio.
Arduino Lora Radio-Modul als LoRa-Knoten verwenden wir es, um Temperatur- und Feuchtigkeitsdaten an das Gateway zu senden.
(Dieses WiKi stellt vor, wie man Maduino Lora Radio benutzt und Daten sendet und empfängt)
Schritt 3: Knoten- und Sensorverbindung
Der VCC und GND von DHT11 sind mit 3V3 und GND von Maduino verbunden, und der DATA-Pin ist mit D4 von Maduino verbunden.
Node 0 ist im Park, Node 1 ist im Bürogebäude in der Nähe der Firma, sie sind etwa 2 Kilometer voneinander entfernt, und dann bekomme ich ihre Temperatur- und Feuchtigkeitsdaten zu Hause
Schritt 4: Daten an das Gateway senden
Laden Sie TransmitterDHT11.ino herunter und öffnen Sie es in der Arduino IDE.
Ändern Sie beim Hinzufügen eines Knotens die Knotennummer entsprechend. Verwenden Sie nun beispielsweise 2 Knoten, den ersten Knoten zum Ändern von Knoten = 0 zum Ausführen des Programms, den zweiten Knoten zum Ändern von Knoten = 1 zum Ausführen des Programms usw. Sie können weitere Knoten hinzufügen.
int16_t Paketnum = 0; // Paketzähler, wir inkrementieren pro xmission
int16_t Knoten = 0; //Ändere die Knotennummer
Daten sammeln und ausdrucken
String message ="#"+(String)nodenum+" Humidity:"+(String)humidity+"% Temperature:"+(String)temperature+"C"+" num:"+(String)packetnum;Serial.println(message); Paketnum++;
Senden Sie eine Nachricht an 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);
Öffnen Sie den seriellen Monitor, Sie können die gesammelten Temperatur- und Feuchtigkeitsdaten sehen und versenden.
#0 Feuchtigkeit:6.00% Temperatur:27.00C Num:0
Senden: Senden an rf95_server Senden… Warten auf Paketabschluss… Warten auf Antwort… Keine Antwort, ist ein Listener in der Nähe?
Legen Sie es beiseite, jetzt müssen wir das Lora-Gateway bauen.
Schritt 5: MakePython Lora
Dies ist der entsprechende Pin des RFM96W-Moduls und MakePython ESP32. Um die Verbindung mit MakePython ESP32 zu erleichtern, habe ich eine Platine mit dem RFM96W-Modul erstellt. Ja, es sind zwei RFM96W drauf, die gleichzeitig Daten senden und empfangen können, aber jetzt brauche ich nur noch einen.
Schritt 6: LoRaWAN-Gateway
LoRaWAN ist ein Low-Power-Wide-Area-Netzwerk auf Basis von LoRa, das Folgendes bieten kann: geringer Stromverbrauch, Skalierbarkeit, hohe Servicequalität und sicheres drahtloses Langstreckennetzwerk.
Stellen Sie MakePython Lora und ESP32 zusammen, um ein Gateway zu erstellen, das Remote-Daten empfangen und in das Internet hochladen kann.
Schritt 7: Code herunterladen
Laden Sie alle 'xxx.py'-Dateien von WiKi herunter und laden Sie sie auf ESP32 hoch.
Öffnen Sie die Datei LoRaDuplexCallback.py. Sie müssen einige Anpassungen vornehmen, damit sich Ihr ESP32 mit dem Netzwerk verbinden und Daten auf den Server hochladen kann.
Ändern Sie den API_KEY, den Sie in ThingSpeak erhalten haben (ich werde später vorstellen, wie Sie ihn erhalten)
#https://thingspeak.com/channels/1047479
API_KEY='UBHIRHVV9THUJVUI'
Ändern Sie SSID und PSW, um WLAN zu verbinden
ssid = "Makerfabs"
pswd = "20160704"
Schritt 8: Daten empfangen
Suchen Sie die Funktion on_receive (lora, payload) in der Datei LoRaDuplexCallback.py, in der Sie ESP32 mitteilen können, was nach dem Empfang der Daten zu tun ist. Der folgende Code analysiert und zeigt die empfangenen Temperatur- und Feuchtigkeitsdaten an.
def on_receive(lora, Nutzlast):
lora.blink_led() rssi = lora.packetRssi() try: length=len(payload)-1 myStr=str((payload[4:length]), 'utf-8') length1=myStr.find(':') myNum1=myStr[(length1+1):(length1+6)] myNum2=myStr[(length1+20):(length1+25)] print("*** Empfangene Nachricht ***\n{}". format(payload)) if config_lora. IS_LORA_OLED: lora.show_packet(("{}".format(payload[4:length])), rssi) if wlan.isconnected(): global msgCount print('An Netzwerk senden…') node = int(str(payload[5:6], 'utf-8')) if node == 0: URL="https://api.thingspeak.com/update?api_key="+API_KEY+"&field1= "+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) außer Ausnahme als e: print(e) print("with RSSI {}\n".format(rssi))
Durch die Beurteilung der Anzahl zur Unterscheidung der Knoten und das Hochladen der Daten in das Internet über die URL können wir die Remote-Daten verschiedener Knoten jederzeit überwachen. Sie können weitere Knoten hinzufügen und ähnliche Änderungen am Code vornehmen.
wenn Knoten == 0:
URL="https://api.thingspeak.com/update?api_key="+API_KEY+"&field1="+myNum1+"&field2="+myNum2 res=urequests.get(URL) print(res.text)
Schritt 9: Verwenden Sie ThingSpeak IoT
Schritte:
- Registrieren Sie ein Konto bei https://thingspeak.com/. Wenn Sie bereits eine haben, melden Sie sich direkt an.
- Klicken Sie auf Neuer Kanal, um einen neuen ThingSpeak-Kanal zu erstellen.
- Name, Beschreibung, Feld auswählen eingeben 1. Anschließend den Kanal unten speichern.
- Klicken Sie auf die Option API-Schlüssel, kopieren Sie den API-Schlüssel, wir werden ihn im Programm verwenden.
Schritt 10: Ergebnis
Sie können die Daten von Knoten 0 und Knoten 1 auf dem Bildschirm sehen, obwohl sie 2 Kilometer voneinander entfernt sind.
Melden Sie sich bei Ihrem ThingSpeak-Konto an und klicken Sie auf den von Ihnen erstellten Kanal. Sie können die hochgeladenen Temperatur- und Luftfeuchtigkeitsdaten sehen.
Das Feld 1-Diagramm und das Feld 2-Diagramm sind die Feuchtigkeits- und Temperaturdaten des Lora-Knotens 0, und das Feld 3-Diagramm und das Feld4-Diagramm sind die Feuchtigkeits- und Temperaturdaten des Lora-Knotens 1.
Empfohlen:
Ein kostengünstiger IoT-Luftqualitätsmonitor basierend auf RaspberryPi 4: 15 Schritte (mit Bildern)
Ein kostengünstiger IoT-Luftqualitätsmonitor auf Basis von RaspberryPi 4: Santiago, Chile, hat während eines winterlichen Umweltnotstands das Privileg, in einem der schönsten Länder der Welt zu leben, aber leider sind es nicht nur Rosen. Chile leidet während der Wintersaison sehr unter Luftverschmutzung, Mai
So kopieren Sie Spielstände auf einfache Weise auf eine Microsoft- oder Drittanbieter-MU.: 9 Schritte
So kopieren Sie Spielstände einfach auf eine Microsoft- oder Drittanbieter-MU.: Original-Tutorial HIER CD, die es einfach macht, genau das zu tun. Dies ist kein vollständiges Softmod-Tutorial, dies
Wie zeichne ich einen Computerbildschirm auf einem Mac auf?: 7 Schritte
Wie zeichne ich den Computerbildschirm auf dem Mac auf?: Wie zeichne ich den Bildschirm auf dem Mac auf? Wollten Sie schon immer etwas aufzeichnen, was auf Ihrem Computer oder Telefon passiert? Vielleicht sehen Sie sich ein Video an und möchten einen Clip aufnehmen; Vielleicht versuchst du jemandem zu zeigen, wie man etwas macht, und ein Video würde es schaffen
Stativ-Kopf auf Einbeinstativ-Kopf Adapter auf 43 Cent. Wörtlich.: 6 Schritte
Stativ-Kopf auf Einbeinstativ-Kopf Adapter auf 43 Cent. Wörtlich.: Kurze Version meiner Geschichte: Ich habe eine Kamera gekauft, sie kam mit einem Bündel an Zubehör, darunter ein Samsonite 1100 Stativ. Ich habe ein Einbeinstativ. Ich möchte sehr bald Fotos mit einem Schwenkkopf auf dem Einbeinstativ machen und hatte keine 40 $, um ein L
Laptopständer (basierend auf IKEA Halterungen): 5 Schritte
Laptopständer (basierend auf IKEA Brackets): Die Erstellung dieses Ständers dauerte weniger als 20 Minuten. Ich habe zwei Halterungen VALTER aus IKEA Stück Holz, 2 Schrauben und altes Mauspad verwendet