Как сделать блютуз кнопку для телефона
Несколько лет назад была выпущена кнопка Pressy, которая позволяет быстро выполнять на смартфоне запрограммированные действия. Она была дорогой, но китайцы скопировали её и продают дешевле доллара. Впрочем, такую кнопку можно сделать самостоятельно. Она совместима как с Android-смартфонами, так и взломанными айфонами.
— 3,5-миллиметровый штекер с 4 контактами.
— Мгновенный переключатель с двумя контактами.
— Паяльник с припоем, мультиметр и кусачки.
Стандартный штекер имеет такое обозначение контактов (от основания к концу): микрофон, земля, правый канал, левый канал. С помощью мультиметра определите, каким контактам соответствуют клеммы. Потребуется только земля и контакт микрофона, а остальные клеммы можно отрезать.
Припаяйте мгновенный переключатель с штекеру. Если у него не два контакта, а больше, лишние можно отрезать. В дальнейшем вы можете доработать кнопку — например, залить её клеем или пластиком для того, чтобы скрыть острые концы контактов.
Установите приложение для работы с кнопкой Pressy (их много, можно воспользоваться KeyCut). Вставьте кнопку, запустите приложение и зайдите в его настройки. Укажите, какие действия должны выполнять по нажатию на кнопку. Например, быстрое одинарное нажатие может запускать камеру, двойное — включать или выключать Wi-Fi и т.п. Также поддерживают долгие нажатия. Теперь главное — запомнить запрограммированные действия и не перепутать их.
Большинство физических кнопок были удалены из телефона, благодаря безудержно развивающимися технологиям сенсорных экранов, поэтому предлагаю изготовить своими руками физический ключ для вашего смартфона.
Приложения, совместимые с Pressly позволяют использовать диапазон сочетаний различных комбинации коротких и длинных нажатий клавиши Pressly. Всё звучит замечательно, пока вы не перепутаете комбинации и в конечном итоге не включите фонарик вместо того, чтобы сделать скриншот экрана.
Кроме того, Pressly можно использовать, как антенну FM-радио для смартфона.
Шаг 1: Как работает Pressly?
Pressly использует встроенные функции микрофона и вызова смартфона через аудио разъём. Контакты кнопки связаны между землёй и микрофонными выводами аудиоразъёма. При нажатии на кнопку, земля и «микрофон» замыкаются и генерируемый сигнал, обнаруживается смартфоном. Приложение совместимо с Pressly используется для идентификации сигнала и выполнения определенных функций, что вызываются пользователем.
Шаг 2: Компоненты и необходимые инструменты
Компоненты:
- 3,5 мм аудио штекер (Универсальный 4-полюсный от гарнитуры смартфона);
- Кнопка.
Инструменты
Шаг 3: 3.5 мм аудио штекер
Универсальный 4-полюсный 3,5 мм аудио штекер гарнитуры для смартфона имеет 4 различные клеммы. Клемма, которая располагается ближе к основанию – «микрофон» или «микрофон и управление». Клемма сразу после неё – это земля (GND). Остальные две клеммы являются левым и правым каналами для аудио гарнитуры.
Убедитесь, что 3,5 мм штекер имеет в общей сложности 4 «кольца».
Шаг 4: «Прозвонка» штекера
Перед пайкой настоятельно рекомендую проверить компоненты, которые вы используете в сборке.
Сначала, «прозвоните» ближайшее кольцо к основанию и самую длинную клемму. Они должны «звониться».
Проверьте соединение для клеммы микрофона, установив мультиметр в режим «короткого замыкания» и подключения одного из щупов к микрофону кольца, а другой к клемме микрофона. Если мультиметр выдаст звуковой сигнал, значить все работает нормально.
Затем определите второе кольцо и вторую по длине клемму и «прозвоните» её также.
Оставшиеся две клеммы правого и левого канала проверять не стоит, так как они не используются.
Кроме того, проверьте, чтобы ни одна из 4 клемм не замыкалась.
Шаг 5: Жмём кнопку
Кнопочный мгновенный переключатель действует как обычный выключатель.
В тот момент, когда кнопка нажата – микрофон и земля замыкаются и сигнал обнаруживается приложением на смартфоне.
Шаг 6: Обрезаем дополнительные клеммы
Используя кусачки, обрежем клеммы левого и правого канала.
Большинство мгновенных переключателей имеют 4 клеммы. В проекте будем использовать только две из них (лишние отрежем). После определения нужных клемм (с помощью мультиметра), лишние две следует отрезать, используя для этого кусачки или плоскогубцы.
Шаг 7: Цепь
После того, как вы отрезали все дополнительные клеммы настало время рассмотреть схему.
Необходимо произвести следующие соединения:
Одну клемму кнопки подключите к массе (GND) клемме штекера.
Другую клемму кнопки к микрофону.
Ниже приводится файл, содержащий схему, вид макетной, а также печатной платы. Файл был создан с использованием программного обеспечения Fritzing.
Шаг 8: Паяем соединения
Сопоставьте переключатель так, чтобы его клеммы вписывались в отверстия на клеммах аудио штекера.
Спаяем клеммы вместе.
Убедимся, что после пайки кнопка работает, используя мультиметр для прозвонки цепи.
Шаг 9: Установка и настройка приложения
Pressly совместим с различными приложениями разработчиков на платформах Android и iPhone.
Скачайте приложение от PlayStore.
Подключите Pressly в разъём на смартфоне. В зависимости от приложения, возможно потребуется указать, что Pressly был подключен.
Откройте приложение. При открытии оно предложит вам настройки по умолчанию.
Начнём изменять настройки коротких и длинных команд. Вы сможете выбрать из целого ряда приложений, личных настроек, настроек системы, и др.
Приобрёл год назад селфи палку YunTeng 188… Так и провалялась в шкафу год, без дела. Месяц назад делать было нечего, стряхнул с палки пыль и решил использовать по назначению.
Большее извращение чем фоткаться на селфи палку, фоткаться на селфи палку без дистанционного управления, понял в первые минуты использования этого полезного гаджета я, и отправил кровно заработанный $1 в Китай, в обмен на чудо устройство под названием Universal Monopod Shutter.
РАСЦВЕТКИ радуют глаз
СОВМЕСТИМОСТЬ
УЗЛЫ УПРАВЛЕНИЯ
В Беларусь долетела за пару недель. Естественно без батарейки, о чем я был предупреждён из описания доставки и фидбэков. Батарейка CR2032 обошлась в $0.7
Комплектация: пакетик, пульт, инструкция.
Особенность моего пульта состояла в том, что при попытке впихнуть в него батарейку он разделялся на части. Толи батарейка толще чем надо, то ли у производителя не хватило клея.
Из-за этого недоразумения продавец любезно вернул все деньги обратно, на супер клей (капля которого исправила ситуацию).
Вот что из этого получилось.
ПОДКЛЮЧЕНИЕ К ТЕЛЕФОНУ
1. На торце пульта перемещаем тумблер из положения «OFF» в «ON» (начинает моргать синий диод).
2. На телефоне выбираем пункт Bluetooth, включаем его и производим поиск устройств (пульт определяется как shutter 3). Сопрягаем, радуемся.
ПОДОШЕЛ К:
— Jiayu G4, версия 4.2.1.
— Jiayu F1, версия 4.2.2.
При включенном фотоаппарате за спуск затвора отвечает кнопка «iOS», кнопка «Android» не активна.
При выключенном фотоаппарате кнопка «Android» активирует фонарик, кнопка «iOS» поднимает звук.
Дальность действия 15 метров (2 комнаты и коридор).
Батарейка заявлена на 6 месяцев при работе 10 раз в день, у меня в пользовании пока 2 недели.
ВЫВОД:
Полезная вещица для любителей потешить своё эго. К счастью на мой смартфон стал без танцев с бубном, за другие смартфоны предлагаю отписать обладателей в комментариях.
Покупкой доволен!
До встречи на просторах социальных сетей!
Не знаю как у кого но у меня всегда проблемы когда нужно делать кнопочное (хардовое) управление девайсом. Кроме этого, зачастую при монтаже индикатора (показомера) в автомобиле не желательно нарушать интерьер какими то переключателями.
В очередной раз столкнулся с этой проблемой и вот как я её решил.
Вот такой блютуз модуль заменяет все кнопочное управление. Его цена вполне окупает все те неудобства (по крайней мере для меня) которые сопутствуют монтажу кнопок и переключателей.
Ниже предлагаю видео о том как все это работает.
Повторю, что это не законченное устройство, это пример РЕАЛИЗАЦИИ управления девайсом без кнопок. Поэтому обсуждать функции именно этого девайса НЕ нужно.
Комментарии 39
мне нравится… а есть ли возможность подрулевые кнопки запустить через блютуз модуль…(избежать шлейфа улитки)?
Идея толковая, нужная, но где подробности? Какие именно модули, как пишется софт на андроид, как настраивается… Очень все подробности интересны!
какие еще подробности, ведь я говорил, что тема не о конкретном изделии, а о способе решения поставленной задачи.
если будет конкретное ТЗ тогда можно говорить о какой-то конкретике.
Интересует как раз технология, а не конкретное изделие. В основном ответили.
Так это все было видно в видео… и модуль и окна с листингами программ…
Идея толковая, нужная, но где подробности? Какие именно модули, как пишется софт на андроид, как настраивается… Очень все подробности интересны!
а это уже стартап…))))) я уверен что рядом с серьезным автосервисом стать, и хлеб и масло и колбаса и даже икра будут в избытки. потому как машины для мужиков, это как шопинг для баб…
так что о подробностях наверное за деньги))))) (понятно что шутка )
а я вместо кнопок нарисовал в лабвью мордулица и вывел на экран монитора карписи. Получилась виртуальная печка. Теперь при добавлении новых функций в авто, например уз очистка зеркал или доп. помпа ож просто дорисовываю виртуальную кнопочку и т.п.) и не нужно ничего пилить)
так и я об этом…
А еще подкину идею — вместо РТС что б париться о точности настройки времени и его питании — ЖПС блочок — он точное (до секунди — вполне достаточно для "хюман интерфейса") время в каждом nmea-пакете присилает ;)
Я себе так сделал, и на графическом дисплейчике кругльій "аналогивьій" циферблат нарисовал со стрелками — намудохался малость (с нуля всю графику кодил, слишком просто чтоб готовое решение искать, да и интересно бьіло самому запилить, для експириенса) — зато красиво, душу греет )
ЖПС — клиенты не одобрят по цене.
ЖПС — себе эти понты не нужны, я просто выпаиваю кварц из старой материнки (слава Богу таких полно) и забываю про коррекцию вообще…
Тобто в материнках кварци якісь особливо точні?
Саме так, перевірено неодноразово.
А если уже чем-то надо дьірку в панеле заткнуть — то уж полно дешевих и удобньіх графических дисплеев — нарисовать себе шрифт красивьій, а то об етот 16х2 дисплей себе и глаза поламать можно — без обид, но ето смотрелось бьі мегакруто гдето так в середине 90х, но сейчас же 2017 год за окном, даже с графическими дисплеями морочиться влом если есть такое обилие смартфонов з их дисплеями под руками.
Я например вобще мафон викинул нафиг, вместо него — БТ-аудио-свисток сразу к усилителю подключен — и музон з телефона — очень удобно — всегда любимьій музняк с собой, ничего синхронизовать (перекидивать музняк на флешку авто мафона) не надо.
можно сделать и так но в данном случае был заказ на индикатор в панель.
будет заказ на индикацию в смартфоне тогда сделаю… :-)
Так, клієнт завжди правий (Ви не проти якшо писатиму українсько, а то відразу не помітив що ви з України?)
Але буває що люди часом не до кінця розуміють чого вони саме хочуть, якщо роблять не самі а замовляють такі речі в когось (бо як робиш сам — то краще то всьо осмислюєш, більше усвідомлюєш варіантів різних), + у Вас незрівнянно більший досвід у такій творчості ніж у замовника — і часом їм можна підкинути значно кращу (несподівано для самого замовника) ідею, а заодно підняти і комерційну рентабельність при нагоді )))
Повністю з вам згоден. Іноді так і трапляється, а іноді замовник впертий…
Зараз більше орієнтуюсь на зниження вартості проекту.
Ясно. Ну я мислю з точки зору чистої технічної творчості, тобто просто коли руки сверблять і не дають спокою, а ціна компонентів на другому плані. Комерційними проектами не займаюся наразі.
А если уже чем-то надо дьірку в панеле заткнуть — то уж полно дешевих и удобньіх графических дисплеев — нарисовать себе шрифт красивьій, а то об етот 16х2 дисплей себе и глаза поламать можно — без обид, но ето смотрелось бьі мегакруто гдето так в середине 90х, но сейчас же 2017 год за окном, даже с графическими дисплеями морочиться влом если есть такое обилие смартфонов з их дисплеями под руками.
Я например вобще мафон викинул нафиг, вместо него — БТ-аудио-свисток сразу к усилителю подключен — и музон з телефона — очень удобно — всегда любимьій музняк с собой, ничего синхронизовать (перекидивать музняк на флешку авто мафона) не надо.
А как на счет передавать данньіе о температуре (можно несколько, за бортом и внутри) и бортовом напряжении на телефон, сам телефон ставить в держатель (можно с вайрлесс зарядкой) и отображать ети данние на телефоне? И таким образом избавиться от етого без переувеличения морально устаревшего дисплея (так как на телефоне несоизмеримо больше возможностей для удобного и красивого отображения информации).
для автомобиля паршивое решение ИМХО. достать телефон, разблокировать, запустить приложение, приконнектится к девайсу и чето там клацать и это на ходу. паршивое решение. если функций не много лучше ткнуть куда-то кнопку одну и ей переключать режимы. либо тачскрин. в автомобиле всё должно быть тактильно чтоб не отвлекаться от управления самим авто.
ваш выбор, делайте как вам удобно.
при желании можно выделить смартфон (сейчас это не проблема) стационарно в автомобиле и с него тактильно управлять функциями девайса.
это всего лишь мое мнение.
я понял. поэтому и объясняю, что можно сделать по вашим замечаниям.
для автомобиля паршивое решение ИМХО. достать телефон, разблокировать, запустить приложение, приконнектится к девайсу и чето там клацать и это на ходу. паршивое решение. если функций не много лучше ткнуть куда-то кнопку одну и ей переключать режимы. либо тачскрин. в автомобиле всё должно быть тактильно чтоб не отвлекаться от управления самим авто.
Сенсорный модуль TTP223, можно под пластик панели в любом месте
а можно на сенсорном экране а "листающим" движением режим отображения менять. правда не знаю найдется ли такого или похожего формата экран…
офф топ, но… дисплей 18*2?
и он в 1DIN магнитолу встанет по рамерам, или меньше?
если сильно заморочится можно и дисплэй мафона подружить со всем этим.
ну это классическая схема. я вообще ищу довольно информативный экран в рамер 1Дин.
вместо магнитолы поставить.
Тоже иногда задумываюсь об этом. Блин название фирмы забыл двухдюймовые есть экраны надо прикинуть попохже посмотрю.
да-да-да… вот что-то было.
ну как вариант найти дисплей от магнитолы остаётся.
Они не так дешевые относительно и обмен с мк по уарту шпарит.
мне бы дисплейчик в 1DIN с CAN шиной ну и соответственно внутренним МК на борту)) пожалуйста.
ты силен в кан шине? если ла то тебе стм 32… там и кан на борту есть и экранчик приделать можно
ды я на нём и работаю в основном. в плане СТМ, вот выводящее устройство ищу)
типичные проблемы электроника-упор в исполнительные устройства.
Я почти каждый день слушаю музыку на смартфоне и использую кнопки управления на гарнитуре. Но мне всегда не нравилась одна вещь. Я прихожу домой, продолжая прослушивание, гарнитура подключается к домашнему ПК — и внезапно кнопки перестают работать.
Меня это не испугало — и я решил принять проблему как интересный вызов: можно ли создать какую-то программу для активации кнопок управления, если аппаратной поддержки для них вообще нет? Ответ — да, можно. И вот как сделать это за полчаса.
Первое, что нужно понять — как работают кнопки гарнитуры. Быстрый поиск в интернете нашёл эту спецификацию из документации Android. Там есть диаграмма.
Как можно понять, при нажатии кнопки на гарнитуре замыкается цепь на одном из резисторов. Особого внимания заслуживает Кнопка A (Play/Pause/Hook) с сопротивлением 0 Ом, то есть замыканием микрофона. Если мы способны обнаружить короткое замыкание микрофона, то так сможем определить нажатие кнопки Play/Pause.
Прежде чем начать программировать, хотелось бы проверить разумность наших рассуждений в принципе. То есть того, что по сигналу с микрофона можно определить нажатие кнопки Play/Pause. К счастью, для этого достаточно просто записать звук на компьютере и посмотреть на результат. Я запустил Audacity, нажал во время записи кнопку Play/Pause — и получил такой сигнал.
Бинго
Как видим, нажатие кнопки очевидно отражается в форме сигнала: внезапное падение до −1 с последующим внезапным переходом к 1 и постепенным уменьшением до 0. Интуитивно по спецификации я бы предположил, что сигнал подскочит до 1 и останется там, пока кнопку не отпустить, но в реальности выглядит иначе. Тем не менее, такую картинку всё равно легко обнаружить, если захватить аудиопоток с микрофона.
Зная способ, как обнаружить нажатие кнопок на гарнитуре, можно подумать о главной цели: как управлять плеером на рабочем столе с помощью кнопок гарнитуры.
Первый шаг — обнаружение нажатия кнопки. Для этого нужно захватить аудиопоток с микрофона и обнаружить отчётливую подпись, которую мы видели ранее. Для простоты реализуем решение на Python. После ещё одного небольшого поиска в интернете я нашёл пакет под названием sounddevice, который позволяет абстрагироваться от самой трудной части — реального аудиозахвата с микрофона.
Немножко кодирования даёт нам следующее:
Такой код непрерывно выдаёт среднее значение каждой партии образцов. Мы установили частоту дискретизации 1000, что ужасно мало для обработки звука (обычно используется 44100), но нам в реальности не нужна большая точность. Размер блока определяет, сколько сэмплов в буфере инициируют обратный вызов. Опять же, мы установили очень низкие значения. Размер блока 100 и частота дискретизации 1000 фактически означает срабатывание 10 раз в секунду, где при каждом вызове обрабатывается только 100 сэмплов.
Теперь мы захватываем аудиопоток и можно реализовать реальный механизм для обнаружения нажатия кнопки. Напомним, что сигнал подскакивает до 1 всякий раз при нажатии. Это подсказывает самый простой способ обнаружения: если у N последовательных блоков значения сигнала выше 0,9, то есть нажатие.
Реализуем алгоритм в нашей функции:
По сути мы запустили внутренний счётчик, сколько обработанных блоков отвечают пороговому требованию, которое просто установили на 0,9, предусмотрев неизбежное зашумление образца. Если блок не удовлетворяет требованию, счётчик сбрасывается — и мы начинаем заново. Переменная is_held отслеживает срабатывания, чтобы не регистрировать их многократно, если кнопка не отпускается.
Теперь осталось только заменить в реальном коде комментарий “The button was pressed!”, чтобы управлять воспроизведением звука в Windows. Снова погуглим, чтобы разобраться, как это сделать: оказывается, можно управлять воспроизведением, имитируя нажатие клавиш соответствующими кодами виртуальных клавиш.
Оказалось, что имитировать нажатия клавиш очень легко с помощью пакета pywin32, который является просто оболочкой Python для Windows API. Собрав всё вместе, мы можем создать следующую функцию:
И у нас получилось! Обращение к функции toggle_play в том месте кода, где был комментарий “The button was pressed!”, позволяет управлять любым медиаплеером в Windows с помощью кнопок на гарнитуре Android.
Тесты показали, что код работает на удивление хорошо. Единственное различие между функциональностью на Android и Windows заключается в небольшой задержке при нажатии на кнопку, но с этим можно жить.
И вот что получилось
Скрипт Python состоит из 51 строки, которые активируют кнопки гарнитуры Android в Windows. Окончательный исходный код этого проекта лежит на Github.
После счастливого использования программы в течение нескольких часов я заметил серьёзную проблему:
Программа использует почти 30% CPU! Очевидно, это неприемлемо при длительной работе, что-то нужно делать. Посмотрев на код, я понял, что основной поток находится в состоянии ожидания в основном цикле, хотя там ничего не происходит. Наиболее логичное решение — просто усыпить поток навсегда: поскольку колбэк вызывается автоматически, нам всё равно не нужен цикл.
Читайте также: