- PVSM.RU - https://www.pvsm.ru -

Делаем из смартфона рацию Push-To-Talk, вызываем диспетчера или подаём SOS одной кнопкой. Обзор XCover7 и MIL-STD-810H

Самое первое защищённое устройство (rugged device) Samsung появилось в далёком 2011 году.  С виду укреплённый корпус и заменяемая батарея, что продлевает жизнь смартфона, но всё не так просто. Линейка rugged моделей создана для снижения расходов бизнеса при эксплуатации смартфонов в долгосрочной перспективе, потому что на производстве условия часто суровые, а отношение сотрудников к устройству не всегда бережное.

В этой статье я опишу малоизвестные подробности использования смартфонов в бизнесе и расскажу о модели защищенного смартфона Galaxy XCover7, а также о трёх способах программировать кнопку XCover на его левой стороне.

Программируемая кнопка на XCover7. Кстати, в XCover6 Pro есть еще и вторая -Top Key button (иногда называют emergency key), расположенная на верхней стороне смартфона

Программируемая кнопка на XCover7. Кстати, в XCover6 Pro есть еще и вторая -Top Key button (иногда называют emergency key), расположенная на верхней стороне смартфона

Краткий обзор устройства и MIL-STD-810H

Хотелось бы начать с неочевидных конкретных кейсов, так как защищённость – это не просто укреплённый и необычный на вид корпус. На производстве бывает шумно, поэтому динамики устройств для бизнеса звучат громче. Touchscreen готов для работы в перчатках, а также для работы под дождём и снегом (real life). Настройки такие есть, см. ниже.

Специальные настройки для увеличения громкости

Специальные настройки для увеличения громкости
Мокрый экран и перчатки при включённой Touch sensitivity

Мокрый экран и перчатки при включённой Touch sensitivity

Понятно, что возможность замены батареи продлевает срок службы смартфона: «устала» и просела с годами - заменили и никаких проблем. Однако главная тема реальной долговечности - это «разматывание» Type-C из-за постоянных и не самых аккуратных подключений к зарядке (сотрудники не бережны, да и вообще). Для этого около Type-C входа есть POGO pin разъемы (видны на рисунке ниже), а также специальные зарядные устройства, рассчитанные на одно или несколько (до двадцати) устройств, которые просто удобнее и надёжнее в повседневном использовании. Это доп. аксессуар.

Стойки для POGO pin зарядки от 1 до 20 гнёзд под чехлы и без, не «разматывающие» type-c порт

Стойки для POGO pin зарядки от 1 до 20 гнёзд под чехлы и без, не «разматывающие» type-c порт

Какие ещё потребности бывают и как их решает устройство?

eSIM на корпоративном устройстве – это реально важно, поэтому добавили. Производство, менеджмент, логистика и администрирование пластика стоят приличных денег, если посчитать. А ещё бывают находчивые сотрудники, которые вынимают симку из устройства и гоняют трафик в личных целях. Если люди что-то могут, они это делают. Тоже real life.

Что по параметрам?

- Батарея (15W) 4050mAh (хотелось бы побольше, но это влияет на размеры и вес, а удобство важно)
- если реально автономность тема, то батарейку можно менять на ходу (заменимость)
- Corning® Gorilla® Glass Victus®+ (и это хорошо)
- 5G и Android 14 (и это актуально)
- Экран 6.6 дюймов
- Разрешение экрана FHD+
- Память 6Gb (для большинства бизнес задач хватит)
- Хранение 128Gb с расширением до 1Тб
- Габариты: 169.0 x 80.1 x 10.2мм, 240 г.
- Wi-Fi : 802.11 a/b/g/n/ac 2.4G+5GHz, Wi-Fi Direct
- Bluetooth : BT5.3
- USB : USB 2.0
- GNSS Support : GPS, Glonass, Beidou, Galileo, QZSS
- Сенсоры: Accelerometer, Gyro, Geomagnetic, Light, Proximity
- NFC : UICC (в B2B бывает нужно)

Производительность ограничена требованиями защищенности и здравым смыслом. Это не красивый и модный флагман, а рабочая лошадка, задача которой – «пахать». Поэтому электронные компоненты спроектированы так, чтобы смартфон проходил более суровые, чем IP68 [1], тесты стандарта MIL-STD-810H [2]

Приведу самые занятные примеры из них:

-          Вибрации по трём осям от 20 до 20000Гц в течение часа по каждой
-          Обдув 8м/c песком и пылью 10г/м3 в течение часа каждой из 6 сторон при 25 и 65 °С
-          Выдержка в камерах по 2 часа при температурах -51 °С и 63 °С и разном давлении
-          Резкие температурные изменения от -20 °С до +60 °С
-          Реакции на удар по всем осям с разными параметрами
-          Трёхдневные испытания солёным туманом и ледяным дождём
-          Бросание на фанеру с высоты 1.5м каждой гранью и стороной 26 раз
-          Наращивание льда до 6мм при температуре -10 °С
-          Циклы испытаний солнечным облучением с макс температурой +54° С и ветром

Помню, с выходом первых складных флагманов Flip и Fold была тема, что не нужно с ними грубо обращаться, постоянно швыряя на кровать. При большой удаче можно дошвыряться. XCover создан для гораздо менее нежных условий, чем флагманы. Откуда солёный туман? Морские порты и перевозки. Ледяной дождь? Приёмка грузов и внешние осмотры могут происходить на улице в любую погоду. Склады с хранением заморозки. Падения? Да сколько угодно. Условия пустынь, полных песка и ветра, или сравнимые с арктическими, в добывающей промышленности бывают повсеместно.

Программирование и настройка

Каким образом можно назначать желаемую функциональность для XCover кнопки? Конечно, в этом участвует ваше приложение, но как связывать действия с кнопками для вызова соответствующих функций?

Первый способ [3] - это ручная настройка в разделе Settings > Advanced Settings > XCover. В приложение включают логику обработки нажатия и добавляют метаданные в AndroidManifest.xml, чтобы оно оказалось в разделе среди доступных

<meta-data
  android:name="com.samsung.android.knox.intent.action.HARD_KEY_PRESS"
  android:value="true" />
<receiver android:name=".receiver" android:exported="true">
  <intent-filter>
    <action android:name="com.samsung.android.knox.intent.action.HARD_KEY_REPORT" />
  </intent-filter>
</receiver>
Интерфейс ручной настройки, в котором может быть ваше приложение

Интерфейс ручной настройки, в котором может быть ваше приложение

Когда пользователь нажимает или отпускает XCover кнопку, устройство передает intent со следующими свойствами:

Action

"com.samsung.android.knox.intent.action.HARD_KEY_REPORT"

Extra key settings

"com.samsung.android.knox.intent.extra.KEY_CODE"
"com.samsung.android.knox.intent.extra.KEY_REPORT_TYPE"

В KNOX SDK предопределены константы, которые используются для определения кнопок и нажатий

Public static final int KEYCODE_PTT [4]

1015 (0x000003f7)

Public static final int KEYCODE_EMERGENCY [5]

1079 (0x00000437)

Public static final int KEY_ACTION_DOWN [6] (key press)

1 (0x00000001)

Public static final int KEY_ACTION_UP [7] (key release)

2 (0x00000002)

Ниже пример кода, который разбирает intent для кнопки XCover и проверяет, нажата она была или отпущена

String intentAction = intent.getAction();
if ("com.samsung.android.knox.intent.action.HARD_KEY_REPORT".equals(intentAction)) {
  int keyCode = intent.getExtra(com.samsung.android.knox.intent.extra.KEY_CODE)
  int keyReportType = intent.getExtra(com.samsung.android.knox.intent.extra.KEY_REPORT_TYPE)
  if (keyCode == KEYCODE_PTT && keyReportType == 1) {
    // XCover key pressed
  }
  else if (keyCode == KEYCODE_PTT && keyReportType == 2) {
    // XCover key released 
  }
}

Второй способ [8] состоит в том, что разработчики приложения определяют собственные intents в манифесте

<receiver
  android:name=".PTTKeyReceiver"
  android:permission="com.samsung.android.knox.permission.KNOX_CUSTOM_SETTING"
  android:exported="true" >
  <intent-filter>
    <action android:name="com.vendor.intent.action.PTT_PRESS" />
    <action android:name="com.vendor.intent.action.PTT_RELEASE" />
  </intent-filter>
</receiver>

KNOX_CUSTOM_SETTING permission добавляют для того, чтобы быть уверенным, что приложение будет ожидать intent от специализированных сервисов платформы, таких как Knox Service Plugin [9] или Knox Configure, через которые IT администратор компании настраивает соответствие с приложением. Им нужно сообщить обрабатываемые intents.

Раздел настройки Remap Hardware Keys в Knox Configure

Раздел настройки Remap Hardware Keys в Knox Configure

Особенностью Knox Configure является возможность использования сервиса без MDM, с возможностью автоматической (Out-of-The-Box) раскатки настроек, через загрузку в сервис серийных номеров официальным реселлером или QR код.

Раздел настройки Key Mapping в Knox Service Plugin

Раздел настройки Key Mapping в Knox Service Plugin

Третий способ [10] – это использование KNOX SDK for ISV (Independent Software Providers), который не требует активации KNOX лицензий на устройстве, если оно находится в режиме Device Owner.

Значения кодов для hardware кнопок на устройстве:

Volume up: 24
Volume down: 25
Power (side): 26
Push-to-Talk (XCover): 1015
Top (Emergency, Xcover): 1079

Последняя кнопка есть на XCover6 Pro, как я отмечал под первой картинкой в статье. Её часто называют Emergency, потому что используют для SOS оповещений о нештатных ситуациях на производстве

Uri uri = Uri.parse("content://com.samsung.android.knox.sdk/config/settings");
ContentValues contentValues = new ContentValues();
contentValues.put("component-name", "com.android.settings/com.android.settings.Settings");
contentValues.put("event", "long-press");
contentValues.put("key-code", "24");
contentValues.put("action", "activity");
String selection = "key=?";
String[] selectionArgs = new String[] {"hardware-key"};
mContext.getContentResolver().update(uri, contentValues, selection, selectionArgs);

Как применяют

Самая известная функциональность - это рация Push-To-Talk или Walkie-Talkie. Часто реализуют SOS функциональность, связывающую с диспетчером и передающую данные о местоположении, а также быстрое считывание данных штрих кодов для заполнения чек листов при учете товаров. Для этого, конечно, тоже используется отдельное приложение - Knox Capture [11]. Опция доступна и с клавиатуры, но через кнопку многим удобнее. Кстати, Knox Capture входит в сервис Knox Suite, годовая лицензия на который идет в комплекте с устройством, в нее включены Knox Manage (MDM) и другие полезные KNOX сервисы.

Использование Knox Capture для чтения штрих кодов

Использование Knox Capture для чтения штрих кодов

Приведу несколько отраслевых примеров:

Ритейл. Самая крупная известная сделка — это покупка [12] Walmart 740,000 защищенных устройств Samsung, которые, в том числе, используются для функции Push-to-Talk с кнопкой XCover. Ещё одним применением кнопки стала её интеграция с Knox Capture для автоматизации заполнения форм данными со штрих кодов.

Транспорт. Вопреки распространенному мнению «если автомобиль, то навигатор, а значит планшет», на самом деле, оперативная связь с водителем, который не всегда находится в кабине, гораздо важнее. Он должен постоянно иметь устройство с собой, что в случае с планшетом неудобно. А кнопка нужна для реализации экстренной связи с диспетчером.

В производстве, строительстве и добывающей промышленности кнопка нужна не только для рации push-to-talk, но и для обеспечения безопасности, то есть SOS вызова в экстренных ситуациях. Обычно операторы организуют заказчикам Private LTE сети, в которых работает смартфон, и это распространенная практика для Push-To-Talk и XCover.  И наличие джек разъема тут тоже пригодится, чтобы подключить любые проводные наушники или так называемую тангенту.

                                                           XCover7 с подключенной тангентой

XCover7 с подключенной тангентой

Выводы

О том, что у Samsung есть защищенные устройства, известно немногим. Защищенные устройства – это особая специализированная ниша, в которой имеют значение не только кнопки, от которых избавились в обычных смартфонах. Не только читатели могут задать вопрос: а надо ли вот это вот всё…? Может дёшево и сердито пользоваться в бизнесе типовыми потребительскими смартфонами? Стоит ли овчинка выделки следует решать, проявляя достаточную разборчивость в краткосрочных и долгосрочных эффектах (семь раз отмерь, один отрежь). Цена, в команде с иллюзией важности сиюминутных выгод, всегда играет против долгосрочных целей и реальной экономии.

Автор: pavelmedvedev79

Источник [13]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/samsung/403698

Ссылки в тексте:

[1] IP68: https://insights.samsung.com/2020/05/04/ip68-and-milspec-how-they-protect-your-smartphone-investments/

[2] MIL-STD-810H: https://insights.samsung.com/2024/10/22/how-tough-is-the-samsung-galaxy-xcover6-pro-smartphone/

[3] Первый способ: https://docs.samsungknox.com/dev/knox-sdk/features/independent-software-vendors-da/hardware-key-mappings/unmanaged-key-mappings/

[4] KEYCODE_PTT: https://docs.samsungknox.com/devref/knox-sdk/reference/com/samsung/android/knox/kpcc/KPCCManager.html#KEYCODE_PTT

[5] KEYCODE_EMERGENCY: https://docs.samsungknox.com/devref/knox-sdk/reference/com/samsung/android/knox/kpcc/KPCCManager.html#KEYCODE_EMERGENCY

[6] KEY_ACTION_DOWN: https://docs.samsungknox.com/devref/knox-sdk/reference/com/samsung/android/knox/custom/CustomDeviceManager.html#KEY_ACTION_DOWN

[7] KEY_ACTION_UP: https://docs.samsungknox.com/devref/knox-sdk/reference/com/samsung/android/knox/custom/CustomDeviceManager.html#KEY_ACTION_UP

[8] Второй способ: https://docs.samsungknox.com/dev/knox-sdk/features/independent-software-vendors-da/hardware-key-mappings/managed-key-mappings/

[9] Knox Service Plugin: https://docs.samsungknox.com/admin/knox-platform-for-enterprise/knox-service-plugin/configure-advanced-policies/device-key-mapping-for-rugged-devices/

[10] Третий способ: https://docs.samsungknox.com/dev/knox-sdk/sample-app-tutorials/get-started-with-isv-apis/manage-devices-using-isv-apis/

[11] Knox Capture: https://www.samsungknox.com/en/solutions/it-solutions/knox-capture

[12] покупка: https://news.samsung.com/ru/how-samsung-is-helping-walmart-transform-the-retail-associate-experience

[13] Источник: https://habr.com/ru/companies/samsung/articles/862538/?utm_campaign=862538&utm_source=habrahabr&utm_medium=rss