Внешний датчик для андроид

Выбор есть: 9 аксессуаров, которые превратят смартфон в полезный прибор

Смартфоны умеют многое, но есть такие аксессуары, которые эти самые возможности делают ещё шире. Лёгким движением руки мобильное устройство превращается в микроскоп, эндоскоп или ODB-сканер, универсальный пульт ДУ или алкотестер. Все эти симбиозные решения практически ни в чём не уступают полноразмерным самодостаточным аналогам, а стоят дешевле, потому что часть функций берёт на себя смартфон. Сегодня разбираемся в том, как ещё вам может послужить мобильный гаджет.

USB-эндоскопы

Практичный аксессуар поможет заглянуть внутрь кондиционера, не разбирая его, исследовать детали двигателя авто и «посетить» множество других труднодоступных мест. Мини-эндоскоп повысит шансы на успешные поиски упавшего в раковину кольца или исчезнувшей за шкафом гайки. Компактная камера на гибком проводе длиной до 5 метров будет передавать видеоотчёт на ваш смартфон в режиме реального времени. Для большего удобства устройства оснащаются регулируемой подсветкой, а благодаря дополнительным насадкам при необходимости можно подцепить какую-нибудь деталь и вытащить её.

Мини-эндоскоп поддерживает шесть режимов подсветки — видеосъёмку в разрешении 640×480 пикселей можно вести в полной темноте. На проводе размещён пульт с кнопкой фотосъёмки и колесом регулировки подсветки. USB-эндоскоп имеет стандарт защиты IP67, а потому «прогулки» по трубам ему не страшны. Благодаря диаметру головки камеры 7 мм и фокусному расстоянию 5 см исследовать можно даже самые труднодоступные пространства. В комплекте несколько насадок: с магнитом и крючком, чтобы было проще подцепить и достать пропажу, и насадка-зеркало для лучшего обзора. Гаджет работает в паре с приложением и доступен в нескольких версиях: с длиной провода 1 метр, 1,5 метра и 2 метра.

Второй вариант USB-эндоскопа с проводом до 5 метров предлагает большую свободу действий. Модель с фокусным расстоянием от 3 до 8 см ведёт видео-, фото- и звукозапись. Диаметр головки камеры составляет 7 мм, так что эндоскоп прошмыгнёт практически куда угодно: с ним можно заглянуть под плинтус или даже проверить «апартаменты» аквариумных рыбок — гаджет имеет стандарт защиты IP67. Как и предыдущая модель, эндоскоп включает шесть режимов светодиодной подсветки и небольшой пульт управления, а в комплект поставки входят насадки с крючком, магнитом и зеркалом. Отснятые материалы можно сохранить и в любой момент пересмотреть их.

OBD-сканеры

С этим практичным аксессуаром диагностику электроники авто можно проводить самому. Адаптер работает в паре со смартфоном, и последний берёт на себя роль компьютера. Гаджет не только выявляет ошибки и расшифровывает их, но и помогает стирать сообщения о них. Таким образом, недорогое устройство позволяет экономить не только время и нервы автовладельца, но и в некоторых случаях — деньги на услугах автосервисов. Узнать о совместимости адаптера с моделью вашего «железного коня» можно в описании товара, и в случае сомнений уточнить у продавца.

Автосканер Neaxpeak NX102 с версией прошивки 1.5 поддерживает 10 протоколов и работает вместе с мобильными приложениями Torque Pro с поддержкой русского языка и DashCommand с поддержкой английского. Всё, что необходимо для бортовой диагностики, так это подключить адаптер к 16-контактному разъёму и установить соединение по Bluetooth. Такой прибор пригодится не только для сброса ошибок, но и для наглядной демонстрации показаний датчиков, которые на приборной панели не отображаются.

Читайте также:  Microsoft офис для андроида

OBD-сканер Foxwell с чипом PIC18F25K80 получил версию прошивки 1.5 и поддержку Bluetooth. Работает устройство в паре со смартфонами на Android с приложением Torque Pro с поддержкой русского языка. Для устройств на iOS по ссылке предлагается приобрести Wi-Fi-версию. Помимо чтения, расшифровки и удаления ошибок, в режиме реального времени он определит и такие параметры, как обороты и нагрузка двигателя, состояние топливной системы и расход горючего, абсолютное давление воздуха и многое другое. От предыдущего адаптера модель отличается формой, расцветкой и большими габаритами — 8,5 x 4,5 x 2,5 см.

Беспроводные микроскопы

Преимущество беспроводных микроскопов заключается в их компактности и небольшом весе — с карманным устройством работать можно где угодно. Мобильные гаджеты не требуют установки для того, чтобы исследовать объекты, и предлагают настраиваемую яркую подсветку для более комфортного использования. Портативный вариант стоит меньше крупногабаритных собратьев, но также эффективен в работе: при пайке, проверке ювелирных изделий, денежных купюр или текстиля. Ещё такой гаджет понравится и просто любознательным пользователям.

Эта модель микроскопа работает в связке с устройствами на iOS и Android посредством приложения с поддержкой английского языка. Гаджет с увеличением до 1 000x передаёт на смартфон видео в разрешение 640×480 пикселей с частотой 20 кадров в секунду. Внутри установлен Wi-Fi модуль и аккумулятор ёмкостью 750 мАч, который обеспечит до 2,5 часов работы. За удобное использование отвечает регулируемая подсветка с восемью встроенными диодами, рабочий диапазон до 10 м и фокусное расстояние 0 мм

40 мм. Габариты составляют 142 x 37 мм, а вес — 100 граммов.

В комплект беспроводного микроскопа входит подставка размерами 120×160 мм, на которой можно зафиксировать объект исследования. Камера с увеличением до 1 000 раз получила объектив с диафрагмой f/4,5 и углом обзора 16 градусов, поэтому рассмотреть в подробностях удастся всё. Запись видео ведётся в разрешении 720p. Аккумулятор ёмкостью 800 мАч обеспечивает до 3 часов работы, а регулируемая подсветка из восьми встроенных диодов делает эту работу более комфортной. Габариты микроскопа составляют 130×32 мм.

IR-модули

Если ваш смартфон не оснащён ИК-передатчиком, то его можно добавить, прикупив внешний модуль под аудиоразъём 3,5 мм. Полезный аксессуар с поддержкой приёма и передачи сигнала превратит смартфон в универсальный пульт. С его помощью можно управлять телевизорами, кондиционерами, ТВ-приставками, фотоаппаратами, проекторами и другой техникой.

Внешний ИК-модуль работает на дистанции до 5-8 м: можно с комфортом расположиться на диване перед телевизором и оттуда же управлять ТВ-приставкой. Компактный аксессуар совместим со смартфонами на Android и iOS, оснащённых миниджеком. Работает модуль в паре с мобильным приложением Tasogo с поддержкой английского языка, которое «знает» множество различных производителей техники. Для того чтобы превратить смартфон в универсальный пульт ДУ, необходимо подключить внешний модуль и в настройках приложения выбрать модель ТВ, бокса или фотоаппарата. Модуль можно «натренировать» на любую технику, используя оригинальный пульт. Для этого достаточно их «познакомить», направив друг на друга.

ИК-передатчик с чехлом брелоком будет сложнее потерять, а за счёт компактных габаритов выглядит он как обычная заглушка под миниджек. Как и предыдущий вариант, этот модуль работает в связке с мобильным приложением, благодаря которому смартфон сможет переключать ТВ-каналы, регулировать температурные режимы кондиционера или управлять фотосъёмкой на расстоянии.

Алкотестер

Алкотестер — полезная вещица для автовладельцев. Доступное устройство габаритами не больше коробка спичек убережёт от проблем с автоинспекцией, а ещё показания независимого электронного «эксперта» могут спасти жизнь.

Универсальный алкотестер от Ipega не нуждается в источнике питания, поскольку работает от смартфона. Он оснащён экраном, на котором отображаются показатели в двух единицах измерения: г/л (промилле) и % ВАС. Тестирование осуществляется бесконтактным способом, поэтому не придётся докупать мундштуки или стерилизовать их. Экран алкотестера получил ещё и световую индикацию, которая станет дополнительной подсказкой: зелёная — опьянения нет, концентрация алкоголя 0,00 промилле; жёлтая — небольшое опьянение, концентрация алкоголя от 0,2 до 0,5 промилле (0,02%-0,05% ВАС); красная — опьянение достаточно сильное, концентрация алкоголя более 0,8 промилле (0,08% ВАС).

Читайте также:  Как найти утерявший андроид

Хватает ли вам того, что может предложить смартфон? Делитесь в комментариях, как бы вы расширили функциональность гаджета.

Источник

Сенсорные датчики в Android: какие они бывают и как с ними работать

Содержание статьи

Датчики всякие нужны!

Для работы с аппаратными датчиками, доступными в устройствах под управлением Android, применяется класс SensorManager, ссылку на который можно получить с помощью стандартного метода getSystemService:

Чтобы начать работать с датчиком, нужно определить его тип. Удобнее всего это сделать с помощью класса Sensor, так как в нем уже определены все типы сенсоров в виде констант. Рассмотрим их подробнее:

  • Sensor.TYPE_ACCELEROMETER — трехосевой акселерометр, возвращающий ускорение по трем осям (в метрах в секунду в квадрате). Связанная система координат представлена на рис. 1.
  • Sensor.TYPE_LIGHT — датчик освещенности, возвращающий значение в люксах, обычно используется для динамического изменения яркости экрана. Также для удобства степень освещенности можно получить в виде характеристик — «темно», «облачно», «солнечно» (к этому мы еще вернемся).
  • Sensor.TYPE_AMBIENT_TEMPERATURE — термометр, возвращает температуру окружающей среды в градусах Цельсия.
  • Sensor.TYPE_PROXIMITY — датчик приближенности, который сигнализирует о расстоянии между устройством и пользователем (в сантиметрах). Когда в момент разговора гаснет экран — срабатывает именно этот датчик. На некоторых девайсах возвращается только два значения: «далеко» и «близко».
  • Sensor.TYPE_GYROSCOPE — трехосевой гироскоп, возвращающий скорость вращения устройства по трем осям (радиан в секунду).
  • Sensor.TYPE_MAGNETIC_FIELD — магнитометр, определяющий показания магнитного поля в микротеслах (мкТл) по трем осям (имеется в смартфонах с аппаратным компасом).
  • Sensor.TYPE_PRESSURE — датчик атмосферного давления (по-простому — барометр), который возвращает текущее атмосферное давление в миллибарах (мбар). Если немного вспомнить физику, то, используя значение этого датчика, можно легко вычислить высоту (а ежели вспоминать ну никак не хочется, можно воспользоваться готовым методом getAltitude из объекта SensorManager).
  • Sensor.TYPE_RELATIVE_HUMIDITY — датчик относительной влажности в процентах. Кстати, совместное применение датчиков относительной влажности и давления позволяет предсказывать погоду — конечно, если выйти на улицу. 😉
  • Sensor.TYPE_STEP_COUNTER (с API 19) — счетчик шагов с момента включения устройства (обнуляется только после перезагрузки).
  • Sensor.TYPE_MOTION_DETECT (с API 24) — детектор движения смартфона. Если устройство находится в движении от пяти до десяти секунд, возвращает единицу (по всей видимости, задел для аппаратной функции «антивор»).
  • Sensor.TYPE_HEART_BEAT (с API 24) — детектор биения сердца.
  • Sensor.TYPE_HEART_RATE (с API 20) — датчик, возвращающий пульс (ударов в минуту). Этот датчик примечателен тем, что требует явного разрешения android.permission.BODY_SENSORS в манифесте.

Рис. 1. Система координат датчиков

Перечисленные датчики являются аппаратными и работают независимо друг от друга, часто без всякой фильтрации или нормализации значений. «Для облегчения жизни разработчиков»™ Google ввела несколько так называемых виртуальных сенсоров, которые предоставляют более упрощенные и точные результаты.

Например, датчик Sensor.TYPE_GRAVITY пропускает показания акселерометра через низкочастотный фильтр и возвращает текущие направление и величину силы тяжести по трем осям, а Sensor.TYPE_LINEAR_ACCELERATION использует уже высокочастотный фильтр и получает показатели ускорения по трем осям (без учета силы тяжести).

Исчерпывающее описание всех датчиков доступно по ссылке.

Читайте также:  Net player для android

При разработке приложения, эксплуатирующего показания сенсоров, вовсе не обязательно бегать по улице или прыгать в воду с высокой скалы, так как эмулятор, входящий в поставку Android SDK, умеет передавать приложению любые отладочные значения (рис. 2–3).

Рис. 2. Крутим и кидаем

Рис. 3. Нагреваем и сдавливаем

Ищем датчики

Чтобы узнать, какие сенсоры есть в смартфоне, следует использовать метод getSensorList объекта SensorManager:

Полученный список будет включать все поддерживаемые датчики: как аппаратные, так и виртуальные (рис. 4). Более того, некоторые из них будут иметь различные независимые реализации, отличающиеся количеством потребляемой энергии, задержкой, рабочим диапазоном и точностью.

Для получения списка всех доступных датчиков конкретного типа необходимо указать соответствующую константу. Например, код

вернет все доступные барометрические датчики. Причем аппаратные реализации окажутся в начале списка, а виртуальные — в конце (правило действует для всех типов датчиков).

Рис. 4. Датчики смартфона среднего ценового диапазона

Чтобы получить реализацию датчика по умолчанию (такие датчики хорошо подходят для стандартных задач и сбалансированы в плане энергопотребления), используется метод getDefaultSensor:

Если для заданного типа датчика существует аппаратная реализация, по умолчанию будет возвращена именно она. Когда нужного варианта нет, в дело вступает виртуальная версия, ну а если, увы, ничего подходящего в девайсе не окажется, getDefaultSensor вернет null .

О том, как самолично выбирать реализацию датчиков по критериям, написано во врезке, мы же плавно двигаемся дальше.

Снимаем показания

Чтобы получать события, генерируемые датчиком, необходимо зарегистрировать реализацию интерфейса SensorEventListener с помощью того же SensorManager. Звучит сложновато, но на практике реализуется одной строчкой:

Здесь мы полученный ранее барометр по умолчанию регистрируем с помощью метода registerListener, передавая в качестве второго параметра сенсор, а в качестве третьего — частоту обновления данных.

В классе SensorManager определены четыре статические константы, определяющие частоту обновления:

  • SensorManager.SENSOR_DELAY_FASTEST — максимальная частота обновления данных;
  • SensorManager.SENSOR_DELAY_GAME — частота, обычно используемая в играх, поддерживающих гироскоп;
  • SensorManager.SENSOR_DELAY_NORMAL — частота обновления по умолчанию;
  • SensorManager.SENSOR_DELAY_UI — частота, подходящая для обновления пользовательского интерфейса.

Нужно сказать, что, указывая частоту обновления, не стоит ожидать, что она будет строго соблюдаться. Как показывает практика, данные от сенсора могут приходить как быстрее, так и медленнее.

Оставшийся нерассмотренным первый параметр представляет собой реализацию интерфейса SensorEventListener, где мы наконец-то получим конкретные цифры:

В метод onSensorChanged передается объект SensorEvent, описывающий все события, связанные с датчиком: event.sensor — ссылка на датчик, event.accuracy — точность значения датчика (см. ниже), event.timestamp — время возникновения события в наносекундах и, самое главное, массив значений event.values. Для датчика давления передается только один элемент, тогда как, например, для акселерометра предусмотрено сразу три элемента для каждой из осей. В следующих разделах мы рассмотрим примеры работы с различными датчиками.

Метод onAccuracyChanged позволяет отслеживать изменение точности передаваемых значений, определяемой одной из констант: SensorManager.SENSOR_STATUS_ACCURACY_LOW — низкая точность, SensorManager.SENSOR_STATUS_ACCURACY_MEDIUM — средняя точность, возможна калибровка, SensorManager.SENSOR_STATUS_ACCURACY_HIGH — высокая точность, SensorManager.SENSOR_STATUS_UNRELIABLE — данные недостоверны, нужна калибровка.

После того как отпадает необходимость работы с датчиком, следует отменить регистрацию:

Меряем давление и высоту

Весь код для работы с датчиком давления мы уже написали в предыдущем разделе, получив в переменной pressure вполне себе значение атмосферного давления в миллибарах.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Источник

Оцените статью