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&req=868800000&req=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
Запрос:
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 } |