Diese Codes wurden aus einem anderen Repository gesammelt, um ihre Verwendung zu verbessern, so dass das einzige Skript, das als Loraría.Py -Buchhandlung behandelt wird, im Laufe der Zeit verbessert wird. Referenz: https://github.com/lemariva/upylora
Im Repository finden Sie:
Codes: Enthält alle Skripte, die zur Verwendung des SX1276 -Chips verwendet werden
Conf_lora.py
Controller.py
Controller_esp32.py
Esp32lora.bin
Sx127x.py
Lora.py
Von denen wir uns konzentrieren, ist die von Lora.py, die die Klasse mit ihren Methoden hat und die Verwendung des Chips erleichtert. In diesem Fall wurde angegeben, dass die verwendete Frequenz 915 MHz beträgt, die in der Datei sx127x.py konfiguriert ist. Wenn eine andere Häufigkeit gewünscht wird, ist es erforderlich, dass sie im Skript geändert wird und die Rückgabe die erforderliche Skripte in das ESP bilden oder einfach eingeben muss.
Beispiele: Es enthält Beispiele dafür, wie die Klasse verwendet werden soll, um Daten zu senden und zu empfangen, zusätzlich zum Hochladen von Daten in einen Webdienst wie Ubidots.
Hauptsächlich wurde diese Datei so erstellt, dass sie sofort als LORA angegeben ist und alle erforderlichen Methoden zum Senden und Empfangen von Code haben. Die Stifte, die für die Kommunikation mit dem LORA -Chip verwendet werden, sind die gleichen in der Heltec- und TTGO -Dokumentation, die Entwicklungsplatten mit dem ESP32 -Mikrocontroller durch Hinzufügen eines SX127X -Chips mit Antenne erstellen. Dann finden Sie, wie Sie den Buchladen mit Ihren Methoden verwenden:
Das Skript enthält Lora, eine Klasse, um die Verwendung des SX127X -Chips zu initialisieren. Es kann wie folgt initialisiert werden:
from lora import LoRa
lora = LoRa ()
#si se desea un filtrado de los mensajes
lora = LoRa ( header = 'header' )Zusätzlich zum Empfang von periodischen Daten, die mit der Methode wait_msg () behandelt werden, kann eine Zeitspanne angegeben werden, sodass nach einer Nachricht wie lange nachgekommen ist, wie lange Sie bestehen möchten, bis Sie eine neue erhalten, wie folgt:
#sin header
lora = LoRa ( period = 2 )
#con header
lora = LoRa ( header = 'header' , period = 2 )Es ist die angegebene Methode zum Senden von Daten, so dass der erste Parameter darin besteht, festzustellen, dass Daten gesendet werden sollen, und der zweite, falls Sie mit einem bestimmten Header senden möchten.
#sin header especifico
lora . send ( 'hola' )
#con header especifico
lora . send ( 'hola' , spheader = 'headersp' )Die Variablen eines bestimmten Headers wurden hinzugefügt, falls es notwendig ist, eine Nachricht mit einem anderen oder bestimmten Header zu senden.
Wie ein Objekt von MQTT für ein Abonnement verwenden wir dasselbe Konzept für Rückrufe, sodass das Objekt von Lora festgelegt ist, dass die Funktion ausgeführt werden soll, wenn eine Nachricht eintrifft:
#cb corresponde al nombre de la funcion usada como callback
#que debe tener como parametro una variable que sera el mensaje
lora . set_callback ( cb ) lora . wait_msg ()Sobald unser Rückruf bereits angegeben ist, ist Wait_MSG für die eingehenden Nachrichten verantwortlich und unser Rückruf wird im Hintergrund ausgeführt. Für den Fall, dass beim Instantieren der Lora -Klasse ein Wert für die Periodenvariable angegeben wird, sobald eine Nachricht empfangen wird, wird die angegebene Zeit (in Sekunden) bestehen, sodass eine andere Nachricht akzeptiert wird.
lora . receive_msg ()Ähnlich wie Wait_msg () ist es verantwortlich, eine Nachricht zu einem bestimmten Zeitpunkt zu empfangen, nur einmal und der Rückruf wird ausgeführt, wenn die Nachricht eintrifft.
Upylora von Steven Silva ist unter einer Creative Commons Recognition-Compartyrigual 4.0 International Lizenz lizenziert.
Erstellt aus der Arbeit unter https://github.com/lemariva/upylora.