Где отремонтировать смарт браслет
Современные электронные аксессуары и гаджеты все активнее проникают в повседневную жизнь человека, делая ее более продуктивной и комфортной. Большой популярностью пользуются смарт-часы и фитнес-браслеты, позволяющие контролировать активность их владельцев, следить за самочувствием и здоровьем. Но, как и вся техника, смарт устройства подвержены сбоям и поломкам. В этом случае их необходимо незамедлительно отдать на ремонт в сервисный центр.
Преимущества умных гаджетов
Каждый вид аксессуаров имеет свои преимущества. Спортивные часы предпочитают люди, ведущие активный образ жизни, занимающиеся спортом. Модели ориентированы на тот или иной вид занятий и имеют характерные параметры:
- малый вес;
- прочный корпус;
- GPS-приемник;
- шагомер и пульсометр;
- счетчик дистанции;
- секундомер;
- водонепроницаемость и защиту от пыли.
Во время бега, силовых тренировок, плавания, туризма случаются разные непредвиденные ситуации, поэтому ремонт спортивных часов – не редкость.
Смарт-часы применяются гораздо чаще, чем спортивные модели, так как дают больше преимуществ:
Фитнес-браслеты своей операционной системы не имеют, поэтому используются в комплексе со смартфоном. Несмотря на ограниченный функционал, они являются отличным помощником людям, занимающимся физическими упражнениями. Браслеты выполнены проще, чем смарт-часы и спортивные модели, изготавливаются из прочных и стойких к влаге материалов (резина или силикон) и долго держат заряд.
Привыкнув к ежедневному использованию «умных» часов и браслетов, трудно смириться с их неисправностями и поломками, поэтому если ваш гаджет работает некорректно, лучше как можно скорее отнести его в мастерскую, специализирующуюся на ремонте устройств данного типа.
В чем заключается ремонт смарт-браслетов и спортивных часов
Неисправности смарт-часов и фитнес-браслетов можно разделить на физические, аппаратные и программные. К первым относят следующие:
- не срабатывают кнопки;
- треснуло стекло;
- сломан USB-разъем;
- поврежден корпус, ремешок.
Синхронизация браслета со смартфоном, обновление операционной системы или установка на смарт-часы программного обеспечения относятся к программным задачам, а ремонт или замена компонентов (системной платы, динамика, микрофона и т.д.) – к аппаратному сервису.
Ремонт фитнес-трекера и смарт-часов предполагает три варианта работ:
- Диагностика устройства, выполненная специалистом.
- Работы по замене деталей, чистке, пайке, настройке ПО.
- Сервисное обслуживание.
Для получения успешных результатов важно, чтобы устранение неполадок осуществлялось в специализированной мастерской, с использованием современной аппаратуры, детали менялись на оригинальные, а не дешевые китайские аналоги. Сервисный центр в обязательном порядке должен давать гарантию на установленные запчасти и ремонтные работы.
Где выполнить ремонт смарт часов в Москве?
В столице много мастерских, специализирующихся на ремонте смартфонов и прочих гаджетов, поэтому найти подходящий вариант и восстановить работоспособность электронного девайса довольно просто.
Труднее жителям регионов, где мало специалистов, разбирающихся в подобной технике. Кроме того, ремонт фитнес-браслетов в Москве имеет разную стоимость и уровень сервиса, поэтому порой непросто сориентироваться и понять, кому можно доверить дорогостоящее оборудование.
Решить даже самые сложные проблемы с гаджетом любого производителя предлагает сервисный центр «Ремфон». К услугам клиентов центра:
- бесплатная диагностика;
- чистка внутренней части устройства от пыли;
- устранение проблем вследствие попадания жидкости внутрь корпуса;
- восстановление целостности и герметичности корпуса;
- замена термопасты;
- замена уплотнителей, батарей, кнопок, тачскрина, шлейфов, разъемов и других элементов;
- восстановление или обновление системных файлов и приложений;
- прошивка и перепрошивка.
Наша компания предлагает ремонт умных браслетов, спортивных и смарт-часов не только москвичам и жителям Подмосковья, но и клиентам из любого населенного пункта страны. Мы гарантируем:
- качественный сервис;
- низкие цены;
- услуги курьерской доставки по Москве и в регионы транспортной службой;
- индивидуальный подход к каждому клиенту.
Для уточнения деталей обращайтесь к менеджерам по телефонам, указанным на сайте. Специалисты компании «Ремфон» быстро починят ваш гаджет и вернут его владельцу в максимально сжатые сроки.
В общем, правда жизни такова, что порой покупая на площадках типа али, можно нарваться на брак.
Писать обзор о браслете и его
свойствах я не намерен, тк в свое время они пачками мелькали в обзорах. А вот обзор на ремонт, пожалуй, можно.
Очернять продавца не буду, он продал оригинальный продукт, который отработав неделю, перестал вибрировать. Мне плевать на чсс и шаги, мне был нужен будильник тихий, дабы не будить жену по утрам на работу. Продавец вернул из всей суммы 4 бакса, ну да фиг с ним. На руках остался браслет с неработающей вибрацией.
Вообще, вибрация работала, если постучать капсулой по столу, например. Но не надолго, как-будто залипала. Я сначала подумал, что мало ли на заводе не смазали вибромотор, бывает.
Начал искать информацию по разборке аппарата, поиск привел к неутешительным результатам:
Люди для разборки нещадно, просто дьявольски их ломают. Печально, капсула паяная по самое горло, а ведь на 4pda люди жаловались что пропускает воду.
Вот он, виновник торжества:
Капсула, как капсула.
Будем чинить!
Как обычно предупреждение:
Вся ответственность, а именно самостоятельное проникновение в корпус готового изделия с последующим нарушением его целостности работоспособности, лежит на человеке совершившим это действие.
В дополнение к выше сказанному, используйте защитные средства для глаз и рук, при работе с химией, а так же не забывайте работать в проветриваемом помещении.
Ломаем
Для ремонта понадобиться:
Вообще со смолой вышел казус, нигде не мог купить дубовую, отечественную, желтую смолу. Купил это, посмотрим как оно.
Ломать я старался аккуратно, тк не предполагал к чему приведет общий ремонт. Паяльным феном на 100 градусов прогреваем алюминиевую накладку и тихонько поддев ее скальпелем срезаем ее:
Я повторюсь, делал все аккуратно в надежде собрать как было, с минимум повреждений и тд.
Накладка сидит на клею, на который клеят экраны телефонов к шасси, в общем, вещь противная, греть надо круто его, что бы содрать.
Затем самый крутой момент, отрывать герметичную крышку, занятие не для слабонервных, оторвать так, что бы не попортить плату оказалось тяжело, использовал бритву и скальпель, глядим что получилось:
Крышка капсулы в итоге была так раскурочена, что не подлежала восстановлению, жаль идеи и действия разбиваются о стены реалии.
Ломать так ломать
В общем выкинув крышку оставил корпус капсулы и достал плату:
Поглядев на весь этот миниатюрный ад, я решил разобрать вибру:
Вибра умерла своей смертью, как подсказал мультиметр, очень жаль, такой маленькой вибры у меня точно нет в хозяйстве, но зато есть такая 8)
Что-то где-то взятое из какого-то самсунга, в корзинку ее!
Тут он для сравнения с оригиналом.
Ремонт
Предварительно отпаяв аккумулятор, перепаиваем вибромотор на новый и проверяем его:
И даже работает и жужжит, как злобный, навозный жук.
Далее будем дорабатывать корпус, отрезаем все лишнее:
Зачищаем площадку под вибромотор и очищаем спиртом, собираем, проверяем:
Работает, уже хорошо.
Далее изготавливаем из плотной бумаги/картона короб для заливки:
Перед вкладыванием в форму проверяем зарядку:
Затем готовим пластик для заливки:
Берем приобретенную эпоксидку, никогда такой не пользовался, и разводим… 1 к 1, ладно:
Вместе с эпоксидкой в комплекте якобы для подарка ради, лежит супер клей цианакрилат, видать если не склеилось, то залить все цианом и выбросить.
Нашел отличное решение не пузырить смесь, втыкаем шприц и наполняем его нужным объемом в моем случае вся сместь равна была 5 мл:
Размешиваем хорошенько ее, набираем в шприц и заливаем аккуратно:
При заливке конечно же появились пузыри, плохо, а ведь выполнял процедуру разряжения смеси.
Короче эта эпоксидка ад, пока мешал, пока набирал второй шприц, она застыла в баночке и в шприце во втором 8) Реально быстро стынет, не ожидал, круто. Да кстати, реакция идет с большим количеством выделения тепла, понятия не имею, как чувствует сейчас себя аккумулятор, надеюсь еще жив. После заливки проверяем:
А ниче так, техно-порно.
Далее идет процесс, строгания пластика, пока еще поддается и его шлифовка/обработка:
Залитые пузыри дали знать о себе, придется еще эпоксидки мешать и подливать.
Немного эпоксидки и вуаля, дыр — нет, так же был подрезан шнурок для зарядки, а именно коемочка:
Современные электронные аксессуары и гаджеты все активнее проникают в повседневную жизнь человека, делая ее более продуктивной и комфортной. Большой популярностью пользуются смарт-часы и фитнес-браслеты, позволяющие контролировать активность их владельцев, следить за самочувствием и здоровьем. Но, как и вся техника, смарт устройства подвержены сбоям и поломкам. В этом случае их необходимо незамедлительно отдать на ремонт в сервисный центр.
Преимущества умных гаджетов
Каждый вид аксессуаров имеет свои преимущества. Спортивные часы предпочитают люди, ведущие активный образ жизни, занимающиеся спортом. Модели ориентированы на тот или иной вид занятий и имеют характерные параметры:
- малый вес;
- прочный корпус;
- GPS-приемник;
- шагомер и пульсометр;
- счетчик дистанции;
- секундомер;
- водонепроницаемость и защиту от пыли.
Во время бега, силовых тренировок, плавания, туризма случаются разные непредвиденные ситуации, поэтому ремонт спортивных часов – не редкость.
Смарт-часы применяются гораздо чаще, чем спортивные модели, так как дают больше преимуществ:
Фитнес-браслеты своей операционной системы не имеют, поэтому используются в комплексе со смартфоном. Несмотря на ограниченный функционал, они являются отличным помощником людям, занимающимся физическими упражнениями. Браслеты выполнены проще, чем смарт-часы и спортивные модели, изготавливаются из прочных и стойких к влаге материалов (резина или силикон) и долго держат заряд.
Привыкнув к ежедневному использованию «умных» часов и браслетов, трудно смириться с их неисправностями и поломками, поэтому если ваш гаджет работает некорректно, лучше как можно скорее отнести его в мастерскую, специализирующуюся на ремонте устройств данного типа.
В чем заключается ремонт смарт-браслетов и спортивных часов
Неисправности смарт-часов и фитнес-браслетов можно разделить на физические, аппаратные и программные. К первым относят следующие:
- не срабатывают кнопки;
- треснуло стекло;
- сломан USB-разъем;
- поврежден корпус, ремешок.
Синхронизация браслета со смартфоном, обновление операционной системы или установка на смарт-часы программного обеспечения относятся к программным задачам, а ремонт или замена компонентов (системной платы, динамика, микрофона и т.д.) – к аппаратному сервису.
Ремонт фитнес-трекера и смарт-часов предполагает три варианта работ:
- Диагностика устройства, выполненная специалистом.
- Работы по замене деталей, чистке, пайке, настройке ПО.
- Сервисное обслуживание.
Для получения успешных результатов важно, чтобы устранение неполадок осуществлялось в специализированной мастерской, с использованием современной аппаратуры, детали менялись на оригинальные, а не дешевые китайские аналоги. Сервисный центр в обязательном порядке должен давать гарантию на установленные запчасти и ремонтные работы.
Где выполнить ремонт смарт часов в Москве?
В столице много мастерских, специализирующихся на ремонте смартфонов и прочих гаджетов, поэтому найти подходящий вариант и восстановить работоспособность электронного девайса довольно просто.
Труднее жителям регионов, где мало специалистов, разбирающихся в подобной технике. Кроме того, ремонт фитнес-браслетов в Москве имеет разную стоимость и уровень сервиса, поэтому порой непросто сориентироваться и понять, кому можно доверить дорогостоящее оборудование.
Решить даже самые сложные проблемы с гаджетом любого производителя предлагает сервисный центр «Ремфон». К услугам клиентов центра:
- бесплатная диагностика;
- чистка внутренней части устройства от пыли;
- устранение проблем вследствие попадания жидкости внутрь корпуса;
- восстановление целостности и герметичности корпуса;
- замена термопасты;
- замена уплотнителей, батарей, кнопок, тачскрина, шлейфов, разъемов и других элементов;
- восстановление или обновление системных файлов и приложений;
- прошивка и перепрошивка.
Наша компания предлагает ремонт умных браслетов, спортивных и смарт-часов не только москвичам и жителям Подмосковья, но и клиентам из любого населенного пункта страны. Мы гарантируем:
- качественный сервис;
- низкие цены;
- услуги курьерской доставки по Москве и в регионы транспортной службой;
- индивидуальный подход к каждому клиенту.
Для уточнения деталей обращайтесь к менеджерам по телефонам, указанным на сайте. Специалисты компании «Ремфон» быстро починят ваш гаджет и вернут его владельцу в максимально сжатые сроки.
Фитнес-трекер до и после разборки
Когда я пришёл в нынешнюю компанию, мне в первый день любезно выдали набор подарков. Среди них оказался этот браслет с фитнес-трекером. Независимо от вашей любви к физическим упражнениям это невероятно крутой гаджет с чисто технической точки зрения:
- действительно маленький форм-фактор (примерно 15×40 мм);
- Bluetooth low energy (BLE);
- OLED-дисплей (96×32 пикселя);
- аккумулятор;
- USB-зарядка;
- акселерометр;
- вибромотор;
- цена около $10 (!).
Прежде чем разобрать гаджет, я ещё немного погуглил и узнал, что в некоторых похожих браслетах установлен такой же чип, и люди успешно его программировали.
Открыть корпус оказалось не так-то просто. Чёрная пластиковая крышка приклеена к серому заднику. Я попробовал фен, чтобы размягчить клей, и терпеливо резал его маленьким ножичком, стараясь не слишком повредить пластик. После вскрытия я убедился, что там действительно nRF51822. Позже я купил практически идентичный браслет с MCU от Texas Instrument. Имейте в виду, что есть варианты.
nRF51822 и шариковая ручка для масштаба
В документации говорится, что чип можно запрограммировать/отладить с помощью двухконтактного интерфейса ARM Serial Wire Debug (SWD). Если мы хотим установить канал коммуникации с чипом, то это означает две вещи:
- Нам понадобится программатор SWD (например, Segger J-Link).
- Нам понадобится доступ к двум контактам SWD на микроконтроллере, а именно SWDIO (данные) и SWDCLK (тактовые импульсы).
Передняя и обратная стороны печатной платы. Шариковая ручка для масштаба и полупроизвольные названия для открытых контактных площадок
С помощью такого же дешёвого USB-микроскопа я сделал несколько снимков передней и обратной сторон платы и попытался отследить дорожки от микроконтроллера до контактных площадок.
Дорожки к контактам SWDIO и SWDCLK на передней и задней сторонах платы
Обратите внимание, что это многослойная печатная плата со сквозными отверстиями, поэтому следует проверять дорожки с обеих сторон платы. По этим фотографиям можно отследить дорожки от контактов SWDIO и SWDCLK на чипе до контактных площадок IO и CLK. Так мы убедимся, что пометка CLK на плате соответствует SWDCLK на MCU, а непомеченный контакт — это вывод SWDIO. Теперь можно подготовить нашу первую таблицу сопоставления:
Вывод nRF51822 | Площадка | Описание |
---|---|---|
SWDIO | IO | Вывод данных для программирования SWD |
SWDCLK | CLK | Вывод тактовой частоты для программирования SWD |
Получив доступ к двум контактным площадкам SWD, я припаял очень тонкие проводки к ним и ко всем остальным доступным контактам.
Следующая задача — попытаться запрограммировать устройство на какую-нибудь задачу. Чтобы запустить простейшую программу, мы должны убедиться в следующем:
- Мы правильно отследили контакты SWDIO/SWDCLK.
- Программатор SWD работает, и компьютер может подавать команды.
- Мы можем скомпилировать программу Arm и корректно использовать Nordic SDK.
- Мы можем прошить скомпилированную программу в чип.
- Чип правильно работает и загружает нашу программу.
День плохих проводов
Драйверы и программы командной строки для программатора J-Link SWD лежат на сайте Segger. Если вы на macOS и используете Homebrew, то ищите формулу Cask в caskroom/drivers/segger-jlink . Связь с программатором SWD устанавливается из утилиты командной строки JLinkExe .
Затем я скачал Nordic nRF5 SDK (я использую версию 12.3.0). Из примеров SDK понятно, что нам понадобится компилятор, способный компилировать программы Arm. Поэтому я установил ещё gcc-arm-embedded (тоже доступный на Homebrew).
Изучив документацию SDK и форумы разработчиков Nordic, я выяснил, что их SDK чаще всего используют с платами разработки вроде этой. SDK предварительно сконфигурирован для нескольких вариантов таких плат. Поскольку мы контачим непосредственно с контроллером, то придётся настроить некоторые параметры SDK.
Как я уже говорил, задача с миганием светодиодов предусматривала некоторые надежды и метод тыка, какие из контактов MCU ведут к P1 и P2 , где подключены светодиоды. Простейшая стратегия — подключать все выводы по очереди и поочередно подавать высокое и низкое напряжение. К моему удивлению, оба светодиода загорелись! Ещё больше я удивился, когда заработал вибромотор!
Итак, метод тыка дополнил таблицу:
Вывод nRF51822 | Площадка | Описание |
---|---|---|
P0.30 | P1 | Цифровой GPIO |
P0.00 | P2 | Цифровой GPIO |
P0.01 | - | Вибродвигатель |
Ещё одна сложная задача — заставить работать OLED. В самых распространённых OLED на рынке работает драйвер/контроллер ssd1306, и обычно коммуникация с MCU осуществляется по последовательному интерфейсу, используя или SPI, или I²C. Вот пример от Adafruit.
Я не нашёл такой дисплей ни в одном из обычных магазинов. И размер 96×32 у него нестандартный. Поиск по идентификатору QT1316P01A на дисплее выдаёт китайские сайты типа Aliexpress, но там нет никакой документации, кроме наименований выводов:
Именования выводов OLED с Aliexpress
Дорожки контактов данных OLED
Обновляем таблицу соответствий:
К счастью, один из примеров в nRF5 SDK — это сканер I²C. Он опрашивает со все возможные логические адреса и сообщает, если там что-то установлено. Моя модифицированная версия здесь. Он выдаёт такой лог:
Отличная новость! У нас есть веские основания полагать, что дисплей правильно идентифицирован и это действительно вариант I²C. Поиск в гугле говорит, что 0x3c — типичный адрес для таких устройств.
Для правильной конфигурации я изучил библиотеку ssd1306 от Adafruit и попытался эмулировать подобные команды. Именно на это ушла львиная часть времени в данном проекте. Узнать все детали оказалось весьма трудоёмким занятием, и всё равно некоторые вещи я не могу объяснить. Тем не менее, оно работает!
Отображение жёстко закодированного растрового рисунка
Код этого примера здесь.
С такими настройками дисплей делится на 4 строки (страницы) и 96 столбцов. Так что страницы по 8 пикселей в высоту. Первый отправленный байт расположится «вертикально» в первом столбце первой страницы. Второй байт займёт второй столбец, затем третий и так далее, вплоть до 96-го столбца, когда он возвращается и начинает с первого столбца на второй странице.
Таково ожидаемое поведение. Как показано на видео, наблюдаемое поведение отличается: сначала заполняются нечётные столбцы, затем чётные, и только потом он возвращается ко второй странице.
Копаясь в библиотеке ssd1306 от Adafruit для Arduino, я всё время думал, что хорошо бы иметь способ «имитации» специфичных битов Arduino, чтобы протестировать их на nRF51822. Оказывается, гораздо более опытные люди тоже думали на эту тему — именно это делает удивительный проект sandeepmistry/arduino-nRF5. Он реализует основные библиотеки Arduino с помощью nRF5 SDK.
С помощью этого проекта мы можем открыть Arduino IDE, выбрать плату nRF5 — и использовать богатую экосистему Arduino. Я форкнул проект и добавил поддержку платы из нашего браслета. Его можно выбрать в раскрывающемся меню Tools > Board > ID115 Fitness Bracelet (nRF51822) .
Библиотека ssd1306 от Adafruit в оригинальном виде (вверху) и с патчем (внизу)
Это также означает, что теперь мы можем использовать библиотеку OLED от Adafruit. К моему удивлению и облегчению, произошло то же самое странное поведение с заполнением сначала нечётных, а потом чётных столбцов OLED! Я с удовольствием форкнул библиотеку и внедрил тот же хак. По сравнению с низкоуровневым подходом, теперь у нас есть доступ к разнообразным классным абстракциям, например, выводу текста:
Более привычный “Hello, world!”
Кроме цифровых сигналов «включить/выключить», у nRF51822 есть 10 контактов для аналогового ввода. Это полезно, например, для чтения текущего заряда аккумулятора. Судя по документации, чтение аналоговых контактов выдаёт 10-битное значение. Поэтому если на входе находится 0V , то мы прочитаем 0 , а если там VCC , мы прочитаем 1023 с промежуточными значениями между ними.
Я периодически считывал значения аналоговых входов и составил графики самых интересных сигналов:
Эффект встряхивания платы и зарядки аккумулятора по данным с аналоговых входов
Я убеждён, что контакт P0.05 относится к заряду аккумулятора, потому что значение увеличивается и уменьшается по мере зарядки и разрядки. Подозреваю, что контакт P0.26 подключен к одному из выходов акселерометра, поскольку он сходит с ума при встряхивании платы. Контакты P0.03 и P0.04 тоже могут быть подключены к различным выходам акселерометра, но здесь на сигнал со входа скорее всего накладывается некий эффект второго порядка. Например, на первом графике обратите внимание, как уровень заряда батареи (вывод 5) изменяется, когда акселерометру требуется больше энергии. Это пример эффекта второго порядка.
Код можно найти в этом наброске. Исходные данные и скрипт построения графика здесь. Теперь можно добавить несколько строк в нашу таблицу соответствия:
Вывод nRF51822 | Площадка | Описание |
---|---|---|
P0.05 | - | Аналоговый вход — связан с зарядом батареи |
P0.26 | - | Аналоговый вход — одна ось акселерометра |
P0.03 | - | Аналоговый вход — одна ось акселерометра (вероятно) |
P0.04 | - | Аналоговый вход — одна ось акселерометра (вероятно) |
В оригинальной прошивке прикосновение к браслету в определённой точке включает дисплей. При удержании этой точки запускается хронометр, если я правильно помню. Это не физическая кнопка, а какая-то ёмкостная сенсорная штука, которая работает на удивление хорошо. Используя тот же подход, что для поиска цифровых выходов, я нашёл место подключения к MCU (видео).
Вывод nRF51822 | Площадка | Описание |
---|---|---|
P0.10 | - | Цифровой вход — встроенная кнопка |
Функциональность BLE на чипах nRF5 реализована через нечто под названием SoftDevice. Это предварительно скомпилированный двоичный файл со стеком BLE. Он прошивается независимо от приложения. Есть много версий SoftDevice, в зависимости от версии SDK и версии чипа.
В документации приводится некая матрица зависимости (к сожалению, на неё нельзя поставить прямую ссылку). Она показывает, с какой SDK поставляются разные версии чипа — и какая там стоит версия SoftDevice. В нашем случае на чипе стоит отметка QFAAH0, у этой микросхемы 256 КБ флэш-памяти, 16 КБ оперативной памяти и заявлена совместимость с SoftDevice s130.
Мой SDK версии 12.3 уже содержит несколько примеров использования SoftDevice s130. По сравнению с предыдущими программами, которые прямо зашиваются в микросхемы с адреса 0x0 , теперь нужно прошить SoftDevice с адреса 0x0 , а саму программу — с адреса 0x1b000 . После загрузки и инициализации двоичный файл SoftDevice перейдёт к этому адресу и передаст управление нашей программе. Чтобы проиллюстрировать, я взял тот же пример с морганием светодиодов, но изменил его для прошивки SoftDevice (код). Наблюдаемое поведение не изменилось, разве что следует заранее прошить SoftDevice:
Пожалуй, самое простое приложение для Bluetooth — превращение устройства в маячок. Устройство только транслирует своё присутствие. Один из таких примеров есть в SDK под названием ble_app_beacon . Он предполагает, что SoftDevice s130 уже прошит.
Здесь тоже низкоуровневая коммуникация с чипом всё усложняет по сравнению с программированием через SDK. Кроме настройки размера оперативной памяти (это знание тяжко мне далось в примере со светодиодами), выявилась ещё одна трудно отслеживаемая проблема. Как оказалось, для выполнения чувствительных ко времени задач стек BLE использует генератор тактовой частоты. В примерах SDK предполагается наличие внешнего кварцевого генератора. Когда я это понял после тысяч попыток printf , то изменил флаг конфигурации на использование синтетического генератора тактовых импульсов, и проблема решилась. Исходный код маячка здесь.
Когда пример BLE заработал с nRF5 SDK, зная о ловушках с оперативной памятью и генератором, я снова посмотрел на среду Arduino. И опять там оказался славный проект sandeepmistry/arduino-BLEPeripheral (от того же парня, что и arduino-nRF5!), который обеспечивает отличные абстракции поверх внутренней настройки BLE.
К моему удивлению, не пришлось даже форкать библиотеку. Автор проекта arduino-nrf5 потратил время и добавил конфигурацию всех плат и настроек, так что теперь выбор правильного генератора тактовых импульсов для SoftDevice сводится к простому выбору из выпадающего меню Tools > Low Frequency Clock > Synthesized . Потрясающе. Я по-быстрому написал пример с включением зелёного светодиода по Bluetooth (с этим приложением). Его работа показана на видео.
Читайте также: