Ana içeriğe geç
Donanım

ESP32 ile Withings akıllı baskül bulutsuz olarak Home Assistant sistemine bağlandı

Öne çıkanlar

  • Withings Body+ tartısının Wi-Fi bağlantısı kesilerek verilerin bulut sunucularına aktarılması engellendi.
  • Tartı yalnızca Bluetooth Classic desteklediği için ESP32-C3 veya S3 yerine ilk nesil ESP32 kartı kullanıldı.
  • İletişim protokolünü çözmek ve C++ bileşeni yazmak için Android kaynak kodları Codex modeliyle incelendi.
  • Home Assistant üzerindeki şablon sensörler, ESP32 kapansa dahi son ölçüm değerlerini saklamaya devam ediyor.

Bir geliştirici, Withings Body+ akıllı tartısını şirketin bulut sunucularına bağlanma zorunluluğundan kurtararak verileri doğrudan yerel ağındaki Home Assistant sistemine aktarmayı başardı. Resmi entegrasyonun verileri Withings sunucuları üzerinden çekmesi nedeniyle kullanıcı, tartının kayıtlı Wi-Fi ağını sildi. Tartının ölçüm verilerini Bluetooth Classic üzerinden yakalayan orijinal bir ESP32 geliştirme kartı, ESPHome yazılımı aracılığıyla bilgileri yerel Wi-Fi ağı üzerinden Home Assistant sistemine iletti.

Tartının iletişim protokolü resmi olarak belgelenmediği için tersine mühendislik sürecinde büyük dil modellerinden destek alındı. Geliştirici, OpenCode ortamında çalışan Codex modeline Withings Android uygulamasının kaynak kodlarını ve cihaz loglarını inceletti. Bu süreç sonucunda ESP32 için özel bir C++ ESPHome bileşeni geliştirildi. Bluetooth Classic desteği gerektirdiği için projede yalnızca ilk nesil ESP32 kartlarının kullanılabildiği, Bluetooth LE tabanlı ESP32-C3 ve S3 modellerinin bu işlem için yetersiz kaldığı belirtildi.

Geliştirilen sistem, tartının dahili kullanıcı profili eşleştirme özelliğini koruyarak iki farklı kullanıcının verilerini ayrı ayrı algılayıp işliyor. Ölçüm tamamlandığında ağırlık, yağ, kas ve kemik kütlesi gibi tüm sağlık verileri ESPHome üzerinden Home Assistant sensörlerine saniyeler içinde aktarılıyor. ESP32 kartı kapatıldığında panodaki verilerin kaybolmaması için şablon sensörler kullanılırken, sistem sayesinde tartı verilerinin dış dünyaya çıkmadan yerel sunucuda kalması sağlandı.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.