Как Клод помог реверс-инжинирить BLE-протоколы Garmin для имитации нативного датчика бега

Пользователь Reddit рассказал, как с помощью Claude решил две сложные задачи интеграции с Garmin: заставить не-Garmin нагрудный датчик отображаться как нативный ремешок Garmin на часах Fenix и заставить один BLE-чип одновременно представляться двумя устройствами. В исходном посте описаны процесс, сильные и слабые стороны ИИ, а также ссылки на две подробные статьи в блоге.
Проблема 1: Поддельная беговая динамика на часах Garmin
Garmin блокирует метрики беговой динамики (вертикальное колебание, время контакта с землей) для своих ремешков через недокументированные протоколы. Разработчик использовал Claude для обратного проектирования протокола:
- Настроил Bluetooth-сниффер и платы ESP32, которые у него уже были
- Перехватил данные с реального ремешка Garmin HRM, затем эмулировал его с помощью ESP32
- Сравнил сотни строк лога, чтобы найти единственный байт, отличающий рабочее состояние от нерабочего
- Перенес код контрольной суммы и фрейминга из Gadgetbridge
- Провел поиск по 57 000 декомпилированных файлов, чтобы найти номер поля, который раскрыл протокол
Claude написал код и провел анализ, но пользователю приходилось корректировать направление, когда Claude переворачивал протокол (какая сторона что отправляет) и днями следовал неверным предположениям. Результат: голый ESP32 со случайными данными заставляет Fenix отображать беговую динамику как от нативного ремешка.
Проблема 2: Переключение двойной BLE-идентичности
На часах Garmin один BLE-датчик часто не может одновременно обслуживать как нативный HRM+Garmin Connect IQ приложение — соединения конфликтуют и переключаются. Claude предложил трюк из стандартов BLE: представлять два разных MAC-адреса с одного чипа, переключая адреса в середине соединения. В блог-посте разработчика объясняется, как он заставил nRF52832 переключаться между двумя идентичностями без разрыва активного соединения, вопреки предупреждениям в документации чипа. Это решило многолетнюю проблему для многих разработчиков Connect IQ.
Роль Claude: сильные и слабые стороны
Пользователь отмечает, что Claude отлично справился с двумя задачами:
- Агрегация поиска: Он знал о переключении двойной идентичности, хотя пользователь не знал, и предложил эту технику.
- Черновая работа: Сравнение, перенос кода и поиск по декомпилированным файлам.
Но у него были проблемы с направлением — он перевернул протокол и несколько дней строил на неверных предположениях. Пользователь подчеркивает, что тесты, статические данные и валидация были необходимы для выявления галлюцинаций.
Узнать больше
Пользователь опубликовал две подробные статьи с полным описанием протокола и реализации:
- Переключение BLE-идентичности: Две BLE-идентичности, один nRF52832
- Обратное проектирование беговой динамики Garmin: Reverse-engineering Garmin HRM600 running dynamics
📖 Читать полный источник: r/ClaudeAI
👀 Смотрите также

Очаг: Самостоятельно размещаемое многопользовательское приложение для чата с ИИ для домашних хозяйств на OpenClaw
Hearth — это саморазмещаемое домашнее чат-приложение с искусственным интеллектом, построенное на OpenClaw, которое предоставляет отдельные аккаунты и беседы для каждого члена семьи, с такими функциями, как вход по PIN-коду/биометрии, приватные чаты, напоминания и предустановки моделей.

Обновления CodeLedger и Vibecop для отслеживания затрат и качества кодирования в мультиагентном ИИ
CodeLedger теперь отслеживает расходы на Claude Code, Codex CLI, Cline и Gemini CLI, читая локальные файлы сессий, в то время как Vibecop добавляет автоматические проверки качества с новыми детекторами, специфичными для LLM, и настройкой одной командой для нескольких инструментов ИИ-кодирования.

Бенчмарк: Gemma4 12B против квантованной Qwen3 8B на Mac Mini с 24 ГБ памяти.
Разработчик протестировал Gemma4 12B против Qwen3:8b-q4_K_M на Mac Mini с 24 ГБ памяти, используя два промпта. Qwen3 обрабатывал промпты в 4-5 раз быстрее, в то время как Gemma4 генерировала вывод немного быстрее.

Управление задачами нескольких ИИ-агентов с помощью канбан-досок
Разработчик делится опытом запуска нескольких агентов Claude AI в терминальных вкладках и выделяет три ключевые проблемы рабочего процесса: отсутствие видимости прогресса, потеря контекста при переключении между задачами и прерывания из-за лимитов запросов. Их решение предполагает рассматривать задачи ИИ как рабочие элементы на канбан-доске.