- Инструкция к bluetooth пульту для селфи
- Bluetooth кнопки для андроид
- Селфи кнопка или Bluetooth пульт дистанционной съёмки.
- Здравствуйте!
- РАСЦВЕТКИ радуют глаз
- СОВМЕСТИМОСТЬ
- УЗЛЫ УПРАВЛЕНИЯ
- ПОДКЛЮЧЕНИЕ К ТЕЛЕФОНУ
- ПОДОШЕЛ К:
- ВЫВОД:
- Переключения между Bluetooth-устройствами в Android одним нажатием: настраиваем
- как настроить функцию быстрого переключения между Bluetooth-устройствами в Android
- Машинка на Arduino, управляемая Android-устройством по Bluetooth, — код приложения и мк (часть 2)
- О первый части
- Android-приложение
- Верстка
- Манифест
- Основная активность, сопряжение Arduino и Android
- Управление и отправка команд
- Подводим итоги Андроид-приложения
- Скетч Arduino
- Переменные
- Метод setup()
- Метод loop() и дополнительные функции
- Итоги скетча
- В конце концов
Инструкция к bluetooth пульту для селфи
Делать селфи не только модно, но и удобно. Правда иногда для снимков вытянутой руки или селфи палки недостаточно. Для такого случая и придумали пульт для селфи. Маленький гаджет напоминает брелок, поэтому не занимает много места и легко помещается в карман.
Если вам уже повезло и вы приобрели маленького помощника, то вам осталось разобраться в особенностях его работы. На самом деле, в этом нет ничего сложного. Но все-таки нам хочется поделиться информацией о том, как пользоваться пультом для селфи.
Описание схемы пульта:
- световой индикатор для готовности устройства к работе;
- селфи-кнопка для iOS устройств, дополнительный функционал — увеличение громкости смартфона;
- джойстик on/off для включения/выключения пульта;
- селфи-кнопка для Android устройств, дополнительный функционал — ввод (enter);
- крепление для шнурка.
Поддерживаемые системы смартфонов и планшетов:
Особенности пульта:
- радиус действия — 10 метров;
- не является водонепроницаемым;
- для смены батарейки требуется отвертка;
- в первый раз время bluetooth-подключения займет до 5-10 секунд, в следующие подключения — до 2 секунд.
Алгоритм включение пульта:
- включить режим On (п. 3 на схеме). Если индикатор (п. 1 на схеме) замигал, значит устройство работает корректно и готово к работе;
- включить режим bluetooth на смартфоне или на планшете;
- запустить поиск новых устройств, подключить устройство к пульту для соединения;
Имя пульта в списке подключенных bluetooth-устройств:- для iOS: AB Shutter;
- для Android: EDUP-3513, ABShutter;
- в отдельных случаях возможно имя Yunteng.
Иногда система Android не видит пульт в списке устройств. Ниже приведен список бесплатных приложений, которые могут помочь.
- запустить камеру вашего устройства;
- нажать на соответствующую кнопку (для iOS — п. 2 на схеме, для Android — п. 4 на схеме);
- любование новым фото, выключение пульта при необходимости (п. 3 на схеме);
- для повторного включения выбирать имя среди подключенных устройств больше не придется.
Бесплатные приложения для Android, если устройство не видит пульт:
- Selfishop Camera;
Специальное приложение, разработанное для селфи пульта. - Camera360.
- настройки (значок в виде шестеренки);
- дополнительные настройки (advanced settings);
- настройки камеры (camera settings);
- клавиша громкости (volume function);
- выбрать съемку (сapture).
Пошаговая настройка приложения:
Источник
Bluetooth кнопки для андроид
Краткое описание:
Позволяет переназначить кнопки вашей Bluetooth гарнитуры.
Первое и единственное приложение, которое позволяет переназначить кнопки вашей Bluetooth гарнитуры!
Управление телефоном с гарнитуры с новым приложением смарт-гарнитур Assistant: https://play.google.co…tails?id=com.yado.sbh2
Пожалуйста, помогите перевести приложение на ваш язык: https://poeditor.com/join/project/NEACfPnAVC
Не забудьте включить вручную переназначения в меню уведомлений. Это ограничение бесплатной версии!
Пожалуйста, скорее комментируйте или свяжитесь со мной по электронной почте, если у вас есть какие-либо проблемы с приложением или хотите запросить новую функцию (связь не работает так хорошо с комментариями) =)
Большинство гарнитур Bluetooth имеют кнопки, которые могут сделать только 2 вещи — звонить на последний набранный номер и начать голосовую команду. Обе довольно бесполезные. Используя SmartHeadset вы можете переназначить кнопки вашей Bluetooth гарнитуры для более полезные вещей:
— контролировать медиа-плеер
— проговаривать вам время
— вызов голосового помощника Таким образом, вы управлять телефоном с вашей Bluetooth-гарнитуры.
Внимание
— Включите Bluetooth и снова включите (или наоборот) при первом запуске этого приложения, чтобы инициализировать его правильно. Вы должны сделать это только один раз.
— Не забудьте выключить Bluetooth перед удалением этого приложения для того, чтобы завершить работу правильно.
Основные характеристики
— Воспроизведение / пауза и перемотка медиа-плеер с помощью ваших кнопок гарнитуры Bluetooth
— Скажем, время (с помощью предварительно установленного текста в речь (TTS) движка)
— Запуск голосового помощника, используя ваши кнопки гарнитуры Bluetooth
— Tasker интеграции
— Быстрое переключение переназначения или использовать голосовой номеронабиратель Теперь телефонные звонки возможны даже когда переназначение активно!
— Быстрое переключение контролируемого медиа-плеера
— Автоматическое отключение Bluetooth гарнитуры после отключения для экономии энергии
Известные проблемы и разрешения
Функциональность этого приложения не поддерживается изначально на Android. Поэтому он использует несколько обходных путей.
— Там будет «*» или запись «* 1» в журнале телефона, когда приложение активно. Игнорируйте его, он будет удален на гарнитуре отключиться. Это позволяет сделать телефонные звонки, даже если переназначение активно. (Это требует «Перенаправление исходящих вызовов», «читать Вызовы» и «писать журнал вызовов» разрешение).
— Воспроизведение / пауза соответственно. перемотка назад может не работать на каждом Bluetooth ключ гарнитуры нажми и будет задержкой 3-5 секунд. Это Android вопрос 🙁
Требуется Android: 4.4+
Русский интерфейс: Да
версия: 1.976 Headset Button Remapper_1.976.apk ( 3.54 МБ )
Источник
Селфи кнопка или Bluetooth пульт дистанционной съёмки.
Здравствуйте!
Приобрёл год назад селфи палку YunTeng 188… Так и провалялась в шкафу год, без дела. Месяц назад делать было нечего, стряхнул с палки пыль и решил использовать по назначению.
Большее извращение чем фоткаться на селфи палку, фоткаться на селфи палку без дистанционного управления, понял в первые минуты использования этого полезного гаджета я, и отправил кровно заработанный $1 в Китай, в обмен на чудо устройство под названием Universal Monopod Shutter.
РАСЦВЕТКИ радуют глаз
СОВМЕСТИМОСТЬ
УЗЛЫ УПРАВЛЕНИЯ
В Беларусь долетела за пару недель. Естественно без батарейки, о чем я был предупреждён из описания доставки и фидбэков. Батарейка CR2032 обошлась в $0.7
Комплектация: пакетик, пульт, инструкция.
Особенность моего пульта состояла в том, что при попытке впихнуть в него батарейку он разделялся на части. Толи батарейка толще чем надо, то ли у производителя не хватило клея.
Из-за этого недоразумения продавец любезно вернул все деньги обратно, на супер клей (капля которого исправила ситуацию).
Вот что из этого получилось.
ПОДКЛЮЧЕНИЕ К ТЕЛЕФОНУ
ПОДОШЕЛ К:
— Jiayu G4, версия 4.2.1.
— Jiayu F1, версия 4.2.2.
При включенном фотоаппарате за спуск затвора отвечает кнопка «iOS», кнопка «Android» не активна.
При выключенном фотоаппарате кнопка «Android» активирует фонарик, кнопка «iOS» поднимает звук.
Дальность действия 15 метров (2 комнаты и коридор).
Батарейка заявлена на 6 месяцев при работе 10 раз в день, у меня в пользовании пока 2 недели.
ВЫВОД:
Полезная вещица для любителей потешить своё эго. К счастью на мой смартфон стал без танцев с бубном, за другие смартфоны предлагаю отписать обладателей в комментариях.
Покупкой доволен!
До встречи на просторах социальных сетей!
Источник
Переключения между Bluetooth-устройствами в Android одним нажатием: настраиваем
Встроенное мини-меню для быстрого переключения между Bluetooth-устройств из Android-а (начиная с 9-й версии) убрали. Разработчикам, наверное, виднее, но фича была реально полезная.
Так что, если вам, дорогой читатель, её тоже не хватает, то зашли вы по адресу. Сейчас расскажем, как сделать почти такую же. И даже лучше.
как настроить функцию быстрого переключения между Bluetooth-устройствами в Android
Значит, прога, а точнее виджет или, если еще точнее, то Bluetooth Audio Device Widget (это официальное название), предназначена как раз для того, чтобы упростить и ускорить процесс переключения между Bluetooth-аксессуарами на любом совместимом смартфоне или планшете.
Работает виджет просто: вместо того, чтобы открывать сначала шторку, затем жать кнопку Bluetooth и выбирать нужное устройство в списке подключенных, просто тапаем по переключателю на домашнем экране. С настройкой тоже несложно
#1 — качаем и устанавливаем Bluetooth Audio Device Widget
#2 — даем необходимые разрешения
По факту установки прога затребует разрешение на доступ к данным о местоположении. НО данные эти требуются только для работы с наушниками Apple AirPods. Так что, если таковые в списке подключенных имеются, то тогда тапаем вариант «Разрешить всегда» (или «Разрешить однократно»), это во-первых.
Во-вторых, приложение также спросит разрешение работать в фоновом режиме. По идее, так оно должно должно функционировать быстрее и экономнее. Потому если хотим разрешить, то идем в «Настройки«, далее — в раздел «Батарея«, там открываем «Контроль активности«, в списке приложений тапаем «Bluetooth Audio Widget» и ставим ему режим «Без ограничений«.
#3 — настраиваем сам виджет
После установки приложение само находит все совместимые Bluetooth-устройства (в том числе и те, которые к смартфону подключались когда-то) и для каждого можно выбрать отдельный значок. Для этого открываем приложение, в списке тапаем по названию Bluetooth-девайса, жмем «Изменить значок» и выбираем подходящий, по которому и будем узнавать устройство в виджете на главном экране.
Попутно можно активировать также «Плитку быстрых настроек» и опции быстрого запуска приложение, скрытия названия устройства в виджете и автоматического отключения Bluetooth смартфона при выключении устройства.
И что еще интереснее, в «Настройках» виджета есть пункт «Громкость«. В нём можно заранее установить уровень громкости по умолчанию для каждого устройств, плюс установить плеер (или несколько), который будет автоматом запускаться при нажатии значка соответствующего устройства в виджете.
#4 — добавляем виджет на домашний экран
- переходим на домашний экран смартфона;
- тапаем по пустому месту и держим нажатие, пока откроется доп-меню, в нем жмем кнопку «Виджеты«;
- в списке виджетов находим «Bluetooth Audio Widget«, жмем и просто перетаскиваем значок, куда надо и отпускаем;
- приложение тут же предложит назначить на этому значку его Bluetooth-устройство — выбираем, назначаем;
- после этого повторяем то же самое для всех прочих Bluetooth-устройств, для которых надо настроить быстрое переключение;
- и расставляем значки в удобном порядке.
#5 — как переключаться между Bluetooth-устройствами в Android одним нажатием?
Ну вот теперь одним тапом по значку и переключаемся. То есть, просто жмем значок девайса — и смартфон тут же к нему подключается (если устройство находится в пределах досягаемости Bluetooth-модуля, конечно). Когда надо быстро переключиться на друге устройство, жмем его значок в виджете — полсекунды и смартфон его нашел и подключился. Вот и вё.
Источник
Машинка на Arduino, управляемая Android-устройством по Bluetooth, — код приложения и мк (часть 2)
О первый части
В первой части я описал физическую часть конструкции и лишь небольшой кусок кода. Теперь рассмотрим программную составляющую — приложение для Android и скетч Arduino.
Вначале приведу подробное описание каждого момента, а в конце оставлю ссылки на проекты целиком + видео результата, которое должно вас разочаровать ободрить.
Android-приложение
Программа для андроида разбита на две части: первая — подключение устройства по Bluetooth, вторая — джойстик управления.
Предупреждаю — дизайн приложения совсем не прорабатывался и делался на тяп-ляп, лишь бы работало. Адаптивности и UX не ждите, но вылезать за пределы экрана не должно.
Верстка
Стартовая активность держится на верстке, элементы: кнопки и layout для списка устройств. Кнопка запускает процесс нахождения устройств с активным Bluetooth. В ListView отображаются найденные устройства.
Экран управления опирается на верстку, в которой есть только кнопка, которая в будущем станет джойстиком. К кнопки, через атрибут background, прикреплен стиль, делающий ее круглой.
TextView в финальной версии не используется, но изначально он был добавлен для отладки: выводились цифры, отправляемые по блютузу. На начальном этапе советую использовать. Но потом цифры начнут высчитываться в отдельном потоке, из которого сложно получить доступ к TextView.
Файл button_control_circle.xml (стиль), его нужно поместить в папку drawable:
Также нужно создать файл item_device.xml, он нужен для каждого элемента списка:
Манифест
На всякий случай приведу полный код манифеста. Нужно получить полный доступ к блютузу через uses-permission и не забыть обозначить вторую активность через тег activity.
Основная активность, сопряжение Arduino и Android
Наследуем класс от AppCompatActivity и объявляем переменные:
Метод onCreate() опишу построчно:
Нижеприведенные функции проверяют, получено ли разрешение на использование блютуза (без разрешение пользователя мы не сможем передавать данные) и включен ли блютуз:
Если все проверки пройдены, начинается поиск устройства. Если одно из условий не выполнено, то высветится уведомление, мол, «разрешите\включите?», и это будет повторяться, пока проверка не будет пройдена.
Поиск устройства делится на три части: подготовка списка, добавление в список найденных устройств, установка соединения с выбранным устройством.
Когда Bluetooth-модуль, повешенный на Arduino (подробнее об этом далее), будет найден, он появится в списке. Нажав на него, вы начнете создание socket (возможно, после клика придется подождать 3-5 секунд или нажать еще раз). Вы поймете, что соединение установлено, по светодиодам на Bluetooth-модуле: без соединения они мигают быстро, при наличии соединения заметно частота уменьшается.
Управление и отправка команд
После того как соединение установлено, можно переходить ко второй активности — ActivityControl. На экране будет только синий кружок — джойстик. Сделан он из обычной Button, разметка приведена выше.
В методе onCreate() происходит все основное действо:
Обратите внимание (!) — мы узнаем, сколько пикселей занимает кнопка. Благодаря этому получаем адаптивность: размер кнопки будет зависеть от разрешения экрана, но весь остальной код легко под это подстроится, потому что мы не фиксируем размеры заранее. Позже научим приложение узнавать, в каком месте было касание, а после переводить это в понятные для ардуинки значения от 0 до 255 (ведь касание может быть в 456 пикселях от центра, а МК с таким числом работать не будет).
Далее приведен код ControlDriveInputListener(), данный класс располагается в классе самой активности, после метода onCreate(). Находясь в файле ActivityControl, класс ControlDriveInputListener становится дочерним, а значит имеет доступ ко всем переменным основного класса.
Не обращайте пока что внимание на функции, вызываемые при нажатии. Сейчас нас интересует сам процесс отлавливания касаний: в какую точку человек поставил палец и какие данные мы об этом получим.
Обратите внимание, использую класс java.util.Timer: он позволяет создать новый поток, который может иметь задержку и повторятся бесконечное число раз через каждое энное число секунд. Его нужно использовать для следующей ситуации: человек поставил палец, сработал метод ACTION_DOWN, информация пошла на ардуинку, а после этого человек решил не сдвигать палец, потому что скорость его устраивает. Второй раз метод ACTION_DOWN не сработает, так как сначала нужно вызвать ACTION_UP (отодрать палец от экрана).
Чтож, мы запускаем цикл класса Timer() и начинаем каждые 10 миллисекунд отправлять те же самые данные. Когда же палец будет сдвинут (сработает ACTION_MOVE) или поднят (ACTION_UP), цикл Timer надо убить, чтобы данные от старого нажатия не начали отправляться снова.
Обратите еще раз внимание: отсчет x и y метод onTouch() ведет от верхнего левого угла View. В нашем случае точка (0; 0) находится у Button тут:
Теперь, когда мы узнали, как получить актуальное расположение пальца на кнопки, разберемся, как преобразовать пиксели (ведь x и y — именно расстояние в пикселях) в рабочие значения. Для этого использую метод calculateAndSendCommand(x, y), который нужно разместить в классе ControlDriveInputListener. Также понадобятся некоторые вспомогательные методы, их пишем в этот же класс после calculateAndSendCommand(x, y).
Когда данные посчитаны и переведены, в игру вступает второй поток. Он отвечает именно за отправку информации. Нельзя обойтись без него, иначе сокет, передающий данные, будет тормозить отлавливание касаний, создастся очередь и все конец всему короче.
Класс ConnectedThread также располагаем в классе ActivityControl.
Подводим итоги Андроид-приложения
Коротко обобщу все громоздкое вышеописанное.
- В ActivityMain настраиваем блютуз, устанавливаем соединение.
- В ActivityControl привязываем кнопку и получаем данные о ней.
- Вешаем на кнопку OnTouchListener, он отлавливает касание, передвижение и подъем пальца.
- Полученные данные (точку с координатами x и y) преобразуем в угол поворота и скорость
- Отправляем данные, разделяя их специальными знаками
А окончательное понимание к вам придет, когда вы посмотрите весь код целиком — github.com/IDolgopolov/BluetoothWorkAPP.git. Там код без комментариев, поэтому смотрится куда чище, меньше и проще.
Скетч Arduino
Переменные
Для начала рассмотрим константы и переменные, которые понадобятся.
Метод setup()
В методе setup() мы устанавливаем параметры пинов: будут работать они на вход или выход. Также установим скорость общения компьютера с ардуинкой, блютуза с ардуинкой.
Метод loop() и дополнительные функции
В постоянно повторяющемся методе loop() происходит считывание данных. Сначала рассмотрим основной алгоритм, а потом функции, задействованные в нем.
Получаем результат: с телефона отправляем байты в стиле «@скорость#угол#» (например, типичная команда «@200#60#». Данный цикл повторяется каждый 100 миллисекунд, так как на андроиде мы установили именно этот промежуток отправки команд. Короче делать нет смысла, так как они начнут становится в очередь, а если сделать длиннее, то колеса начнут двигаться рывками.
Все задержки через команду delay(), которые вы увидите далее, подобраны не через физико-математические вычисления, а опытным путем. Благодаря всем выставленным задрежам, машинка едет плавно, и у всех команд есть время на отработку (токи успевают пробежаться).
В цикле используются две побочные функции, они принимают полученные данные и заставляют машинку ехать и крутится.
Поворачивать, когда андроид отправляет данные о том, что пользователь зажал угол 60, 90, 120, не стоит, иначе не сможете ехать прямо. Да, возможно сразу не стоило отправлять с андроида команду на поворот, если угол слишком мал, но это как-то коряво на мой взгляд.
Итоги скетча
У скетча всего три важных этапа: считывание команды, обработка ограничений поворота и подача тока на двигатели. Все, звучит просто, да и в исполнении легче чем легко, хотя создавалось долго и с затупами. Полная версия скетча.
В конце концов
Полноценная опись нескольких месяцев работы окончена. Физическая часть разобрана, программная тем более. Принцип остается тот же — обращайтесь по непонятным явлениям, будем разбираться вместе.
А комментарии под первой частью интересны, насоветовали гору полезнейших советов, спасибо каждому.
Источник