Это полезный инструмент для тестирования сервера LORA.
Для эмуляции конечных устройств (он же Motes в протоколе Lorawan ™)
Поддержка протокола Lorawan ™ 1.0.2 и 1.1
Использование шлюзов из Semtech ™
Используйте pip , чтобы установить lora-mote-emulator :
PIP установить Lora-Mote-Emulator
Используйте pip , чтобы установить pipenv :
PIP установить Pipenv
Клонировать это репо в каталог:
git clone https://github.com/houluy/lora-mote-emulator.git
Используйте pipenv , чтобы создать виртуальную среду Python и установить все зависимости:
PIPENV УСТАНОВКА
Создайте проект:
Python -m Build
Здесь, если в вашей системе нет Python 3.6, произойдет предупреждение, и пакет не будет установлен. Он идеально подходит для установки Python 3.6 из Source. В противном случае удалите Pipfile.lock и повторите вышеуказанную команду.
pipenv shellmote -h чтобы увидеть помощь справочника Использование: Mote [-h] [-v версия] [-c config] [-Модель модели]
{Join, App, Pull, Mac, вернуть, Info, ABP, Create} ...
Инструмент для эмуляции Лора Моте (он же конечный девис) и шлюз, поддерживаемая команда
СПИСОК: ['Join', 'app', 'ull', 'mac', 'rejoin', 'info', 'abp', 'create']
Необязательные аргументы:
-h, -help показывать это сообщение справки и выход
-v версия, версия -версия
Выберите версию Lorawan, 1.0.2 или 1.1 (по умолчанию)
-c config, -config config
Укажите каталог файлов конфигурации, по умолчанию
'./config'
-Модель модели Укажите каталог для сохранения файла модели, по умолчанию
'./models'
Поддерживаемые команды:
{Join, App, Pull, Mac, вернуть, Info, ABP, Create}
Присоединяйтесь к отправке JOIN ESTSE.
Приложение Отправить данные приложения.
Вытащите Send Pull_Data.
Mac Отправить MacCommand.
Вновь отправить запрос на возвращение.
Информация Покажите информацию о текущем моте.
ABP инициализируйте MOTE в режиме ABP.
Создать конфигурации ручки.
mote create [-c ./config] . MOTE будет генерировать необходимые файлы json в каталоге ./config (по умолчанию). В каталог включены несколько файлов конфигурации JSON.config.json : базовые конфигурации.gateway.json : Gateway Eui.device.json : параметры устройства для режима OTAA.abp.json : параметры устройства для режима ABP. Измените инфомацию устройства в device.json скопировано. Пример:
{
"Устройство": {
"Joineui": "0000000000000000",
"DeVeui": "0000000000000000"
},
"RootKeys": {
"Appkey": "0000000000000000000000000000000000",
"NWKKEY": "00000000000000000000000000000000"
}
}
Примечание . Если вы хотите подражать устройству Lorawan 1.0, сначала установите JoinEUI равный AppEUI и установите NwkKey , равную AppKey .
Изменить информацию об активации устройства в abp.json . Пример:
{
"DeVeui": "000000000000000000",
"Joineui": "0000000000000000",
"Devaddr": "00000000",
"Appkey": "0000000000000000000000000000000000",
"NWKKEY": "00000000000000000000000000000000",
"Nwksenckey": "00000000000000000000000000000000",
"SnwksintKey": "00000000000000000000000000000000",
"fnwksintkey": "00000000000000000000000000000000",
"Appskey": "0000000000000000000000000000000000",
"fcntup": 0,
"Версия": "1.1"
}
В настоящее время поддерживаются пять видов сообщений: потянуть данные, запрос на соединение, запрос на возврат, подтвержденные (или неподтвержденные) данные (с или без FOPT) и команды MAC в поле FRMPayload:
ПРИМЕЧАНИЕ . Всегда не забудьте mote pull чтобы сохранить шлюз живым на сервере.
Информация о моте вытянуть Mote Abp Mote присоединиться [-n] Моте вернуть "rejointyp '(0, 1, 2) Mote App 'Message' (сообщение о восходящей линии связи будет кодируется UTF-8) [-auf] Mote Mac 'Command' (MAC Команды в поле FRMPayload)
Вот пример шага взаимодействия с chirpstack:
вытянуть Mote Join -n Mote App Helloworld -f 0302 Mote Main.py Mac 0302
Это репо размещено на https://github.com/houluy/lora-motes-emulator, а по лицензии MIT, любой вклад или предложение приветствуются. Просто откройте проблему или отправьте запрос на привлечение.