Открытый проект YourOwnWeigh обходит подписку Withings за $99 в год

«Мои весы свободны!» Так разработчик Том Энтони описал результат работы над сервисом YourOwnWeigh: он создал открытый проект, который направляет данные весов Withings на выбранный пользователем сервер.

Открытый проект YourOwnWeigh обходит подписку Withings за $99 в год

Сервис передаёт показания в Apple Health без платной подписки и ручной синхронизации, но сейчас поддерживает только две модели весов.

Как объяснил Том Энтони, поводом для проекта стало объявление Withings: владельцам новых учётных записей потребуется подписка за $99 в год (около 8 000 ₽), чтобы передавать данные устройств сторонним сервисам. Самого разработчика также не устраивало приложение компании. Он хотел, чтобы оно прежде всего синхронизировало весы, а не предлагало значки, советы и задания.

Обычно весы отправляют результаты взвешивания по Bluetooth на телефон либо по Wi-Fi на серверы Withings, откуда их забирает мобильное приложение. Энтони выбрал второй путь, но заменил адрес назначения. Показания попадают на сервер пользователя, и держать телефон рядом с весами во время взвешивания не нужно.

Как работает YourOwnWeigh

Проект включает веб-приложение, исправления для прошивок и программу-посредник на Python для связи с весами по Bluetooth. Приложение загружает прошивку с серверов Withings, вносит в неё изменения, а затем устанавливает её на весы через программу-посредник. После этого устройство отправляет данные по Wi-Fi на указанный пользователем сервер. Веб-приложение принимает показания, показывает их на панели управления и открывает доступ к ним через API.

Пока подготовлены исправления для моделей Body Scale WBS06 и Wireless Scale WS-30/WBS03. Энтони выяснил, что обе принимают обновления прошивки по Bluetooth в режиме сопряжения. Поэтому для установки не нужно подключаться к контактам на корпусе весов или покупать специальное оборудование. Разработчик также изменил приветственный экран: при запуске модифицированной прошивки вместо надписи Hello появляется улыбка.

Сервис может перенести в свою базу настройки весов и уже заведённых пользователей. При импорте он получает имена, трёхбуквенные обозначения для экрана весов, исходный вес и возраст. Новых пользователей можно добавить в самом веб-приложении. Там же доступны управление настройками устройства и просмотр результатов взвешивания.

Веб-приложение можно разместить целиком в бесплатной учётной записи Cloudflare: для хранения данных оно использует D1. Для передачи показаний в Apple Health Энтони подготовил шаблон автоматизации iOS Shortcuts. По расписанию она забирает данные с сервера и записывает их в приложение на iPhone. Автор проверил схему на своих двух весах и четырёх пользовательских профилях.

У проекта есть ограничения. Для WBS06 трафик к пользовательскому серверу шифруется, но исправленная прошивка не проверяет подлинность сервера. WS-30 сейчас может передавать данные на собственный сервер только по HTTP. Кроме того, Энтони тестировал установку с macOS 26 и iOS 26; поддержку Linux, Windows, других моделей весов и способов передачи данных он рассчитывает развивать с помощью сообщества.

Сергей Кузнецов
Главный редактор itzine.ru и технический журналист с 15-летним стажем. Специализируется на глубоком тестировании аудиооборудования, фототехники и потребительской электроники. Автор более 5000 материалов, охватывающих широкий спектр тем: от обзоров игровых кресел и сетевого оборудования до аналитики рынка смартфонов и носимых гаджетов. На платформе курирует экспертные разделы и формирует редакционную политику издания.

Оставить комментарий