Esta é uma ferramenta útil para testar o servidor Lora.
Para emular dispositivos finais (também conhecido como Motes no protocolo Lorawan ™)
Suporte Lorawan ™ 1.0.2 e 1.1 Protocolo
Usando gateways de semtech ™
Use pip para instalar lora-mote-emulator :
PIP Instale o Lora-Mote-Emulator
Use pip para instalar pipenv :
pip install pipenv
Clone este repositório em um diretório:
Git clone https://github.com/houluy/lora-mote-emulator.git
Use pipenv para criar um ambiente Python virtual e instalar todas as dependências:
Instalação de Pipenv
Construa o projeto:
Python -m Build
Aqui, se não houver Python 3.6 no seu sistema, ocorrerá um aviso e nenhum pacote será instalado. É perfeito instalar o Python 3.6 a partir da fonte. Caso contrário, remova o Pipfile.lock e refaça o comando acima.
pipenv shellmote -h para ver a mensagem de ajuda Uso: mote [-h] [-v versão] [-c config] [-modelo model]
{Join, app, pule, Mac, junte -se, informações, abp, crie} ...
Ferramenta para imitar Lora Mote (também conhecida como Device End) e Gateway, comando apoiado
Lista: ['Join', 'App', 'Pull', 'Mac', 'Reconce', 'Info', 'ABP', 'Create']
Argumentos opcionais:
-h, --help Mostra esta mensagem de ajuda e saída
-v versão, -versão
Escolha a versão de Lorawan, 1.0.2 ou 1.1 (padrão)
-C Config, -Config Config
Especifique o diretório de arquivos de configuração, padrão
'./config'
-Modelo de modelo especifique o diretório para salvar o arquivo de modelo, padrão
'./Models'
Comandos suportados:
{Join, app, pule, Mac, junte -se, informações, abp, crie}
Junte -se a solicitação de junção de envio.
App Enviar dados do aplicativo.
Pull Send Pull_Data.
Mac Envie MacCommand.
junte -se ao envio de juntas.
Informações mostram informações do mote atual.
ABP Inicialize o MOTE no modo ABP.
Crie configurações de manipulação.
mote create [-c ./config] . O Mote gerará arquivos JSON de configuração necessários no diretório ./config (padrão). No diretório, vários arquivos de configuração JSON estão incluídos.config.json : configurações básicas.gateway.json : gateway eui.device.json : parâmetros do dispositivo para o modo OTAA.abp.json : Parâmetros do dispositivo para o modo ABP. Modifique a infomação do dispositivo no device.json copiado. Um exemplo:
{
"Dispositivo": {
"JOINEUI": "0000000000000000",
"Deveui": "0000000000000000"
},
"Rootkeys": {
"AppKey": "000000000000000000000000000000000000",
"NWKKEY": "000000000000000000000000000000000000"
}
}
NOTA : Se você deseja imitar o dispositivo Lorawan 1.0, primeiro defina JoinEUI igual a AppEUI e defina NwkKey igual ao AppKey .
Modifique as informações de ativação do dispositivo em abp.json . Um exemplo:
{
"Deveui": "0000000000000000",
"JOINEUI": "0000000000000000",
"Devaddr": "00000000",
"AppKey": "000000000000000000000000000000000000",
"NWKKEY": "000000000000000000000000000000000000",
"NWKSENCKEY": "000000000000000000000000000000000000",
"SNWKSINTKEY": "000000000000000000000000000000000000",
"FNWKSINTKEY": "0000000000000000000000000000000000",
"Appskey": "000000000000000000000000000000000000",
"fcntup": 0,
"versão": "1.1"
}
Atualmente, cinco tipos de mensagem são suportados: Puxe dados, junte a solicitação, junte a solicitação, confirmado (ou não confirmado) dados (com ou sem foptas) e comandos MAC no campo FRMPayload:
NOTA : Lembre -se sempre de fazer mote pull para manter o gateway vivo no servidor.
Informações de mote MOTE PULL Mote ABP MOTE JONE [-N] Mote rejeita -se 'rento' (0, 1, 2) App mote 'mensagem' (mensagem uplink, será codificada pelo UTF-8) [-auf] Mote Mac 'Comando' (comandos Mac no campo FRMPAYLOAD)
Aqui está o exemplo de etapa da interação com Chirpstack:
MOTE PULL MOTE JONE -N MOTE APP HELLOWORLD -F 0302 mote main.py Mac 0302
Este repositório está hospedado em https://github.com/houluy/lora-motes-emulator e sob licença do MIT, qualquer contribuição ou sugestão é bem-vindo. Basta abrir um problema ou enviar uma solicitação de tração.