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

mset.xml: налаштування пристрою

Основна конфігурація розташована у /setting/mset.xml на microSD і має кореневий елемент <settings>.

Поточний файл не є переліком заводських значень

Значення в XML конкретного пристрою могли бути змінені користувачем, вебінтерфейсом або автоматично. Наприклад, sefe_start_interval="60000" і alarm_sms_sec_interval="10" не є початковими значеннями: для нової конфігурації використовуються 120000 мс і 180 с відповідно.

Дивіться також правила безпечного редагування. Параметри SERVICE не змінюйте без резервної копії та розуміння їхнього впливу на пристрій.

net_settings

Секція зберігає параметри точки доступу пристрою, підключення до зовнішньої мережі Wi-Fi, передавання даних і FTP. Для SSID/PASSWORD та SSID_STA/PASSWORD_STA пара застосовується лише тоді, коли наявні обидва непорожні значення.

Поле Призначення Обов'язковість Допустимі значення / межі Початкове значення Якщо не задано Рівень
SSID Назва локальної точки доступу пристрою Умовно обов'язкове разом із PASSWORD Рядок; до 32 символів apiary_net Нова пара точки доступу не застосовується USER
PASSWORD Пароль локальної точки доступу Умовно обов'язкове разом із SSID Рядок; до 32 символів apiary_wifi Нова пара точки доступу не застосовується USER
SSID_STA SSID зовнішньої мережі Wi-Fi Необов'язкове Непорожній рядок; гранична довжина не задана - Нові STA-параметри не застосовуються ADVANCED
PASSWORD_STA Пароль зовнішньої мережі Wi-Fi Умовно обов'язкове разом із SSID_STA Рядок; гранична довжина не задана - Нові STA-параметри не застосовуються ADVANCED
STA_KEY Ключ автентифікації під час передавання Необов'язкове Рядок; формат залежить від способу автентифікації - Параметр Wi-Fi не змінюється SERVICE
UPLOAD_URL Адреса приймача даних через Wi-Fi Необов'язкове URL; гранична довжина не задана Залежить від конфігурації пристрою Встановлюється один пробіл, передавання фактично не налаштоване SERVICE
wifi_sync Дозвіл синхронізації через зовнішню Wi-Fi-мережу Необов'язкове true, false false false ADVANCED
FTP_USER Ім'я користувача локального FTP Необов'язкове в парі Рядок; до 32 символів Залежить від конфігурації пристрою Якщо немає будь-якого поля FTP, застосовуються початкові FTP-налаштування ADVANCED
FTP_PASSWORD Пароль локального FTP Необов'язкове в парі Рядок; до 32 символів Залежить від конфігурації пристрою Якщо немає будь-якого поля FTP, застосовуються початкові FTP-налаштування ADVANCED

Значення -

Для SSID_STA, PASSWORD_STA і STA_KEY дефіс є буквальним початковим значенням. Він обробляється як непорожній рядок, тому не використовуйте його як гарантовану ознаку «не налаштовано».

Початковий пароль apiary_wifi слід змінити після першої перевірки пристрою.

apairy_set

Назва секції містить історичну помилку й повинна залишатися apairy_set. Секція необхідна для створення переліку вуликів.

Поле Призначення Обов'язковість Допустимі значення / межі Початкове значення Якщо не задано Рівень
hive_count Кількість файлів конфігурації вуликів Необов'язкове поле в обов'язковій секції Ціле число; рекомендовано 1 або більше, автоматичної перевірки меж немає 1 1 ADVANCED
hive1…hiveN Базові імена файлів вуликів без .xml Обов'язкове для кожного номера до hive_count Рядок; для сумісності рекомендовано до 8 ASCII-символів hive1 Помилка читання атрибута; відповідний вулик не створюється SERVICE

Шлях має формат /setting/<значення>.xml. Для імені використовується внутрішній буфер на 24 байти, тому не використовуйте довгі імена чи розділювачі шляху.

GSM

Секція описує двох отримувачів. Якщо секції немає, структура GSM обнуляється; тому саму секцію слід вважати обов'язковою навіть за роботи без SIM.

Поле Призначення Обов'язковість Допустимі значення / межі Початкове значення Якщо не задано Рівень
sms_format1 Формат SMS для number1 Необов'язкове 1 — текстовий; 2 — стислий формат застосунку 2 2 USER
sms_format2 Формат SMS для number2 Необов'язкове 1 — текстовий; 2 — стислий формат застосунку 2 2 USER
number1 Основний номер отримувача Необов'язкове Міжнародний формат; внутрішній буфер 15 байтів Порожній рядок На першому завантаженні отримувач не налаштований USER
number2 Додатковий номер отримувача Необов'язкове Міжнародний формат; внутрішній буфер 15 байтів Порожній рядок На першому завантаженні отримувач не налаштований USER
sms_wait_to_send_sec Час очікування відправлення SMS за слабкої мережі Необов'язкове Ціле число секунд; фіксованих меж немає 50 с 50 с ADVANCED
alarm_call_wait_sec Інтервал між повторними спробами тривожного дзвінка Необов'язкове Ціле число секунд; фіксованих меж немає 80 с 80 с ADVANCED

Порожній номер задавайте як number1="" або number2="". Не додавайте до опублікованих прикладів реальні номери.

NTP

Секція належить до тієї самої внутрішньої структури, що й GSM. Якщо NTP немає повністю, щойно прочитані GSM-параметри також скидаються. Тому секцію потрібно залишати навіть за вимкненої синхронізації.

Поле Призначення Обов'язковість Допустимі значення / межі Початкове значення Якщо не задано Рівень
synchronize Автоматична синхронізація часу через доступний мережевий механізм Необов'язкове поле в обов'язковій секції true, false false false USER
time_zone Зміщення часового поясу, яке в XML задається в цілих годинах Необов'язкове Ціле число; рекомендовано від -11 до 12, автоматичної перевірки меж немає 2 3 ADVANCED
ntp1 Основний сервер часу Необов'язкове Ім'я хоста, до 30 байтів внутрішнього буфера 0.europe.pool.ntp.org Порожнє значення на першому завантаженні ADVANCED
ntp2 Другий сервер часу Необов'язкове Ім'я хоста, до 30 байтів внутрішнього буфера 1.europe.pool.ntp.org Порожнє значення на першому завантаженні ADVANCED
ntp3 Третій сервер часу Необов'язкове Ім'я хоста, до 30 байтів внутрішнього буфера 2.europe.pool.ntp.org Порожнє значення на першому завантаженні ADVANCED

time_zone має різні значення: новий файл отримує 2, а за відсутнього атрибута застосовується 3. Враховуйте цю різницю перед зміною початкової конфігурації.

Написання synсhronize містить кириличну літеру с і не розпізнається. Використовуйте лише synchronize.

options

Окремі атрибути необов'язкові й мають резервні значення. Не видаляйте всю секцію: за її відсутності параметри секції обнуляються замість застосування наведених нижче початкових значень.

Поле Призначення Обов'язковість Допустимі значення / межі Початкове значення Якщо не задано Рівень
meteo Наявність датчика тиску й вологості Необов'язкове true, false false false SERVICE
pir_sensor Наявність PIR-датчика руху Необов'язкове true, false false false SERVICE
temperature_twist Міняє місцями логічні T1 і T2 Необов'язкове true, false false false ADVANCED
oled Наявність OLED-дисплея Необов'язкове true, false false false SERVICE
oled_invert Інверсія зображення OLED Необов'язкове true, false false false SERVICE
sefe_start_interval Тривалість активного вікна після старту Необов'язкове Мілісекунди; автоматичної перевірки меж немає 120000 мс 120000 мс SERVICE
alarm_sms_sec_interval Мінімальний інтервал між тривожними SMS Необов'язкове Беззнакове ціле число секунд 180 с 180 с ADVANCED
alarm_by_changes_count Кількість змін стану PIR для підтвердження тривоги Необов'язкове Беззнакове ціле; практичне значення залежить від розміщення 3 3 ADVANCED
alarm_by_long_state Тривалість активного стану PIR для тривоги Необов'язкове Беззнакове ціле число секунд 10 с 10 с ADVANCED
time_ms_compensate Добова компенсація ходу годинника Необов'язкове Знакове 32-бітне число мілісекунд 0 мс 0 мс SERVICE
sync_time_sec Службова позначка часу ручної синхронізації Необов'язкове Знакове 64-бітне число секунд 0 0 SERVICE

sefe_start_interval — точна історична назва поля. Початкове значення становить 120000 мс; автоматичної перевірки діапазону немає, тому довільно зменшувати його небезпечно.

Апаратні прапорці, змінені через вебінтерфейс, зберігаються одразу, але робоча конфігурація застосовує їх після наступного читання налаштувань.

BLE

Уся секція необов'язкова для сумісності зі старими файлами. За її відсутності BLE вимкнено, використовуються поточні значення та стандартні інтервали.

Поле Призначення Обов'язковість Допустимі значення / межі Початкове значення Якщо не задано Рівень
ble_enable Увімкнення BLE Необов'язкове true, false false false; помилкове значення також вимикає BLE USER
static_values Вибір статичних замість поточних значень Необов'язкове true, false false false SERVICE
update_time_sec Інтервал оновлення BLE-даних Необов'язкове 3–60 с; менше нормалізується до 3, більше — до 60 30 с 30 с ADVANCED
advertising_time_sec Тривалість рекламування BLE Необов'язкове 0 або 10–60 с; введене 1–9 нормалізується до 0, понад 60 — до 60 20 с 20 с ADVANCED

Для static_values описано лише вибір статичних замість поточних значень; інший вплив параметра не визначений.

Мінімальний приклад

Цей приклад залишає STA, FTP і BLE на початкових значеннях. Порожня, але наявна секція <options /> активує резервне значення кожного атрибута замість обнулення всієї структури.

<settings>
  <net_settings SSID="apiary_net" PASSWORD="apiary_wifi" />
  <apairy_set hive_count="1" hive1="hive1" />
  <GSM sms_format1="2" sms_format2="2"
       number1="" number2=""
       sms_wait_to_send_sec="50" alarm_call_wait_sec="80" />
  <NTP synchronize="false" time_zone="2"
       ntp1="0.europe.pool.ntp.org"
       ntp2="1.europe.pool.ntp.org"
       ntp3="2.europe.pool.ntp.org" />
  <options />
</settings>

Повний очищений приклад

Значення SITE_WIFI, WIFI_PASSWORD, DEVICE_KEY, FTP_USER, FTP_PASSWORD і URL є заповнювачами, а не даними з робочого пристрою.

<settings>
  <net_settings SSID="apiary_net" PASSWORD="apiary_wifi"
                SSID_STA="SITE_WIFI" PASSWORD_STA="WIFI_PASSWORD"
                STA_KEY="DEVICE_KEY"
                UPLOAD_URL="https://example.invalid/beeapiary"
                wifi_sync="false"
                FTP_USER="FTP_USER" FTP_PASSWORD="FTP_PASSWORD" />
  <apairy_set hive_count="1" hive1="hive1" />
  <GSM sms_format1="2" sms_format2="2"
       number1="+380XXXXXXXXX" number2=""
       sms_wait_to_send_sec="50" alarm_call_wait_sec="80" />
  <NTP synchronize="false" time_zone="2"
       ntp1="0.europe.pool.ntp.org"
       ntp2="1.europe.pool.ntp.org"
       ntp3="2.europe.pool.ntp.org" />
  <options meteo="false" pir_sensor="false"
           temperature_twist="false" oled="false" oled_invert="false"
           sefe_start_interval="120000"
           alarm_sms_sec_interval="180"
           alarm_by_changes_count="3" alarm_by_long_state="10"
           time_ms_compensate="0" sync_time_sec="0" />
  <BLE ble_enable="false" static_values="false"
       update_time_sec="30" advertising_time_sec="20" />
</settings>