Описание проекта: Радиопульт для электророликов Rocketskates R8.
Ролики тогда ещё, осенью 2014, продавались на кикстартере, без пульта. Сейчас на официальном сайте продаются другие, новые модели —
R5 и
R10 другой расцветки, с пультом в комплекте. Мои ролики должны были управляться с телефона,но:
1) старый Android не поддерживает BLE,
2) даже если бы поддерживал, не хотелось бы разбить телефон при падении,
3) даже если бы телефон не было жалко, опасно управлять с него на ходу, глядя не на дорогу, а в экран.
Похоже, мне продали сырой прототип. Ножное управление (с помощью наклона стопы) ужасно неудобное. По умолчанию скорость была выставлена такой большой, что мне было очень трудно учиться ездить. Мне пришлось декомпилировать фирменный SDK для Android, чтобы выяснить UUIDы сервиса, характеристик, формат информационных и управляющих пакетов. Пообщавшись с роликами через утилиту gatttool, убедилась в правильности выявленной структуры данных.
В качестве заготовки для пульта приобрела iBeacon на модуле HM-10. Внутри была плата с модулем, держателем батареек, нераспаянным местом под светодиод, кнопку и под разъём для отладчика. Распаяла разъёмы и кнопку, а светодиод не нужен. Звуковые сигналы лучше визуальных тем, что не надо переводить взгляд. Да там и не нужно никакого сложного пользовательского интерфейса. Навороты только от езды отвлекают. Приклеила пьезопищалку изнутри к крышке корпуса, вывела ШИМ на разъём, вместе с питанием (на которое добавила конденсаторов), и UART для отладочных целей. После всего этого думаю, что надо было делать свою плату с самого начала.
Прошивку разработала на основе примера применения
фирменного стека Bluetooth LE — SimpleBLECentral. Это — прошивка центрального устройства, которое ищет периферийные устройства. Реализованы установка соединения, pairing, чтение и запись характеристик. Я добавила отправку пакета с командой "поехали быстро" по нажатию единственной кнопки и "поехали медленно" по отпусканию. Получился ручной акселератор.
Дальше я могу написать подробнее о роликах и катании на них, о пульте (железе, софте, процессе его разработки и отладки). О чём интересно форумчанам?