Как стать автором
Обновить

Комментарии 31

Надо будет реверс-инженирить emotiv insight — вот уж у чего софт ужасный, а api мутное.
Отличная статья! У меня у самого был Vidonn X5, но к сожалению, вместо заявленных 4х дней работы он работал всего 7 часов и использовать его по назначению было нереально. Думаю подпаять новый АКБ и повесить коту на ошейник, чтобы мониторить его активность. Пока в поисках подходящего аккумулятора.
Видимо в браслете попался битый аккум. На али есть недорогие и маленькие аккумуляторы. Заказал себе, но не удалось воспользоваться. Валяются уже больше года. Боюсь как-бы не по портились
Для квадрокоптеров полно батареек, надо будет разобрать и посмотреть, какой там вольтаж. Боюсь только при разборке придётся USB отломать...
Вольтаж будет 3.7 в любом случае, не беспокойтесь.
Я вешал на кота Xiaomi Mi Band, безрезультатно. Кот двигается слишком плавно, с иной амплитудой, и браслет считает только прыжки, и те далеко не все.
Я вроде бы на своего вешал X5, и браслет что-то показывал. Надо будет повторить эксперимент на все 7 часов работы батарейки.

Вообще для кота хочется какой-то ошейник, чтобы определять его местоположение, но кот, в отличии от собак, большой и здоровый ошейник не вытянет, а что-то маленькое, если есть, стоит дорого. Возможно можно придумать какой-то передатчик, чтобы включался раз в час (для экономии энергии) и имел диапазон в 1км, а сигнал ловить тремя антеннами и примерно узнать, где кот (погрешность будет вноситься рельефом, переотражением сигнала).
Коты имеют особенность залезать в разные щели и тд, а потом валяться там часами. Конечно передатчик может успеть кинуть последнее местоположение, можно хотя бы знать примерное расстояние до кота.
Но насколько я знаю, передатчик такой мощности незаконен :) Да и GPS модуль нужен
Хех, так же пытался написать приложение к своему безымянному браслету, но споткнулся об зашифрованное оригинальное приложение.
Годно!

А у меня с iWown for Geek не сложилось.
Тоже польстился на экранчик после miBand и взял подешёвке i5. Вдумчиво полистав 4pda, с маркета был установлен iWown for Geek и, вроде бы, надо начать радоваться.

Но оказалось, что будильник работает только, когда есть связь браслета с телефоном (он её регулярно терял), и батарея съелась за полдня вместо двух. Стал смотреть, кто виноват — синезуб. Создалось ощущение, что он не по BLE, а по обычному каналу общался...

В итоге поставил "родной" zeroner и мирюсь с косяками будильников-в-рабочие-дни, зато батарейка живёт нормально и будильник будит независимо от отвала связи с телефоном (раз в неделю перестаёт ловиться до перезагрузки телефона)
Боюсь, я где-то в приложении ошибся. Надо бы его оптимизировать. Для поддержания связи с браслетом, с некоторым интервалом идет запрос состояния батареи.
Родной будильник поддерживается в коде. Для него просто нет интерфейса. Постараюсь добавить в будущем.
По поводу связи, такое ощущение, что в прошивках самого браслета работа BLE происходит по разному, на старой прошивке у меня чаще отваливался браслет чем в новой. Но в новой, браслет начинает видится сразу, только если, несколько раз нажать на кнопку, прокрутив от экрана часов до них же. Появляется значок спутниковой тарелки
У меня были мысли взять код с гитхаба и поковыряться, но как-то всё не до того.
А значок тарелки, как я понял из зеронера, это поиск связи, а не её наличие. Будем пробовать ещё...
Именно. Значок обозначает режим поиска, в этот момент моё приложение успевает подключиться к браслету и потом связь держится какое-то время. Видимо, потом браслет засыпает так, что связь теряется до тех пор, пока не загорится экран или не будет нажата кнопка.

Народ во всю пользуется новой версией 2.х прошивки, может там исправили или переделали. Надо бы найти время и установить себе
во-во, со второй-то версией и мне пришло. Типа, с самой свежей — на конец декабря где-то. Видимо, что-то поменяли.

Кстати, а победить пробелы в русском шрифте удалось? Раз уж там всё равно генерится картинка перед отправкой, может сразу поправить работу с двух-байтными символами? Чую, тут, как в старых mp3 плеерах — нули из utf-8 выводятся пробелами
С картинкой оказалось все не так просто. У браслета есть 2 режима приёма изображения:
1 — Single. Используется в моем приложении, генерируется строка в виде 0101 и к ней потом лепится картинка конверта.
2 — Large. Так и не получилось завести, но по видимому, есть возможность загнать туда изображение на весь экран.

В первом варианте я пытался менять шрифт, в исходниках кстати осталось парочку, которые неплохо отображались. Пытался менять размер картинки, что бы больше символов уместилось, но что-то все так нестабильно работало, просто ужас. А учитывая, что для тестов приходилось постоянно обновлять приложение на телефоне — эксперименты были крайне неудобными и долгими.

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

Но второй режим не оставляет покоя. Если действительно можно запихнуть картинку на весь экран — это просто круто, можно и свои иконки рисовать и шрифт любого размера сделать и еще много всего :)
Насчёт вопроса: нужно указать минимальный приоритете в флаге (MIN)
notification.priority = Notification.PRIORITY_MIN;
Тут и тут подробнее.
Кажется Ваши ссылки не вставились. Можете продублировать?
Спасибо! Помогло!
У меня кстати стояло Notification.PRIORITY_LOW. Я был близок :)
по MiBand есть новости, как-то можно расширить приложение?
В Маркете есть отличные платные приложения Mi Band Tools и Mi Band Notify с почти идентичным функционалом.
Очень гибкая настройка уведомлений, предупреждение о малой активности, виджет с зарядом батареи и количеством шагов и другое.

Есть готовая библиотека для управления браслетом:
https://github.com/betomaluje/Mi-Band
забыл уточнить что для iOs
В Cydia поищите Mi Band Utilty или Mi Band Alert, они реализуют уведомления на браслете.
У меня mi band notify слегка быстрее сажает батарейку что у телефона, что у браслета (этому почти в два раза). Сравниваю с оригинальным mi fit в которое были добавлены уведомления (но оно сломалось после какого-то обновления)
Отлична история! Раз уж пошла такая тема, может кто-то пульсометры ковырял? К сожалению, жаба душит покупать готовый и исследовать. Самый главный вопрос, как и в каком формате они передают данные по блутусу? Некоторые фитнес-программы позволяют подключать сторонние пульсометры по синезубу, есть навязчивая идея сделать свой, но с передачей данных пульса пока полная неясность.
Я думаю, что пульсометры передают в уже обработанном виде, то есть число ударов в минуту.
Проблема в том, что общение bt-девайса и телефона происходит совсем не просто, я по наивности надеялся, что bt-девайс просто кидает данные в эфир, а телефон их принимает. На деле, увидев bt-девайс, телефон затем ждет, что ему придет модель, производитель, пульс и заряд батареи в определенном формате. Как прикинутся пульсометром, пока одна мысль — исследовать файл фитнес программы. Хотя, возможно все-таки проще купить готовый браслет-пульсометр и не маяться.
Ковырял китайский датчик пульса CooSpo H6 BLE. Там все стандартно и довольно просто, с помощью примера android-BluetoothLeGatt можно быстро получить все необходимые данные, они читаются из характеристик, а после подписки на событие приходят автоматически с интервалом около 2 секунд в виде готовых данных в заданном стандартом формате.
На стандарт можно взглянуть например здесь…
Спасибо за ссылку, почитаю. Мне нужно, чтобы дуина прикинулась пульсометром.
Вот еще ссылка на спецификацию. Что бы Ваше устройство выглядело пульсометром, нужно реализовать описанные характертстики и сервисы. Если приложение ищет именно стандартный профиль, то должно работать.
https://www.bluetooth.com/specifications/assigned-numbers/Health-Device-Profile
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории