Esta es una herramienta útil para probar el servidor Lora.
Para emular dispositivos finales (también conocido como motas en el protocolo Lorawan ™)
Apoyo al protocolo Lorawan ™ 1.0.2 y 1.1
Usando puertas de enlace de Semtech ™
Use pip para instalar lora-mote-emulator :
PIP Instale Lora-Mote-emulador
Use pip para instalar pipenv :
PIP Instalar Pipenv
Clonar este repositorio en un directorio:
clon git https://github.com/houluy/lora-mote-emulator.git
Use pipenv para crear un entorno virtual de Python e instalar todas las dependencias:
instalación de pipenv
Construye el proyecto:
Python -M construcción
Aquí, si no hay Python 3.6 en su sistema, se producirá una advertencia y no se instalará ningún paquete. Es perfecto para instalar Python 3.6 desde la fuente. De lo contrario, elimine el Pipfile.lock y rehace el comando anterior.
pipenv shellmote -h para ver el mensaje de ayuda Uso: MOTE [-H] [-V Versión] [-c config] [-Modelo-Model]
{unirse, aplicar, prensa, mac, unirse, información, ABP, Crear} ...
Herramienta para emular Lora Mote (también conocido como dispositivo final) y puerta de enlace, Comando admitido
Lista: ['Join', 'App', 'Pull', 'Mac', 'Reescip', 'Info', 'ABP', 'Crear']]
Argumentos opcionales:
-h, --help muestra este mensaje de ayuda y salida
-v versión, version versión
Elija la versión Lorawan, 1.0.2 o 1.1 (predeterminada)
-c config, -config -config
Especificar el directorio de los archivos de configuración, predeterminado
'./config'
-Modelo de modelo Especifique el directorio para guardar el archivo del modelo, predeterminado
'./models'
Comandos compatibles:
{unirse, aplicar, prensa, mac, unirse, info, ABP, Crear}
Únete a enviar solicitud de unión.
Aplicación Enviar datos de aplicación.
PUSL ENVIAR PULL_DATA.
Mac Enviar MacCommand.
Reescárselo Enviar solicitud de unir.
Información Muestra información de la mota actual.
ABP Inicializa MOTE en modo ABP.
Crear configuraciones de manejo.
mote create [-c ./config] . MOTE generará archivos JSON de plantilla de configuración requeridos en el directorio ./config (predeterminado). En el directorio, se incluyen varios archivos de configuración JSON.config.json : configuraciones básicas.gateway.json : Gateway EUI.device.json : parámetros del dispositivo para el modo OTAA.abp.json : Parámetros del dispositivo para el modo ABP. Modifique la infominación del dispositivo en device.json copiado. Un ejemplo:
{
"Dispositivo": {
"Joineui": "000000000000000000",
"Deveui": "000000000000000000"
},
"Keykeys": {
"AppKey": "000000000000000000000000000000000000",
"NWKKey": "000000000000000000000000000000000000"
}
}
NOTA : Si desea emular el dispositivo Lorawan 1.0, primero configure JoinEUI igual a AppEUI y establezca NwkKey igual a AppKey .
Modifique la información de activación del dispositivo en abp.json . Un ejemplo:
{
"Deveui": "000000000000000000",
"Joineui": "000000000000000000",
"Devaddr": "00000000",
"AppKey": "000000000000000000000000000000000000",
"NWKKey": "000000000000000000000000000000000000",
"nwksenckey": "000000000000000000000000000000000000",
"snwksintkey": "000000000000000000000000000000000000",
"fnwksintkey": "000000000000000000000000000000000000",
"AppSkey": "000000000000000000000000000000000000",
"fcntup": 0,
"Versión": "1.1"
}
Actualmente, se admiten cinco tipos de mensajes: Datos de extracción, solicitud de unión, solicitud de reincorporación, datos confirmados (o no confirmados) (con o sin FOPT) y comandos Mac en el campo FRMPayLoad:
Nota : Recuerde siempre mote pull para mantener la puerta de enlace viva en el servidor.
Información de mote push mote abp Mote únete [-n] Mote se reúne con 'rejoteo' (0, 1, 2) mote aplicación 'mensaje' (mensaje de enlace ascendente, estará codificado por UTF-8) [-uf] MOTE Mac 'comando' (comandos Mac en el campo FRMPayLoad)
Aquí está el paso de ejemplo de interacción con Chirpstack:
push mote unirse -n App Mote Helloworld -f 0302 Mote Main.py Mac 0302
Este repositorio está alojado en https://github.com/houluy/lora-motes-emulator y bajo la licencia MIT, cualquier contribución o sugerencia es bienvenida. Simplemente abra un problema o envíe una solicitud de extracción.