Преднастройка устройства с USB-носителя (USB Preset)
USB Preset — механизм Samsung для первичной настройки устройств Samsung Color E-Paper без мобильного приложения «Samsung E-Paper». На USB-носитель кладётся конфигурационный файл config.xml, устройство считывает его и выполняет первичную настройку: подключение к сети, принятие условий использования, установку PIN-кода и запуск источника контента (в нашем случае — установку приложения SmartPlayer по URL).
В дистрибутиве SmartPlayer для E-Paper уже лежит готовая структура папок SAMSUNG_E-Paper/preset/config.xml с преднастроенным шаблоном (см. раздел Специфика дистрибутива SmartPlayer).
Важно: преднастройка с USB работает только на начальном экране устройства — когда устройство находится в первоначальном состоянии и на экране отображается QR-код (экран первичной настройки, OOBE). На уже настроенном устройстве вставка USB-носителя с пресетом ничего не запустит. Чтобы применить пресет повторно, устройство нужно сбросить к заводским настройкам.
Порядок использования
- Взять из дистрибутива SmartPlayer папку
SAMSUNG_E-Paper (внутри — preset/config.xml) и скопировать её в корень USB-носителя. Пресет считывается только из пути SAMSUNG_E-Paper/preset/config.xml от корня флешки.
- Открыть
config.xml текстовым редактором и заполнить значения параметров (в первую очередь — данные Wi-Fi-сети и PIN-код). Правила заполнения — ниже.
- Убедиться, что устройство находится на начальном экране (отображается QR-код).
- Вставить USB-носитель в USB-порт устройства.
- Во время копирования настроек будет мигать зелёный светодиодный индикатор. При успехе устройство перейдёт на целевой экран (для источника Custom App — начнётся установка приложения). При неудаче на экране появится сообщение с причиной ошибки (см. Возможные ошибки).
Правила заполнения config.xml
Файл состоит из секций <ConfigItem>, каждая секция имеет категорию:
- mandatory — обязательная секция. Её нельзя удалять, а значения нельзя оставлять пустыми: они должны быть заполнены корректными данными.
- normal — необязательная секция. Её можно пропустить, но для этого нужно удалить весь блок секции целиком, включая открывающий и закрывающий теги
<ConfigItem>…</ConfigItem>. В этом случае применится значение по умолчанию. Оставлять секцию с пустым значением нельзя — это приведёт к ошибке.
Прочие правила:
- Редактировать можно только значения атрибута
value. Любые изменения структуры файла (имена параметров, теги) приводят к ошибке «Unsupported file format».
- Файл должен оставаться корректным XML и сохраняться именно как
config.xml.
- Часть параметров условно-обязательные: они нужны только при определённом значении другого параметра (например, поля EAP — только при
EAP=true). Если условие не выполняется, их значения игнорируются.
Перечень секций
| Секция (ConfigItem) |
Назначение |
Категория
|
| NetworkSetting |
Данные для подключения к сети. |
mandatory
|
| TermsAndConditions |
Согласие с условиями использования (Terms & Conditions). Можно отказаться, но часть функций будет ограничена. Текст условий: https://smarthub.termsnprivacy.com/smartsignage/main.html |
mandatory
|
| DateTime |
Установка времени устройства вручную или через NTP. |
normal
|
| LowPowerWiFi |
Сеть для модуля Low Power Wi-Fi, используемого в режиме сна. Сеть должна поддерживать частоту 2,4 ГГц. Если секцию пропустить, удалённое пробуждение устройства из режима сна работать не будет. |
normal
|
| ContentSource |
Источник контента: Mobile / USB / VXT / CustomApp. |
normal
|
| CustomAppURLInput |
URL приложения (Custom App). Обязателен только при источнике контента CustomApp. |
normal
|
| Timeout |
Сколько секунд ждать загрузки Custom App по URL; при превышении — ошибка сети. Только для источника CustomApp. |
normal
|
| ScreenOrientation |
Ориентация экрана (Portrait / Landscape). |
normal
|
| SetPIN |
6-значный PIN-код для сопряжения с мобильным устройством. |
mandatory
|
| DeviceName |
Имя устройства. |
normal
|
| ScreenProtectionTime |
Время показа защитного экрана. Защитный экран показывается в заданное время раз в 3 дня, если контент не менялся. |
normal
|
| SleepMode |
Режим сна и таймер бездействия. |
normal
|
Параметры и допустимые значения
Обозначения: Ⓓ — значение по умолчанию (применяется, если секция удалена или у необязательного параметра нет значения).
NetworkSetting (mandatory) — основная сеть
| Параметр |
Значения |
Примечание
|
| NetworkType |
Wireless — беспроводная сеть, Wired — проводная, POE+ — сеть POE+ |
|
| SSID |
Текст — имя Wi-Fi-сети |
Только для NetworkType=Wireless
|
| Password |
Текст — пароль Wi-Fi-сети |
Только для NetworkType=Wireless
|
| EAP |
true — подключение с протоколом безопасности EAP, false Ⓓ — без EAP |
|
| ID |
Идентификатор в сети |
Только при EAP=true
|
| AnonymousID |
Анонимный идентификатор в сети |
Только при EAP=true
|
| EAPType |
PEAP / TLS / TTLS |
Только при EAP=true
|
| PHASE2Type |
None / PAP / MSCHAPV2 / GTC |
Только при EAP=true
|
| CA_Cert |
Имя файла CA-сертификата |
Только при EAP=true, см. Сертификаты для EAP
|
| Client_Cert |
Имя файла клиентского сертификата |
Только при EAP=true
|
| DHCP |
true Ⓓ — включён, false — выключен |
|
| AutoIP |
off — автоназначение IP выключено; type1 — каждому следующему устройству назначается IP текущего устройства +1 (максимум x.x.x.254); type2 — IP назначаются последовательно из списка AutoIPTable |
Только при DHCP=false
|
| AutoIPTable |
Список IP-адресов через запятую: XXX.XXX.XXX.XXX,…,ZZZ.ZZZ.ZZZ.ZZZ |
Только при AutoIP=type2 (поле IP при этом не используется)
|
| IP |
Статический IP-адрес |
Только при DHCP=false
|
| Subnet |
Маска подсети |
Только при DHCP=false
|
| DNS |
Адрес DNS-сервера |
Только при DHCP=false
|
| Gateway |
Адрес шлюза |
Только при DHCP=false
|
TermsAndConditions (mandatory)
| Параметр |
Значения |
Примечание
|
| AgreementStatus |
agree — принять условия, decline — не принимать |
При decline часть функций будет ограничена; источники контента CustomApp и VXT работать не будут (см. Возможные ошибки)
|
DateTime (normal)
| Параметр |
Значения |
Примечание
|
| SetDate |
Дата в формате YYYY-MM-DD |
Ⓓ: не задано
|
| SetTime |
Время в формате HH:MM:SS (24-часовой формат) |
Ⓓ: не задано
|
| NTP_Mode |
true — синхронизация времени по NTP включена, false Ⓓ — выключена |
При включённом NTP устройство перезагрузится после применения пресета
|
| NTP_URL |
Адрес NTP-сервера |
Только при NTP_Mode=true
|
| NTP_Timezone |
Название часового пояса |
Только при NTP_Mode=true. Названия — из файла «Timezone_List» вендора
|
| DST_Mode |
true — переход на летнее время (DST) включён, false Ⓓ — выключен |
|
| DST_StartDate |
Начало летнего времени в формате Месяц-Неделя-День-Час-Минута |
Только при DST_Mode=true. Месяц: 0 (январь) — 11 (декабрь); неделя: 0 (первая) — 3 (четвёртая), 4 (последняя); день: 0 (понедельник) — 6 (воскресенье); час: 0—23; минута: 0—59. Пример: 3-0-1-12-0 — первый вторник апреля, 12:00
|
| DST_EndDate |
Конец летнего времени, формат тот же |
Только при DST_Mode=true. Пример: 9-4-3-12-0 — последний четверг октября, 12:00
|
| DST_Offset |
0 — сдвиг 1 час, 1 — сдвиг 2 часа |
Только при DST_Mode=true
|
LowPowerWiFi (normal) — сеть для режима сна
Отдельная сеть, к которой подключается модуль Low Power Wi-Fi во время сна устройства — через неё устройство можно разбудить удалённо. Сеть должна работать на частоте 2,4 ГГц. Набор параметров полностью повторяет NetworkSetting (кроме NetworkType): SSID Ⓓ: не задано, Password Ⓓ: не задано, EAP (Ⓓ false) с полями ID / AnonymousID / EAPType / PHASE2Type / CA_Cert / Client_Cert, DHCP (Ⓓ true), AutoIP / AutoIPTable, IP / Subnet / DNS / Gateway — значения и условия те же, что в таблице NetworkSetting.
ContentSource (normal)
| Параметр |
Значения |
Примечание
|
| ContentSource |
USB Ⓓ — загрузка контента файлами изображений с USB; Mobile — загрузка через мобильное приложение «Samsung E-Paper»; VXT — загрузка через Samsung VXT; CustomApp — установка стороннего приложения по URL |
В дистрибутиве SmartPlayer уже выставлено CustomAPP — менять не нужно
|
| Параметр |
Значения |
Примечание
|
| URL |
URL-адрес приложения |
Обязателен при ContentSource=CustomApp. Если секцию удалить или не заполнить при источнике CustomApp — ошибка на этапе установки приложения. В дистрибутиве SmartPlayer заполняется автоматически при сборке
|
Timeout (normal)
| Параметр |
Значения |
Примечание
|
| Timeout |
Число секунд от 30 до 300, кратное 30 |
Только при ContentSource=CustomApp. Сколько ждать загрузки приложения по URL; если не успело — сообщение об ошибке сети. Если секцию удалить при источнике CustomApp — ошибка на этапе установки приложения
|
ScreenOrientation (normal)
| Параметр |
Значения |
Примечание
|
| Orientation |
Portrait Ⓓ — портретная, Landscape — альбомная |
|
SetPIN (mandatory)
| Параметр |
Значения |
Примечание
|
| SetPIN |
Ровно 6 цифр |
PIN-код для сопряжения с мобильным устройством
|
DeviceName (normal)
| Параметр |
Значения |
Примечание
|
| DeviceName |
Текст до 32 символов |
Ⓓ: номер модели устройства
|
ScreenProtectionTime (normal)
| Параметр |
Значения |
Примечание
|
| ScreenProtectionTime |
Время в формате HH:MM (24-часовой формат) |
Ⓓ: 01:00. Защитный экран показывается в заданное время раз в 3 дня, если контент за это время не менялся
|
SleepMode (normal)
| Параметр |
Значения |
Примечание
|
| SleepMode |
Off — устройство не засыпает: доступны смена контента, настройки, обновление прошивки и т.д.; Sleep Ⓓ — сон: активен только модуль Wi-Fi, устройство можно разбудить удалённо через сеть Low Power Wi-Fi; DeepSleep — глубокий сон: Wi-Fi-модуль отключён, разбудить можно только физической кнопкой на устройстве |
|
| Timer |
Число минут от 5 до 1439 (от 5 минут до 23 ч 59 мин) |
Ⓓ: 20. Через сколько минут бездействия уходить в сон. При SleepMode=Off значение игнорируется
|
Сертификаты для EAP
Если сеть использует протокол EAP, файлы сертификатов нужно положить на тот же USB-носитель в следующие папки (имена файлов указываются в параметрах CA_Cert / Client_Cert):
| Сертификат |
Путь на USB-носителе
|
| CA-сертификат (основная сеть) |
SAMSUNG_E-Paper/preset/rootCA/
|
| Клиентский сертификат (основная сеть) |
SAMSUNG_E-Paper/preset/clientCert/
|
| CA-сертификат (Low Power Wi-Fi) |
SAMSUNG_E-Paper/preset/rootCA_LowPower/
|
| Клиентский сертификат (Low Power Wi-Fi) |
SAMSUNG_E-Paper/preset/clientCert_LowPower/
|
Контроль результата
После вставки USB-носителя зелёный светодиод начинает мигать — идёт копирование настроек. При успешном применении устройство переходит на целевой экран (для CustomApp — начинается установка приложения SmartPlayer). При ошибке на экране появляется сообщение с причиной — нужно исправить файл пресета согласно таблице ниже и повторить.
Возможные ошибки
| Сообщение на экране |
Причина
|
| Unsupported file format. Check the file and try again. |
В файле изменено что-то кроме значений value (структура, имена параметров), либо файл сохранён не в формате XML.
|
| Network connection failed. Check your network settings and try again later. |
Неверный SSID или пароль в секции NetworkSetting.
|
| PIN Code, Terms & Conditions and Network Information must be set correctly to continue. You don't have to agree to Terms & Conditions, but some features may be limited. |
Некорректный формат или текст в значении обязательного (mandatory) параметра; какое-то значение оставлено пустым; изменена структура обязательной секции. Напоминание: чтобы пропустить необязательную секцию, нужно удалить её целиком, а не оставлять пустое значение.
|
| Some settings weren't imported. Check the list of failed items below and try again later. |
Некорректный формат или текст в значении необязательного (normal) параметра.
|
| To start <Samsung VXT Player / Custom App>, you need to agree to the Terms & Conditions. |
В AgreementStatus указано decline, при этом источник контента — CustomApp или VXT.
|
Также: если при источнике контента CustomApp удалить или не заполнить секции CustomAppURLInput и Timeout, ошибка появится на этапе установки приложения.
Специфика дистрибутива SmartPlayer
В zip-дистрибутиве SmartPlayer для E-Paper папка SAMSUNG_E-Paper/preset/config.xml уже сформирована при сборке:
ContentSource выставлен в CustomAPP;
URL в секции CustomAppURLInput подставлен автоматически на этапе сборки из переменной окружения APP_PRESET_CUSTOM_APP_URL (сборки dev и prod различаются только этим значением);
- комментарии-подсказки в XML сохранены.
Вручную перед записью на флешку нужно заполнить в основном сетевые параметры (SSID/Password основной сети, при необходимости — Low Power Wi-Fi) и PIN-код (SetPIN).
Для массовой установки через Samsung VXT у вендора есть функция Multiscreen Enrollment (регистрация устройств по CSV со списком серийных номеров) — в нашем сценарии с CustomApp она не используется, подробности в гайде вендора «USB Preset Manual V1.3».
Конфигурация приложения SmartPlayer (значения по умолчанию)
Наше ПО при сборке дистрибутива (окружения prod/dev) формирует конфигурационный файл приложения SmartPlayer со следующими параметрами по умолчанию:
| Параметр конфигурационного файла |
Значение по умолчанию |
Доступные значения |
За что отвечает
|
| networkStandby |
ON |
ON — включено, OFF — выключено |
Специальный режим сна, при котором сетевой контроллер принимает magic-пакет для просыпания устройства. Рекомендуется всегда включать: тогда устройство можно пробудить в локальной сети по технологии Wake-on-WLAN (WoWLAN).
|
| batteryWarningIconDisplay |
ON |
ON — включено, OFF — выключено |
Отображать или нет иконку разряда батареи в правом верхнем углу устройства (аналогично мобильным устройствам). По наблюдениям, система включает отображение поверх приложения SmartPlayer при заряде батареи 15% и ниже. Контент при этом показывается, приложение SmartPlayer работает в штатном режиме — это лишь уведомление о низком уровне заряда.
|
| refreshScreenAfterWakeupMS |
300000 |
Продолжительность в миллисекундах. Минимум: 240000, рекомендовано: 300000, максимум: неизвестно |
Через сколько после просыпания из режима сна принудительно обновить дисплей, чтобы убрать остаточное изображение (гостинг) предыдущей картинки. Минимальное значение — 4 минуты (по документации Samsung), рекомендованное — 5 минут: экран будет принудительно перерисован новым или текущим контентом через 5 минут после просыпания.
|
| autoSleepTimeAppLevelApi |
OFF |
ON — включено, OFF — выключено |
Автоматическое засыпание устройства после периода бездействия, заданного параметром goSleepAfterMS. Период бездействия отсчитывается от последней отрисовки контента: если контент перерисовывается чаще, чем значение goSleepAfterMS, сон не наступит никогда.
|
| autoSleepTimeTizenOSLevelApi |
OFF |
OFF, 3MIN, 5MIN, 10MIN, 20MIN, 30MIN, 60MIN |
Аналог autoSleepTimeAppLevelApi, реализованный Samsung на уровне их API. В текущей версии включать не рекомендуется: наш режим реализован на уровне приложения SmartPlayer, что даёт больше гибкости в настройке, отладке и надёжности.
|
| goSleepAfterMS |
600000 |
Продолжительность в миллисекундах. Минимум: 60000, рекомендовано: 600000, максимум: неизвестно |
Через какой период бездействия уходить в режим сна. Зависит от autoSleepTimeAppLevelApi: если тот выключен, параметр игнорируется. Рекомендованное значение — 10 минут (600000 мс): если контент был отрисован и не менялся на экране 10 минут, устройство уйдёт в сон.
|
| timeWakeUpEveryDay |
9:00 |
Любое время от 00:01 до 23:59 |
В какое время ежедневно пробуждать устройство для обновления контента. Если приложение запущено после указанного времени, пробуждение планируется на следующий день; если до — на текущий. После пробуждения по расписанию устройство обновит контент, отрисует его и запустит новый таймер бездействия. Повторное засыпание в течение дня планирует пробуждение уже на следующий календарный день.
|
| screenRefreshTimeEveryDay |
7:00 |
Любое время от 00:01 до 23:59 |
Ежедневное обновление экрана для защиты от «выгорания пикселей» (рекомендация производителя — раз в сутки): в указанное время изображение очищается и перерисовывается. Если в это время устройство спит, ничего не произойдёт — после просыпания устройство выполнит эту операцию, выждав значение refreshScreenAfterWakeupMS. Параметр имеет смысл, когда устройство работает 24/7 и не засыпает, т.е. autoSleepTimeAppLevelApi = OFF.
|