LoRaWAN: простой симулятор устройства и базовой станции
LoRaWAN Send Payload - простой симулятор устройства LoRaWAN класса A с поддержкой активации OTAA (Over-The-Air Activation).
Проект позволяет эмулировать работу LoRaWAN устройства, отправляя uplink сообщения на шлюз через протокол packet_forwarder.
Симулятор подключается к LoRaWAN шлюзу по UDP и выполняет простой цикл работы устройства:
- отправку Join Request
- получение Join Accept
- периодическую отправку данных
Требования
- Node.js >= 22.0.0
Запуск
npm install
cp config.example.json config.jsonОтредактируйте config.json и укажите параметры вашего шлюза и устройства:
{
"gatewayHost": "dev.rightech.io",
"gatewayPort": 1700,
"gatewayEUI": "0000000000000000",
"devEUI": "0000000000000001",
"appKey": "00000000000000000000000000000000",
"frequencyPlan": "RU864",
"uplinkFPort": 1,
"uplinkInterval": 60000
}Параметры devEUI, appKey, gatewayEUI, frequencyPlan должны совпадать с параметрами устройства в платформе:


Далее запускаем симулятор:
npm startВ случае успешного подключение увидим в консоли:
Sending Join Request...
✓ Device activated via OTAA
DevAddr: xxxxx
NwkSKey: xxxxxxxxxxxxxxxxxxxx
AppSKey: xxxxxxxxxxxxxxxxxxxx
TX_ACK sent successfully
Send uplink (FCnt: 0, FPort: 3, Freq: 864.1 MHz): hex: df19
Send uplink (FCnt: 1, FPort: 3, Freq: 864.1 MHz): hex: dd18
Send uplink (FCnt: 2, FPort: 3, Freq: 868.9 MHz): hex: dc17