Skip to content

prohazko2/lorawan-send-payload

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LoRaWAN Send Payload

Простой симулятор устройства LoRaWAN Class A с OTAA активацией.

Требования

  • Node.js >= 22.0.0

⚠️ Для выполнения TypeScript без компиляции используется флаг --experimental-strip-types.
Этот флаг является экспериментальным и может измениться в будущих версиях Node.js

Установка

npm install

Настройка

  1. Скопируйте файл конфигурации config.example.json:
cp config.example.json config.json
  1. Отредактируйте config.json:
{
  "gatewayHost": "dev.rightech.io",
  "gatewayPort": 1700,
  "gatewayEUI": "0000000000000000",
  "devEUI": "0000000000000001",
  "appKey": "00000000000000000000000000000000",
  "frequencyPlan": "RU864",
  "uplinkFPort": 1,
  "uplinkInterval": 60000
}

Параметры конфигурации

  • gatewayHost - адрес LoRaWAN gateway
  • gatewayPort - порт LoRaWAN gateway (обычно 1700)
  • gatewayEUI - EUI шлюза в hex формате (16 символов, 8 байтов)
  • devEUI - EUI устройства в hex формате (16 символов, 8 байтов)
  • appKey - Application Key в hex формате (32 символа, 16 байтов)
  • uplinkFPort - FPort для uplink сообщений (по умолчанию, если не указан в uplink.ts)
  • uplinkInterval - интервал отправки uplink сообщений в миллисекундах
  • frequencyPlan - частотный план (RU864, EU868), остальные не проверялись
  • debug.udp - отладка UDP пакетов
  • debug.lora - отладка LoRaWAN пакетов

Запуск

npm start

Генерация uplink payload

Для использования собственного payload скопируйте файл uplink.example.ts:

cp uplink.example.ts uplink.ts

Далее редактируйте uplink.ts произвольным образом:

import type { UplinkMessage } from "./src/types.ts";

import { config } from "./src/config.ts";
import { deviceState } from "./src/device-state.ts";

export function generateUplink(): UplinkMessage {
  const t = +(Math.random() * 256 - 128).toFixed(0);
  const h = +(Math.random() * 100).toFixed(0);

  return {
    fPort: 2,
    payload: Buffer.from([t, h]),
  };
}

Лицензия

MIT

About

Простой симулятор устройства LoRaWAN `Class A` с `OTAA` активацией

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors