Мой блог
Как нейросеть помогла вернуть к жизни заброшенный трекер сна Sense
Летом 2026 года американский разработчик наткнулся на шар-трекер сна Sense, который пролежал в шкафу почти десять лет. Десятилетие назад устройство ежедневно анализировало ночной отдых владельца без какой-либо подписки, однако после закрытия компании-производителя в 2017 году его серверы отключились, а аппарат превратился в бесполезный декор. Запустить заброшенный гаджет помог искусственный интеллект: процесс восстановления трекера сна Sense занял около полутора месяцев и потребовал работы с железом, исходным кодом и локальными серверами.


Исторически устройство появилось на рынке в 2014 году благодаря успешной краудфандинговой кампании. Шар в комплекте с датчиком Sleep Pill, крепящимся на подушку, отслеживал фазы ночного отдыха, параметры микроклимата в спальне и движения пользователя. Продукт собрал миллионы долларов инвестиций, но жесткая конкуренция и высокая стоимость привели к закрытию фирмы Hello летом 2017 года. Корпоративные серверы отключились, оставив пользователей с красивым, но нерабочим оборудованием.
Исходный код и развертывание локального бэкенда
После ликвидации компании разработчики выложили на GitHub более сотни репозиториев, включая прошивки, серверную часть и мобильные приложения. Отыскать эти материалы и поднять бэкенд из шестнадцати сервисов на локальном Mac оказалось относительно простой задачей. Главной преградой стало аппаратное шифрование: каждый шар защищает связь уникальным 128-битным ключом AES, который никогда не публиковался в открытом доступе.
Чтобы извлечь ключ, микроконтроллер устройства требовалось перевести в режим загрузчика для чтения флеш-памяти. Использование отладочного кабеля не принесло немедленного результата, так как загрузчик не реагировал на запросы. С помощью серии одноразовых скриптов и документации удалось наладить взаимодействие, однако решающим фактором стала аппаратная ошибка: перемычка на адаптере выставляла логику в 5 В вместо необходимых 3,3 В. После исправления этого питания файл с ключом шифрования был успешно выгружен.
Сетевые настройки и восстановление датчика Sleep Pill
Следующим шагом потребовалось развернуть собственный центр сертификации и выписать серверный сертификат, датированный 1950 годом. Поскольку внутренние часы шара отставали примерно на семь десятилетий, современные TLS-бэкенды отвергали рукопожатие, поэтому проблему решили с помощью чистой реализации TLS на Python. Оригинальное приложение для iPhone также удалось адаптировать под современные требования.
Однако полноценная оценка ночного отдыха требовала подключения беспроводной таблетки на подушке, у которой имелся собственный ключ шифрования. Попытка обновить прошивку датчика из исходников привела к зависанию из-за аппаратных различий между ревизиями плат. Восстановить работоспособность миниатюрного устройства помогли специальный программатор SEGGER J-Link и переходник SWD.
Трудности с радиопротоколами и финальная сборка
Собранная из свежих исходников прошивка упорно отказывалась связываться с основным шаром по радиоканалу ANT. Анализ истории репозитория показал, что инженеры компании в свое время перевели ANT из асинхронного режима в синхронизированный. Корректная работа возобновилась только после отката до более ранней версии программного обеспечения, поддерживавшей старый тип передачи данных.
После устранения всех препятствий устройство вновь заработало: приложение выдало долгожданную балльную оценку сна. На завершающем этапе громоздкую структуру из множества Java-процессов упростили до единого бинарника и базы данных Postgres, а готовые инструкции и код опубликовали в открытом доступе.

