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

в 16:42, , рубрики: KNOX, rugged devices, Samsung, xcover7, защищенное устройство, кнопки

Самое первое защищённое устройство (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, тесты стандарта MIL-STD-810H

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

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

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

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

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

Первый способ - это ручная настройка в разделе 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

1015 (0x000003f7)

Public static final int KEYCODE_EMERGENCY

1079 (0x00000437)

Public static final int KEY_ACTION_DOWN (key press)

1 (0x00000001)

Public static final int KEY_ACTION_UP (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 
  }
}

Второй способ состоит в том, что разработчики приложения определяют собственные 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 или 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

Третий способ – это использование 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. Опция доступна и с клавиатуры, но через кнопку многим удобнее. Кстати, Knox Capture входит в сервис Knox Suite, годовая лицензия на который идет в комплекте с устройством, в нее включены Knox Manage (MDM) и другие полезные KNOX сервисы.

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

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

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

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

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

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

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

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

Выводы

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

Автор: pavelmedvedev79

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js