API - методы модуля gateway
Модуль gateway выполняет функции NB-Fi базовой станции. Данный HTTP API-интерфейс предоставляет доступ к модулю gateway для администрирования и мониторинга базовой станции. Данные методы доступны как при подключении непосредственно к сетевому интерфейсу БС, так и на API – сервере http://api.waviot.ru
Таблица 1. Сводная таблица всех API методов модуля gateway
Описание | URL | Метод | Требует авторизацию, роль |
/gateway/localid | GET | да, guest | |
/gateway/read_params | GET | да, guest | |
/gateway/write_params | GET | да, admin | |
/gateway/gps | GET | да, admin | |
/gateway/time | GET | да, admin | |
/gateway/messages | GET | да, guest | |
/gateway/alarms | GET | да, guest | |
/gateway/network | GET | да, admin | |
/gateway/reboot | GET | да, admin |
Чтение номера БС
Чтение номера базовой станции.
Запрос:
URL | Список параметров | Пример запроса |
/gateway/localid | /gateway/localid |
Ответ:
BODY |
{ "id": 9450} |
Чтение всех значений параметров БС, включая последний хартбит, содержащий текущее состояние базовой станции
Запрос:
URL | Список параметров | Пример запроса |
/gateway/read_params | id | /gateway/read_params?id=9450 |
Ответ:
BODY |
{ "bs_id": 9450, "dl_freq": 446000000, "dl_freq2": 864000000, "last_hb": { "artix_rev": 274, "artix_rev_date": "Mar 21 2018 17:08:09", "ax_rev": "ax.3", "beat_id": 438, "bs3_state": 15, "bswin_rev": "2.8.6", "bswin_rev_date": "Jul 4 2019 15:49:23", "dl_base_freq": [ 446000000, 864000000 ], "dl_bitrates": [ 10, 11, 12, 13, 0, 1, 2, 3 ], "msg_type": "beat_nbfi", "receiver_0": { "busyness": 11.678138732910156, "busyness_aver": 2.8512070178985596, "noise": -154.0449676513672, "transmitter": 1 }, "ssh_connection": true, "station_id": 9450, "temperature": 80.0999984741211, "time_published": 1561998861, "ul_bitrates": [ 20, 21, 23, 24, 26, 29 ] }, "logoffset": 220, "mode": "USPD", "nbfi_time_sync": false, "ntp": false, "result": false, "send_dl": true, "ul_freq": 868800000 } |
Изменение значений параметров БС
Запрос:
URL | Список параметров | Пример запроса |
/gateway/write_params | id, ul_freq, dl_freq, dl_freq2, ext_filter, one_sec_pulse_tester, meslog_ttl, mode,nbfi_time_sync,ntp | /gateway/write_params?id=9450&ul_freq=868800000&dl_freq=446000000 |
Ответ:
BODY |
{ "result": true } |
Описание параметров БС
Имя параметра | Тип | Описание | Значение по умолчанию |
id | int | номер БС | обязательный параметр |
ul_freq | int | базовая частота приема (диапазон 1), Гц | нет |
ul_freq2 | int | базовая частота приема (диапазон 2), Гц | нет |
dl_freq | int | базовая частота передачи (диапазон 1), Гц | нет |
dl_freq2 | int | базовая частота передачи (диапазон 2), ГЦ | нет |
ext_filter | bool | вкл/выкл внешний приемный фильтр | нет |
one_sec_pulse_tester | bool | вкл/выкл режим поверки часов | нет |
meslog_ttl | int | время жизни лога UL и DL пакетов, сек | Нет |
mode | string | режим работы – текстовый параметр, сохраняемый в файле конфигурации БС | нет |
nbfi_time_sync | bool | вкл/выкл синхонизацию системного времени от NB-Fi сервера | нет |
ntp | bool | вкл/выкл синхонизацию системного времени через службу NTP | нет |
Конфигурирование GPS
Чтение координат GPS
Запрос:
URL | Список параметров | Пример запроса |
/gateway/gps | id | /gateway/gps?id=9450 |
Ответ:
BODY |
{ "latitude": 56.414298, "longitude": 37.543753, "result": true } |
Изменение значений параметров GPS
Запрос:
URL | Список параметров | Пример запроса |
/gateway/gps | id, ntp | /gateway/gps?id=9450&ntp=true |
Ответ:
BODY |
{ "result": true } |
Описание параметров GPS
Имя параметра | Тип | Описание | Значение по умолчанию |
id | int | номер БС | обязательный параметр |
ntp | bool | вкл/выкл синхронизацию времени от GPS | нет |
Чтение текущего времени
Запрос:
URL | Список параметров | Пример запроса |
/gateway/time | id | /gateway/time?id=9450 |
Ответ:
BODY |
{ "result": true, "timestamp": 1544609726 } |
Установка текущего времени
Запрос:
URL | Список параметров | Пример запроса |
/gateway/time | id, utc | /gateway/time?id=9450&utc=1544609726 |
Ответ:
BODY |
{ "result": true } |
Включение или отключение системной синхронизации времени
Запрос:
URL | Список параметров | Пример запроса |
/gateway/time | id, ntp | /gateway/time?id=9450&ntp=false |
Ответ:
BODY |
{ "result": true } |
Чтение списка UL и DL пакетов БС
Позволяет получить список всех пакетов, принятых и отправленных базовой станцией за последние
meslog_ttl секунд.
Запрос:
URL | Список параметров | Пример запроса |
/gateway/messages | id, from, to, ids, types, limit | /gateway/messages?id=9450&ids=7520047&types=0,1&limit=3 |
Ответ:
BODY |
[ { "freq": 868822400, "iterator": 25, "modem_id": 7520047, "offset": 900, "payload": "E07DFB594AA5067B", "phy": "UL_DBPSK_3200_PROT_D", "rssi_or_pwr": -79, "snr": 59, "time_saved": 1544620282429, "type": "UL" }, { "freq": 868790400, "iterator": 24, "modem_id": 7520047, "offset": 700, "payload": "C0F683B9B904716D", "phy": "UL_DBPSK_3200_PROT_D", "rssi_or_pwr": -76, "snr": 59, "time_saved": 1544620281111, "type": "UL" }, { "freq": 446054556, "iterator": 24, "modem_id": 7520047, "offset": 0, "payload": "72372DFA7956257FB412", "phy": "DL_PSK_FASTDL", "rssi_or_pwr": 26, "snr": 0, "time_saved": 1544620280855, "type": "DL" } ] |
Описание параметров запроса
Имя параметра | Тип | Описание | Значение по умолчанию |
id | int | номер БС | обязательный параметр |
from | int | таймстамп времени начала данных | 0 |
to | int | таймстамп времени окончания данных | текущее время |
ids | int,int | список номеров устройств (разделитель запятая) | все номера |
types | int,int | список типов пакетов (разделитель запятая), 0 – UL, 1- DL | все типы |
limit | int | ограничение количества пакетов | 1000 |
Позволяет получить лог ошибок базовой станции.
Запрос:
URL | Список параметров | Пример запроса |
/gateway/alarms | id, from, to, limit, clear | /gateway/alarms?id=9450&ids=7520047&limit=3 |
Ответ:
BODY |
[ { "alarm_code": 3, "alarm_text": "Gateway state changed: from 13 to 15", "id": 283, "time_saved": 1544605471654, "value": 15.013 }, { "alarm_code": 3, "alarm_text": "Gateway state changed: from 15 to 13", "id": 282, "time_saved": 1544605261710, "value": 13.015 }, { "alarm_code": 3, "alarm_text": "Gateway state changed: from 13 to 15", "id": 281, "time_saved": 1544533171659, "value": 15.013 }, { "alarm_code": 3, "alarm_text": "Gateway state changed: from 5 to 13", "id": 280, "time_saved": 1544533141669, "value": 13.005 }, { "alarm_code": 5, "alarm_text": "Connected to server", "id": 279, "time_saved": 1544533087683 } ] |
Описание параметров запроса
Имя параметра | Тип | Описание | Значение по умолчанию |
id | int | номер БС | обязательный параметр |
from | int | таймстамп времени начала данных | 0 |
to | int | таймстамп времени окончания данных | текущее время |
limit | int | ограничение количества пакетов | 1000 |
clear | bool | true - очистить лог ошибок | false |
Конфигурирование настроек подключения TCP/IP
Чтение текущих настроек
Запрос:
URL | Список параметров | Пример запроса |
/gateway/network | id | /gateway/network?id=9450 |
Ответ:
BODY |
{ "address": "192.168.0.144", "gateway": "192.168.0.255", "iface": "static", "netmask": "255.255.255.0", "result": true } |
Изменение настроек подключения
Запрос:
URL | Список параметров | Пример запроса |
/gateway/network | id, iface, address, gateway, netmask | /gateway/network?id=9450 &iface=static&address=192.168.0.144&gateway=192.168.0.255&netmask=255.255.255.0 |
Ответ:
BODY |
{ "result": true } |
Описание параметров запроса
Имя параметра | Тип | Описание | Значение по умолчанию |
id | int | номер БС | обязательный параметр |
iface | string | dhcp либо static | обязательный параметр |
address | string | IP адрес БС | старое значение |
gateway | string | IP адрес шлюза по умолчанию | старое значение |
netmask | string | маска подсети | старое значение |
Запрос:
URL | Список параметров | Пример запроса |
/gateway/reboot | id | /gateway/reboot?id=9450 |
Ответ:
BODY |
{ "result": true } |