1 puan yazan GN⁺ 2025-11-13 | 1 yorum | WhatsApp'ta paylaş
  • Eczanede Microlife WatchBP O3 tansiyon ölçerini taktıktan sonra verileri doğrudan görmek isterken cihazın micro-USB portunu fark etti
  • Linux ortamında WatchBP Analyzer yazılımını çalıştırdı ancak cihazı algılayamadı; ardından Windows sanal makinesi üzerinden verileri indirmeyi başardı
  • Wireshark ve usbmon kullanarak USB iletişimini yakaladı ve veri paketlerinde sistolik·diyastolik tansiyon ile nabız içeren bayt yapısını doğruladı
  • Ek olarak OPP (osilometrik tepe basıncı) ve zaman damgasını izledi ancak zaman verisinin yapısını net biçimde çözemedi
  • Tersine mühendislik denemesi süre sınırı nedeniyle durdu, ancak süreç veri yapısı analizi deneyimi ve “beyaz önlük hipertansiyonu” kavramını öğrenmesini sağladı

Tansiyon ölçer ve ilk denemeler

  • Eczanede grip aşısı olduktan sonra tansiyon sonucu yüksek çıkınca 24 saatlik tansiyon ölçüm cihazını taktı
    • Cihaz gündüz 30 dakikada, gece 60 dakikada bir otomatik ölçüm yapıyordu
    • Cihazın yan tarafındaki micro-USB portunu fark edip verilere erişmeyi denedi
  • Cihaz modeli Microlife WatchBP O3 idi; ilgili Windows için WatchBP Analyzer yazılımını indirdi
    • Linux ortamında Bottles ile çalıştırdı ancak cihazı algılayamadı
    • Cihazın hidraw olarak göründüğünü ve USB HID arayüzü kullandığını doğruladı
  • Daha sonra Windows sanal makinesi (Gnome Boxes) kurup USB cihazını bağlayınca veri indirme başarılı oldu
    • WatchBP Analyzer içinde ilk üç ölçüm değerini gördü

USB trafiği analizi

  • Sanal makine ortamını kullanarak Wireshark ile USB iletişimini yakaladı
    • usbmon3 arayüzü üzerinden cihaz ile ana makine arasındaki veri akışını kaydetti
  • Yakalanan paketlerde tansiyon değerlerini içerdiği düşünülen bayt dizilerini buldu
    • Örnek: 05 0a 89 71 43 9b
      1. baytın sistolik tansiyon (SYS), 4. baytın diyastolik tansiyon (DIA), 5. baytın ise nabız (HR) olduğunu tahmin etti
  • Birden fazla ölçümü karşılaştırarak veri desenlerini düzenledi
    • Örn: 137/113/67, 132/86/68, 126/84/82 vb.
    • Her paket 32 baytlık birimlerden oluşuyordu; ilk bayt geçerli veri uzunluğunu (SIGNIFICANT BITS) gösteriyordu

Ek veri yapısı araştırması

  • OPP (osilometrik tepe basıncı) ve zaman damgası içeren ek baytları analiz etti
    • OPP verisi her ölçümden sonraki pakette bulunuyordu ancak konumu sabit değildi
    • SYS, DIA ve HR'den sonraki 4 baytı 32 bit zaman damgası olarak varsaydı, ancak bu değerler gerçek ölçüm zamanlarıyla eşleşmedi
    1. sütundaki değerin sabah/öğleden sonra geçişinde 82'den 83'e döndüğünü ve 7. sütunun sıfırlandığını gözlemledi
    • Bazı değerler ölçüm saatinin dakika kısmına benziyor gibi görünse de net bir kural doğrulanamadı

Yapay zeka ve kod denemeleri

  • Kagi platformu üzerinden birden fazla yapay zeka modeline verileri vererek analiz etmeye çalıştı
    • Bazıları geçersiz sonuçlar üretti, ancak endianness gibi kavramlarla analiz yönünü belirlemede yardımcı oldu
  • Python ile cihazın ilk handshake sürecini ve veri indirmesini taklit etmeye çalıştı, ancak yapay zekanın sunduğu kodların çoğu hatalıydı
    • Bu süreçte pyhidapi kütüphanesini de öğrenmiş oldu

Sonuç ve çıkarımlar

  • Cihazı iade etmesi gerektiği için tersine mühendislik çalışması yarıda kaldı
    • Buna rağmen süreçten USB veri yapısı analizi ve tersine mühendislik pratiği kazanımı elde etti
  • Yeni öğrendiği terimler arasında ‘Normotension’ (normal tansiyon) ve ‘White Coat Hypertension’ (beyaz önlük hipertansiyonu) vardı
    • Aşıdan hemen sonra yapılan tansiyon ölçümünde değerler geçici olarak yüksek çıkabiliyor
  • Sonuç olarak, aşıdan hemen sonra tansiyon ölçümü önerilmiyor

1 yorum

 
GN⁺ 2025-11-13
Hacker News görüşleri
  • Yüksek tansiyon sorunum olduğu için Hilo cihazını satın aldım
    Kolda manşet takarak kalibrasyon yaptıktan sonra bileğe küçük bir cihaz takılıyor ve hareketsizken gece gündüz otomatik olarak tansiyonu ölçüyor
    Veriler akıllı telefon uygulamasıyla senkronize edilip saklanıyor; her seferinde manşet takma zahmetinden ve beyaz önlük hipertansiyonu (white coat hypertension) durumundan kaçınılabiliyor
    Ancak yaklaşık ayda bir kez manşetle yeniden kalibrasyon yapmak gerekiyor ve uygulamanın kamerayla parmağı ölçen özelliği tutarsız sonuçlar veriyor

    • Doğruluğunun ne düzeyde olduğunu merak ediyorum
  • Yapay zeka ile ilgili bir yazıda “stupid in ways that made me think” ifadesi vardı; bunun, yapay zekanın rubber duck debugging için neden faydalı olduğunu çok iyi özetleyen bir cümle olduğunu düşünüyorum
    Bir iş arkadaşıyla konuşmaktan daha derin düşünmeye zorluyor

  • Kalp atış hızı monitörü takıp verileri analiz edince, nabzımın keskin biçimde yükseldiği sadece iki durum olduğunu gördüm — araba kullanırken ve eşimle konuşurken

    • Bilim adına, araba kullanırken eşimle konuştuğum andaki verilere de ihtiyaç olduğunu diye şaka yapıyor
    • Oura bazen spor salonundaki egzersizi stres olarak algılıyor, ama egzersizin gerçekten de vücuda stres uyguladığı görüşü de var
      Bir yüzücü hiçbir cihaz kullanmadığını, sadece kendi kalp atışını dinlediğini söylüyor
    • Muhtemelen hem arabayı hem de eşimi sevdiğim içindir diye neşeyle ekliyor
  • Beyaz önlük hipertansiyonu illa iğne yapılması ya da hastane ortamı yüzünden olmak zorunda değil; sadece ölçüm anındaki gerginlikten de kaynaklanabilir

    • Bir arkadaşım hastanede güzel bir hemşire tansiyonunu ölçtüğünde değer çok yüksek çıkmış, doktor tekrar ölçtüğünde de hâlâ yüksekmiş
      Sonunda ilaç reçete edilmiş
    • Hastaneye geç kalmamak için koşup tansiyonumu ölçtürdüğümde çok yüksek çıkmıştı; doktor evde sakin bir şekilde tekrar ölçmemi önermişti
    • Eşim otoimmün hastalığı nedeniyle hastaneye sık gidiyor; bir keresinde otomatik tansiyon aleti bozulup kolunu durmadan sıktığı için korkutucu bir deneyim yaşamıştı
      O zamandan beri eşim tansiyonunu her ölçtürdüğünde ben de geriliyorum
    • Dişçi korkum çok büyük, bu yüzden sürekli takılan bir monitörüm olsa dişçideyken tansiyonumun kesinlikle fırlayacağını düşünüyorum
    • ADHD ilacı ayarlaması nedeniyle her gün tansiyonumu ölçüyorum ama aynı koşullarda bile değerler 115/75 ile 135/90 arasında dalgalanıyor
      Bu yüzden yalnızca ortalamayı dikkate alıyorum. Evdeki A&D UA-611 Plus da, hastanedeki cihazlar da benzer oynaklık gösteriyor
  • Veri formatını analiz ederken yıl, ay, gün, saat ve dakikayı bit düzeyinde tahmin ettim ama neden bit tersleme (reverse) gerektiğini ya da boş alanların ne anlama geldiğini hâlâ bilmiyorum

  • “Bunu tersine mühendislik ile çözersem tansiyonum düzelecek gibi geliyor” şakası o kadar yerindeydi ki, okuyunca gerçekten daha sağlıklı hissettim

  • Günde iki kez portakal suyu ve muz tüketince tansiyonum 142/90 → 125/80 seviyesine düştü
    Günde yaklaşık 2000 mg potasyum almış oluyorum

    • Tansiyonu düşürmek için portakal suyu ve muza yeni mi başladığını, yoksa bunları bırakıp bırakmadığını merak ediyor
  • “stupid in ways that made me think” cümlesi, yapay zekanın hem güçlü yanlarını hem de sınırlarını aynı anda çok iyi özetliyor gibi geliyor

    • Yapay zeka iyi sayılabilecek bir rubber duck ve idare eder bir arama motoru
  • Ben de benzer şekilde sağlık verilerimi doğrudan kendim yönetmeye başladım
    Yaşlanan geliştiricilerin vücutlarındaki anormallikleri fark edip kendi kendini yöneten sağlık takibi yapma eğiliminin artacağını düşünüyorum
    İlgili belgeleri mikado-aktiia.readthedocs.io adresinde derledim

    • En güncel uygulama sürümü günlük ortalamaları Apple Health'e aktarabiliyor
      Ben BPExtract ile PDF'leri okuyup tüm ölçümleri otomatik olarak Apple Health'e aktarıyorum; manuel işleme kıyasla otomasyonun çok daha iyi olduğunu düşünüyorum
    • PDF okumak yerine Bluetooth trafiğini doğrudan sniff etmek daha kolay olabilir diye öneriyor
    • Artık yaş fark etmeksizin herkesin sağlığını kendi başına takip etmesi gereken bir dönemde yaşadığımızı düşünüyorum
      Pratisyen hekimler (GP) sonuçta sadece uzmana giden yolda bir sinyal görevi görüyor ve bekleme süreleri aşırı uzun
      Yine de kendi yargının yanlış olabileceği varsayımını her zaman korumak gerekiyor
    • Bir parantezin eksik olduğunu hafifçe belirtiyor
  • Trafik dökümüne bakınca protokolü çevrimdışı analiz etmeyi denemek istiyorum
    Yakın zamanda da Windows sanal yazıcı sürücüsünü tersine mühendislik (reverse engineering) ile çözmeye çalışırken yarım gün harcadım ve devam etmek istememe rağmen kendimi zorla durdurdum

    • (İspanyolca yazılmış alakasız yorum atlandı)