Перейти до вмісту

Налаштування

Читання налаштувань з активної або збереженої області.

  • Активна область: Поточні налаштування, з якими працює пристрій.
  • Збережена область: Налаштування, збережені в енергонезалежній пам’яті, які застосовуються при наступному запуску.

GET /api/settings/active/get/?key1&key2... GET /api/settings/saved/get/?key1&key2...

Рівень доступу: 🟨 1

Приклад відповіді:

{
"key1": "value1",
"key2": "value2"
}

Встановити налаштування

Section titled “Встановити налаштування”

Запис налаштувань до збереженої області.

POST /api/settings/saved/set/

Рівень доступу: 🟨 1

Приклад запиту:

{
"key": "value"
}

Відповідь:

Порожній JSON у разі успіху.

{}

Доступні ключі налаштувань

Section titled “Доступні ключі налаштувань”

Наступні ключі можна використовувати з GET і POST запитами для налаштувань.

КлючОписРівень доступу
timeGmtКорекція часового поясу GMT🟨 1
ethernetНалаштування інтерфейсу Ethernet🟨 1
gsmНалаштування GSM-модуля🟨 1
ownSrvПідключення до власного сервера🟨 1
wgCloudНалаштування хмарного VPN-з’єднання🟨 1
wgManualКористувацькі параметри WireGuard VPN🟨 1
cbCloudНалаштування хмарного Modbus-з’єднання🟨 1
aresetНалаштування автоматичного перезавантаження🟨 1
protectПараметри захисту пристрою🟨 1
downloadНалаштування файлового сервера🟨 1
firmwareУправління прошивкою🟨 1
httpdПараметри вбудованого HTTP-сервера🟨 1
languageМова інтерфейсу🟨 1
serialНалаштування послідовного порту🟨 1
astroАстрономічні налаштування (схід/захід сонця)🟨 1
ntpНалаштування синхронізації часу NTP🟨 1
tsModeРежим літнього часу🟨 1
tsManualРучні налаштування літнього часу🟨 1
logFlagsПрапори логування🟨 1
rmSrvСервер віддаленого керування🟨 1
forwardingТаблиця переадресації портів🟨 1
tasksLoggingНалаштування журналювання даних програмованої логіки🟨 1
powerSavingНалаштування живлення та збереження ресурсів🟨 1

Управління часовим поясом (зміщення GMT).

Параметри запиту:

ПараметрТипОпис
timeGmtintegerЗміщення GMT у 15-хвилинних інтервалах (від -96 до +96).

Приклад запиту:

{
"timeGmt": 8
}

Примітка: 8 означає зміщення +2 години (8 × 15 хвилин).

Налаштування інтерфейсу Ethernet.

Параметри запиту:

ПараметрТипОпис
ethernetobject
dhcpEnablebooleantrue — увімкнути DHCP на інтерфейсі Ethernet; false — вимкнути.
macManualEnablebooleantrue — використовувати користувацьку MAC-адресу.
dnssGateEnablebooleantrue — використовувати адресу шлюзу як основний DNS.
ipstringIP-адреса інтерфейсу Ethernet.
maskstringМаска підмережі інтерфейсу Ethernet.
gatestringШлюз інтерфейсу Ethernet.
ipDnssarrayМасив IP-адрес DNS-серверів для Ethernet.
macManualstringКористувацька MAC-адреса для інтерфейсу Ethernet.

Приклад запиту:

{
"ethernet": {
"dhcpEnable": true,
"macManualEnable": false,
"dnssGateEnable": true,
"ip": "192.168.0.115",
"mask": "255.255.255.0",
"gate": "192.168.0.1",
"ipDnss": ["8.8.8.8", "8.8.4.4"],
"macManual": "01:02:03:04:05:06"
}
}

Налаштування GSM-модуля.

Параметри запиту:

ПараметрТипОпис
gsmobject
apnAutodetectEnablebooleantrue — автоматично налаштувати параметри APN на основі коду SIM-карти.
tcpInRoamingEnablebooleantrue — дозволити передачу даних TCP/UDP у роумінгу.
smsInRoamingEnablebooleantrue — дозволити надсилання SMS у роумінгу. (Прийом SMS завжди дозволено).
pinCodeinteger / nullPIN-код (0000-9999), або null, якщо не встановлено.
apnHoststringІм’я хосту APN для ручного налаштування (макс. 34 символи).
apnLoginstringЛогін APN для ручного налаштування (макс. 40 символів).
apnPasswordstringПароль APN для ручного налаштування (макс. 24 символи).
balanceUssdReqstringUSSD-запит для перевірки балансу (макс. 12 символів, напр., *111#).
phonesarrayМасив з 4 рядків номерів телефонів.

Приклад запиту:

{
"gsm": {
"apnAutodetectEnable": true,
"tcpInRoamingEnable": true,
"smsInRoamingEnable": false,
"pinCode": null,
"apnHost": "",
"apnLogin": "",
"apnPassword": "",
"balanceUssdReq": "*111#",
"phones": ["+48123456789", "", "", ""]
}
}

Підключення до власного сервера.

Параметри запиту:

ПараметрТипОпис
ownSrvobject
vUidinteger / nullВіртуальна адреса Modbus-пристрою (1-255), або null для вимкнення.
mbeRointeger / nullКод виключення Modbus для відмови в доступі (1-255), або null для вимкнення відповіді.
mbeTointeger / nullКод виключення Modbus для таймауту (1-255), або null для вимкнення відповіді.
mbePuinteger / nullКод виключення Modbus для помилки надсилання (1-255), або null для вимкнення відповіді.
ethListenPortintegerTCP-порт сервера на інтерфейсі Ethernet (1-65535).
delayForKeepaliveSecinteger / nullЧас keep-alive TCP-сервера (0-36000 сек), або null для вимкнення.
atmListenPortinteger / nullTCP-порт сервера на інтерфейсі GSM (1-65535), або null для вимкнення.
ethClientsProtocolintegerПротокол даних для Ethernet TCP-сервера: 1 - RAW, 2 - ModbusTCP.
atmClientsProtocolintegerПротокол даних для GSM TCP-сервера: 1 - RAW, 2 - ModbusTCP.

Приклад запиту:

{
"ownSrv": {
"vUid": 111,
"mbeRo": 1,
"mbeTo": 11,
"mbePu": 10,
"ethListenPort": 502,
"delayForKeepaliveSec": 90,
"atmListenPort": null,
"ethClientsProtocol": 2,
"atmClientsProtocol": 2
}
}

Налаштування хмарного VPN-з’єднання.

Параметри запиту:

ПараметрТипОпис
wgCloudobject
hostnamestringІм’я хосту VPN-сервера (макс. 46 символів).
connPortintegerTCP-порт VPN-сервера (1-65535).
connModeinteger / nullРежим з’єднання: null (вимкнено), 1 (Eth перевага), 2 (GSM перевага), 3 (тільки Eth), 4 (тільки GSM).
delayForKeepaliveSecintegerЧас keep-alive VPN-сервера (0-36000 сек).
delayForConnSecintegerЗатримка між спробами підключення (1-30000 сек).

Приклад запиту:

{
"wgCloud": {
"hostname": "",
"connPort": 34967,
"connMode": 1,
"delayForKeepaliveSec": 20,
"delayForConnSec": 5
}
}

Користувацькі налаштування WireGuard VPN.

Параметри запиту:

ПараметрТипОпис
wgManualobject
hostnamestringІм’я хосту VPN-сервера (макс. 46 символів).
connPortintegerTCP-порт VPN-сервера (1-65535).
connModeinteger / nullРежим з’єднання: null (вимкнено), 1 (Eth перевага), 2 (GSM перевага), 3 (тільки Eth), 4 (тільки GSM).
ipstringIP-адреса пристрою у VPN-мережі.
maskstringМаска підмережі пристрою.
deviceKeystringПриватний ключ пристрою (base64).
peerPublicKeystringПублічний ключ віддаленого вузла (base64).

Приклад запиту:

{
"wgManual": {
"hostname": "",
"connPort": 34967,
"connMode": 1,
"delayForKeepaliveSec": 20,
"delayForConnSec": 5,
"deviceIp": "10.0.0.111",
"deviceMask": "255.255.255.0",
"deviceKey": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
"peerPublicKey": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
}
}

Налаштування хмарного Modbus-з’єднання.

Параметри запиту:

ПараметрТипОпис
cbCloudobject
hostnamestringІм’я хосту сервера (макс. 46 символів).
connPortintegerTCP-порт сервера (1-65535).
connModeinteger / nullРежим з’єднання: null (вимкнено), 1 (Eth перевага), 2 (GSM перевага), 3 (тільки Eth), 4 (тільки GSM).
delayForKeepaliveSecintegerЧас keep-alive сервера (0-36000 сек).
delayForConnSecintegerЗатримка між спробами підключення (1-240 сек).

Приклад запиту:

{
"cbCloud": {
"hostname": "",
"connPort": 8502,
"connMode": 1,
"delayForKeepaliveSec": 120,
"delayForConnSec": 5
}
}

Налаштування автоматичного перезавантаження.

Параметри запиту:

ПараметрТипОпис
aresetobject
delayMinintegerЧас до автоматичного перезапуску (5-7200 хв).
modeinteger / nullnull - Вимкнено; 1 - Перезапуск після delayMin роботи; 2 - Перезапуск після delayMin без активності Modbus.

Приклад запиту:

{
"areset": {
"delayMin": 120,
"mode": 2
}
}

Параметри захисту пристрою.

Параметри запиту:

ПараметрТипОпис
protectobject
smsWriteEnablebooleanfalse - вимкнути запис через SMS.
smsReadEnablebooleanfalse - вимкнути читання через SMS.
mbGateWriteEnablebooleanfalse - вимкнути запис до підключених Modbus-пристроїв.
mbGateReadEnablebooleanfalse - вимкнути читання Modbus.
wgCloudAdminAuthEnablebooleantrue - надати доступ адміністратора (🟥 2) до всіх хмарних запитів.
wgManualAdminAuthEnablebooleantrue - надати доступ адміністратора (🟥 2) до всіх запитів WireGuard VPN.
passwordAdminstringПароль адміністратора пристрою (5-10 ASCII символів, без пробілів).
passwordMbGateWritestringПароль для запису до підключених Modbus-пристроїв (0-10 символів). "" вимикає перевірку.
passwordMbReadstringПароль для читання Modbus (0-10 символів). "" вимикає перевірку.
passwordSmsWritestringПароль для запису через SMS (3-10 символів).
passwordSmsReadstringПароль для читання через SMS (3-10 символів).

Приклад запиту:

{
"protect": {
"smsWriteEnable": true,
"smsReadEnable": true,
"mbGateWriteEnable": true,
"mbGateReadEnable": true,
"wgCloudAdminAuthEnable": true,
"wgManualAdminAuthEnable": false,
"passwordAdmin": "11111",
"passwordMbGateWrite": "",
"passwordMbRead": "",
"passwordSmsWrite": "gap",
"passwordSmsRead": "gap"
}
}

Налаштування файлового сервера.

Параметри запиту:

ПараметрТипОпис
downloadobject
connModeinteger / nullРежим з’єднання: null (вимкнено), 1 (Eth перевага), 2 (GSM перевага), 3 (тільки Eth), 4 (тільки GSM).
loadRatiointegerОбмеження швидкості завантаження (1-50 % від максимальної пропускної здатності).
delayForConnSecintegerЗатримка між спробами підключення (1-30000 сек).

Приклад запиту:

{
"download": {
"connMode": 1,
"loadRatio": 15,
"delayForConnSec": 60
}
}

Управління прошивкою.

Параметри запиту:

ПараметрТипОпис
firmwareobject
checkPeriodSecinteger / nullПеріод перевірки оновлень (1-1000000 сек), або null для вимкнення.
downloadPeriodHrinteger / nullПеріод автоматичного завантаження (0-1439 годин), або null для вимкнення.
updateHourinteger / nullГодина доби для автоматичного оновлення (0-23), або null для вимкнення.
urlstringURL джерела оновлень (1-96 ASCII символів, без пробілів).

Приклад запиту:

{
"firmware": {
"checkPeriodSec": 900,
"downloadPeriodHr": 6,
"updateHour": 3,
"url": "static.mcdownloads.com/firmware/mc252-6-1-current.fus"
}
}

Параметри вбудованого HTTP-сервера.

Параметри запиту:

ПараметрТипОпис
httpdobject
portintegerПорт веб-інтерфейсу (1-65535).
freeAccessSecintegerЧас відкритого доступу після натискання кнопки (5-3600 сек).

Приклад запиту:

{
"httpd": {
"port": 80,
"freeAccessSec": 600
}
}

Код мови інтерфейсу.

Примітка: Якщо дисплей не підтримує вказаний код, буде використано англійську мову.

Параметри запиту:

ПараметрТипОпис
languagestringКод мови: en - англійська; ua - українська.

Приклад запиту:

{
"language": "en"
}

Налаштування послідовного інтерфейсу.

Параметри запиту:

ПараметрТипОпис
serialobject
uidRangestringДіапазон адрес Modbus UID (наприклад, 112-255).
hdxModeintegerРежим напівдуплексу: 0 - ведений; 1 - ведучий; 2 - режим raw.
charFormatintegerФормат байта: 0-5 (див. розділ Modbus).
baudRateintegerШвидкість передачі (75-230400 біт/с).
frameModeintegerФормат кадру: 0 - RTU, 1 - ASCII.
delayForRtuQintegerМножник затримки символу RTU (2ⁿ): 0-5.
delayForRtuMsintegerЗатримка відповіді RTU (0-60000 мс).
delayForAsciiMsintegerЗатримка символу ASCII (0-60000 мс).

Приклад запиту:

{
"serial": {
"baudRate": 38400,
"charFormat": 3,
"frameMode": 1,
"delayForRtuMs": 200,
"delayForAsciiMs": 1000,
"hdxMode": 1,
"uidRange": "112-255",
"delayForRtuQ": 1
}
}

Астрономічні налаштування (схід/захід сонця).

Параметри запиту:

ПараметрТипОпис
astroobject
longDegintegerГрадуси довготи (0-179).
longMinintegerХвилини довготи (0-59).
longSecintegerСекунди довготи (0-59).
latDegintegerГрадуси широти (0-179).
latMinintegerХвилини широти (0-59).
latSecintegerСекунди широти (0-59).
quadrantintegerКвадрант: 0 - Пн/Сх; 1 - Пн/Зх; 2 - Пд/Сх; 3 - Пд/Зх.
sunZenithTypeintegerТип зеніту: 0 - Офіційний; 1 - Цивільний; 2 - Морський; 3 - Астрономічний.

Приклад запиту:

{
"astro": {
"longDeg": 30,
"longMin": 19,
"longSec": 0,
"latDeg": 59,
"latMin": 57,
"latSec": 0,
"quadrant": 0,
"sunZenithType": 2
}
}

Налаштування синхронізації часу NTP.

Параметри запиту:

ПараметрТипОпис
ntpobject
hostnamesarrayМасив імен хостів NTP-серверів (макс. 20 символів кожен).
connModeinteger / nullРежим з’єднання: null (вимкнено), 1 (Eth перевага), 2 (GSM перевага), 3 (тільки Eth), 4 (тільки GSM).
syncPeriodHrintegerПеріод синхронізації (0-240 годин).
syncDiffSecintegerПоріг синхронізації (0-180 сек).

Приклад запиту:

{
"ntp": {
"hostnames": ["ntp.time.in.ua", "ntp2.stratum1.ru"],
"connMode": 1,
"syncPeriodHr": 24,
"syncDiffSec": 1
}
}

Режим літнього часу.

Параметри запиту:

ПараметрТипОпис
tsModeinteger / nullРежим літнього часу: null (Вимкнено), 1 (Бразилія), 2 (Великобританія), 3 (Німеччина), 4 (Греція), 5 (Йорданія), 6 (Італія), 7 (Намібія), 8 (Польща), 9 (Португалія), 10 (США), 11 (Туреччина), 12 (Україна), 13 (Фінляндія), 14 (Франція), 15 (Вручну - див. tsManual).

Приклад запиту:

{
"tsMode": 12
}

Ручні налаштування літнього часу.

Параметри запиту:

ПараметрТипОпис
tsManualobject
bwdDowintegerДень тижня переходу на зимовий час (1-7, Пн-Нд).
bwdHourintegerГодина переходу на зимовий час (0-23).
bwdMonthintegerМісяць переходу на зимовий час (1-12).
bwdWeekintegerТиждень переходу на зимовий час (1-5, 6=останній).
fwdDowintegerДень тижня переходу на літній час (1-7, Пн-Нд).
fwdHourintegerГодина переходу на літній час (0-23).
fwdMonthintegerМісяць переходу на літній час (1-12).
fwdWeekintegerТиждень переходу на літній час (1-5, 6=останній).

Приклад запиту:

{
"tsManual": {
"bwdDow": 7,
"bwdHour": 2,
"bwdMonth": 10,
"bwdWeek": 6,
"fwdDow": 7,
"fwdHour": 2,
"fwdMonth": 3,
"fwdWeek": 6
}
}

Налаштування логування.

Параметри запиту:

ПараметрТипОпис
logFlagsobject
atmbooleanЛогування GSM-інтерфейсу (true/false).
systembooleanЛогування системних подій (true/false).
lwipbooleanЛогування протоколу LWIP (true/false).
forwardingbooleanЛогування переадресації портів (true/false).
wireguardbooleanЛогування WireGuard (true/false).

Приклад запиту:

{
"logFlags": {
"atm": true,
"system": true,
"lwip": false,
"forwarding": false,
"wireguard": true
}
}

Налаштування TCP-клієнта (Віддалені сервери).

Параметри запиту:

ПараметрТипОпис
rmSrvarrayМасив з 3 об’єктів серверів.
ipstringIP-адреса сервера.
connPortintegerПорт підключення (1-65535).
delayForRcvMsintegerЗатримка прийому (1-60000 мс).
delayForConnSecintegerЗатримка між підключеннями (1-30000 сек).
connModeinteger / nullРежим з’єднання: null (вимкнено), 1 (Eth перевага), 2 (GSM перевага), 3 (тільки Eth), 4 (тільки GSM).
gateUidinteger / nullUID шлюзу, сумісного з MC-251 (1-255), або null, якщо невідомо.
uidRangestringДіапазон UID (наприклад, 1-110).
passwordstringПароль для шлюзу, сумісного з MC-251.
protocolintegerПротокол: 1 - RAW, 2 - ModbusTCP.
virtualUidsbooleanВіртуальні UID (true/false).

Приклад запиту:

{
"rmSrv": [
{
"ip": "192.168.0.102",
"connPort": 502,
"delayForRcvMs": 1000,
"delayForConnSec": 20,
"connMode": 3,
"gateUid": 112,
"uidRange": "1-110",
"password": "11111",
"protocol": 2,
"virtualUids": false
},
{
"ip": "192.168.0.113",
"connPort": 502,
"delayForRcvMs": 1000,
"delayForConnSec": 20,
"connMode": null,
"gateUid": null,
"uidRange": "1-255",
"password": "",
"protocol": 2,
"virtualUids": false
},
{
"ip": "192.168.0.114",
"connPort": 502,
"delayForRcvMs": 1000,
"delayForConnSec": 20,
"connMode": null,
"gateUid": null,
"uidRange": "1-255",
"password": "",
"protocol": 2,
"virtualUids": false
}
]
}

Налаштування переадресації портів (тільки з Ethernet на GSM).

Параметри запиту:

ПараметрТипОпис
fwdarrayМасив з 4 об’єктів переадресації.
listenPortinteger / nullЛокальний порт прослуховування (null для вимкнення, або 1-65535).
isUdpbooleantrue для UDP, false для TCP.
serverAddrstringАдреса хосту віддаленого сервера. (Якщо listenPort: 53 & isUdp: true & serverAddr: "", використовуються налаштування DNS).
serverPortintegerПорт віддаленого сервера (1-65535).

Приклад запиту:

{
"fwd": [
{
"serverAddr": "www.cameronsworld.net",
"serverPort": 443,
"listenPort": 443,
"isUdp": false
},
{
"serverAddr": "",
"serverPort": 0,
"listenPort": null,
"isUdp": false
},
{
"serverAddr": "",
"serverPort": 0,
"listenPort": 53,
"isUdp": true
},
{
"serverAddr": "time.google.com",
"serverPort": 123,
"listenPort": 123,
"isUdp": true
}
]
}

Налаштування журналювання даних програмованої логіки.

Примітка: журналювання доступне лише за наявності SD-карти.

Параметри запиту:

ПараметрТипОпис
tasksLoggingobject
formatinteger / nullФормат файлу журналу:
null — журналювання вимкнено;
1 — компактний двійковий формат .DAT;
2 — текстова таблиця .CSV із роздільником ;;
3 — текстова таблиця .CSV із роздільником ,;
4 — текстова таблиця .CSV із роздільником табуляції;
5 — текстова таблиця .CSV без заголовків із роздільником ;;
6 — текстова таблиця .CSV без заголовків із роздільником ,;
7 — текстова таблиця .CSV без заголовків із роздільником табуляції.
storeIntervalDaysinteger / nullПеріод, протягом якого файли журналу не перезаписуються (режим реєстратора).
null — вимикає видалення старих даних (вимикає режим реєстратора).
fileSizeLimitKbintegerОбмеження розміру файлу (мінус 1 кілобайт, від 0 до 65535).

Приклад запиту:

{
"tasksLogging": {
"format": 2,
"storeIntervalDays": 184,
"fileSizeLimitKb": 1023
}
}

Налаштування живлення та збереження ресурсів.

Параметри запиту:

ПараметрТипОпис
powerSavingobject
bodVoltageintegerМінімальна напруга живлення в мВ, нижче якої SD-карта буде безпечно відмонтована (від 0 до 24000)
delayForDisplaySavingMinintegerЧас до переходу в режим збереження дисплея (від 5 до 30).
displaySavingBrightnessintegerЯскравість у режимі збереження дисплея, у відсотках. (від 0 до 50).

Приклад запиту:

{
"powerSaving": {
"bodVoltage": 9000,
"delayForDisplaySavingMin": 10,
"displaySavingBrightness": 5
}
}

Зберігає налаштування у файл у кореневій папці / SD-карти.

POST /api/cmd/settings/export/

Параметри запиту:

ПолеТипОпис
filenamestringІм’я файлу у форматі FAT-32 DOS (8.3).

Приклад запиту:

{
"filename": "sgs.bin"
}

Завантажує налаштування з файлу в кореневій папці / SD-карти.

POST /api/cmd/settings/import/

Параметри запиту:

ПолеТипОпис
filenamestringІм’я файлу у форматі FAT-32 DOS (8.3).

Приклад запиту:

{
"filename": "sgs.bin"
}

Скидає всі налаштування пристрою до значень за замовчуванням.

POST /api/cmd/settings/reset/

Приклад запиту:

{}