Dies ist ein nützliches Tool zum Testen von Lora Server.
Endgeräte (auch bekannt als Motes im Lorawan ™ -Protokoll) nachzuahmen
Unterstützen Sie Lorawan ™ 1.0.2 & 1.1 Protokoll
Verwenden von Gateways von Semtech ™
Verwenden Sie pip , um lora-mote-emulator zu installieren:
PIP Installieren Sie den Lora-Mote-Emulator
Verwenden Sie pip , um pipenv zu installieren:
PIP Installieren Sie Pipenv
Klonen Sie dieses Repo in ein Verzeichnis:
Git Clone https://github.com/houluy/lora-mote-emulator.git
Verwenden Sie pipenv , um eine virtuelle Python -Umgebung zu erstellen und alle Abhängigkeiten zu installieren:
Pipenv Installation
Bauen Sie das Projekt auf:
Python -m Build
Wenn in Ihrem System keine Python 3.6 enthält, wird eine Warnung stattfinden, und es wird kein Paket installiert. Es ist perfekt, um Python 3.6 aus der Quelle zu installieren. Andernfalls entfernen Sie die Pipfile.lock und ernten Sie den obigen Befehl.
pipenv shell einmote -h aus, um die Hilfebotschaft zu sehen Verwendung: MOTE [-H] [-V-Version] [-c-Konfiguration] [-Model Modell]
{Join, App, Pull, Mac, wieder anschließen, info, ABP, erstellen} ...
Werkzeug zur Emulierung von Lora Mote (auch bekannt als Endentrübchen) und Gateway, unterstützter Befehl
Liste: ['Join', 'App', 'Pull', 'Mac', 'Rejoin', 'Info', 'ABP', 'erstellen']
Optionale Argumente:
-h, -HELP Zeigen Sie diese Hilfsnachricht an und beenden Sie
-V -Version, --version Version
Wählen Sie Lorawan Version, 1.0.2 oder 1.1 (Standard)
-c config, - -config config
Geben Sie das Verzeichnis von Konfigurationsdateien an, Standardeinstellung
'./config'
-Modellmodellmodell Geben Sie das Verzeichnis an, um die Modelldatei zu speichern, Standardeinstellung
'./models' '
Unterstützte Befehle:
{Join, App, Pull, Mac, Rejoin, Info, ABP, erstellen}
Join Join -Anfrage.
App senden Anwendungsdaten.
Pull senden Pull_Data.
Mac Senden Sie MacCommand.
Rejoin Senden Sie eine Rejoin -Anfrage.
Info Informationen von Current Mote anzeigen.
ABP initialisieren Sie Mote im ABP -Modus.
Griffkonfigurationen erstellen.
mote create [-c ./config] erstellen. MOTE generiert die erforderlichen Konfigurationsvorlage JSON -Dateien im Verzeichnis ./Config (Standard). Im Verzeichnis sind mehrere JSON -Konfigurationsdateien enthalten.config.json : grundlegende Konfigurationen.gateway.json : Gateway EUI.device.json : Geräteparameter für den OTAA -Modus.abp.json : Geräteparameter für den ABP -Modus. Ändern Sie die Gerätefomation in device.json kopiert. Ein Beispiel:
{
"Gerät": {
"Joineui": "0000000000000000",
"Deveui": "0000000000000000"
},
"RootKeys": {
"Apfel": "000000000000000000000000000000",
"NWKKEY": "000000000000000000000000000000"
}
}
Hinweis : Wenn Sie das Lorawan 1.0 -Gerät emulieren möchten, setzen Sie JoinEUI zuerst gleich AppEUI und setzen Sie NwkKey in Höhe von AppKey .
Ändern Sie die Geräteaktivierungsinformationen in abp.json . Ein Beispiel:
{
"Deveui": "0000000000000000",
"Joineui": "0000000000000000",
"Devaddr": "00000000",
"Apfel": "000000000000000000000000000000",
"NWKKEY": "000000000000000000000000000000",
"Nwkenckkey": "000000000000000000000000000000",
"SnwkSintkey": "000000000000000000000000000000",
"fnwkStkey": "000000000000000000000000000000",
"Appskey": "000000000000000000000000000000",
"fcntup": 0,,
"Version": "1.1"
}
Derzeit werden fünf Arten von Nachrichten unterstützt: Daten ziehen, Anfrage anschließen, Anforderung, bestätigte (oder unbestätigte) Daten (mit oder ohne FOPTS) und MAC -Befehle im Feld von Frmpayload aufnehmen:
Hinweis : Denken Sie immer daran, mote pull um das Gateway auf dem Server am Leben zu erhalten.
Mote Info Mote ziehen Mote ABP Mote Join [-n] Mote rejoin 'Rejointyp' (0, 1, 2) Die MOTE-App 'Nachricht' (UPLINK-Nachricht, wird von UTF-8 codiert) [-AUF] MOTE MAC 'Befehl' (MAC -Befehle im Feld frmpayload)
Hier ist der Beispielschritt der Interaktion mit Chirpstack:
Mote ziehen Mote Join -n Mote App HelloWorld -f 0302 Mote main.py mac 0302
Dieses Repo wird unter https://github.com/houluy/lora-motes-emulator gehostet und unter MIT-Lizenz ist ein Beitrag oder Vorschlag willkommen. Öffnen Sie einfach ein Problem oder senden Sie eine Pull -Anfrage.