1 poin oleh GN⁺ 2025-11-13 | 1 komentar | Bagikan ke WhatsApp
  • Setelah memakai alat pengukur tekanan darah Microlife WatchBP O3 di apotek, penulis menemukan port micro-USB pada perangkat dan mencoba melihat datanya secara langsung
  • Perangkat lunak WatchBP Analyzer dijalankan di lingkungan Linux, tetapi gagal mengenali perangkat; setelah itu unduhan data berhasil melalui mesin virtual Windows
  • Dengan Wireshark dan usbmon, komunikasi USB ditangkap, dan dari paket data teridentifikasi struktur byte yang memuat tekanan darah sistolik·diastolik serta denyut jantung
  • Penulis juga melacak OPP (oscillometric peak pressure) dan stempel waktu, tetapi struktur data waktunya tidak berhasil diinterpretasikan dengan jelas
  • Upaya rekayasa balik dihentikan karena tenggat, tetapi ini menjadi pengalaman baru dalam analisis struktur data serta konsep ‘white coat hypertension’

Alat pengukur tekanan darah dan percobaan awal

  • Setelah mendapat vaksin flu di apotek, hasil pengukuran tekanan darah menunjukkan angka tinggi sehingga penulis memakai alat pemantau tekanan darah 24 jam
    • Perangkat mengukur secara otomatis setiap 30 menit (siang) dan 60 menit (malam)
    • Penulis menemukan port micro-USB di sisi perangkat dan mencoba mengakses datanya
  • Model perangkat adalah Microlife WatchBP O3, lalu penulis mengunduh perangkat lunak WatchBP Analyzer untuk Windows
    • Dicoba dijalankan di Linux menggunakan Bottles, tetapi perangkat tidak terdeteksi
    • Perangkat muncul sebagai hidraw, yang menunjukkan bahwa ia menggunakan antarmuka USB HID
  • Setelah itu penulis memasang mesin virtual Windows (Gnome Boxes) dan menghubungkan perangkat USB, lalu unduhan data berhasil
    • Di WatchBP Analyzer, penulis dapat melihat tiga hasil pengukuran pertama
Iklan

Analisis lalu lintas USB

  • Dengan memanfaatkan lingkungan mesin virtual, penulis menangkap komunikasi USB menggunakan Wireshark
    • Aliran data antara perangkat dan host direkam melalui antarmuka usbmon3
  • Dari paket yang ditangkap, ditemukan urutan byte yang tampaknya berisi nilai tekanan darah
    • Contoh: 05 0a 89 71 43 9b
    • Byte ke-3 diperkirakan sebagai tekanan darah sistolik (SYS), byte ke-4 sebagai tekanan darah diastolik (DIA), dan byte ke-5 sebagai denyut jantung (HR)
  • Dengan membandingkan beberapa hasil pengukuran, penulis merangkum pola data
    • Contoh: 137/113/67, 132/86/68, 126/84/82 dan sebagainya
    • Setiap paket terdiri dari unit 32 byte, dan byte pertama menunjukkan panjang data yang valid (SIGNIFICANT BITS)
Iklan

Menelusuri struktur data tambahan

  • Byte tambahan yang mencakup OPP (oscillometric peak pressure) dan stempel waktu juga dianalisis
    • Data OPP ada pada paket setelah setiap pengukuran, tetapi posisinya tidak tetap
    • Penulis mengasumsikan 4 byte setelah SYS, DIA, HR sebagai stempel waktu 32-bit, tetapi nilainya tidak cocok dengan waktu pengukuran yang sebenarnya
  • Diamati bahwa nilai pada kolom ke-6 berubah dari 82 ke 83 saat pergantian AM/PM, sementara kolom ke-7 menunjukkan pola reset
    • Beberapa nilai tampak mirip dengan satuan menit pada waktu pengukuran, tetapi tidak ditemukan aturan yang jelas

Eksperimen AI dan kode

  • Penulis mencoba menganalisis data dengan memasukkannya ke beberapa model AI melalui platform Kagi
    • Sebagian menghasilkan jawaban yang tidak valid, tetapi tetap membantu memberi arah analisis, misalnya tentang konsep endianness
  • Penulis juga mencoba meniru handshake awal perangkat dan unduhan data menggunakan Python, tetapi kode dari AI sebagian besar tidak akurat
    • Dalam proses ini, penulis jadi mengenal pustaka pyhidapi
    Iklan

Penutup dan pelajaran

  • Karena ada jadwal untuk mengembalikan perangkat, pekerjaan rekayasa balik pun dihentikan
    • Meski begitu, penulis memperoleh pengalaman praktik dalam analisis struktur data USB dan rekayasa balik
  • Istilah baru yang dipelajari antara lain ‘Normotension’ (tekanan darah normal) dan ‘White Coat Hypertension’ (hipertensi jas putih)
    • Tekanan darah dapat naik sementara jika diukur tepat setelah suntikan
  • Kesimpulannya, mengukur tekanan darah segera setelah vaksinasi tidak disarankan

1 komentar

 
GN⁺ 2025-11-13
Komentar Hacker News
  • Karena punya masalah hipertensi, saya membeli perangkat Hilo
    Setelah melakukan kalibrasi dengan memasang manset di lengan, cukup memakai perangkat kecil di pergelangan tangan dan alat ini akan otomatis mengukur tekanan darah siang dan malam saat tidak sedang bergerak
    Datanya disinkronkan dan disimpan di aplikasi ponsel, sehingga bisa menghindari kerepotan memasang manset setiap kali serta white coat hypertension
    Namun, kalibrasi ulang dengan manset tetap perlu dilakukan kira-kira sebulan sekali, dan fitur aplikasi yang mengukur jari lewat kamera memberikan hasil yang tidak konsisten

    • Saya penasaran seberapa akuratnya
  • Di sebuah tulisan tentang AI ada ungkapan “stupid in ways that made me think”, dan rasanya itu merangkum dengan sangat baik alasan AI berguna untuk rubber duck debugging
    AI membuat saya berpikir lebih dalam dibanding saat berbicara dengan rekan kerja

  • Setelah memakai monitor detak jantung dan menganalisis datanya, ternyata hanya ada dua situasi saat detak jantung melonjak tajam — ketika menyetir dan ketika berbicara dengan istri saya

    • Bercanda bahwa demi sains, kita juga perlu data saat menyetir sambil berbicara dengan istri
    • Kadang Oura mengenali olahraga di gym sebagai stres, tetapi ada juga pendapat bahwa olahraga memang benar-benar memberi stres pada tubuh
      Seorang perenang katanya tidak memakai perangkat apa pun dan hanya mendengarkan detak jantungnya sendiri
    • Dengan santai dikatakan bahwa mungkin itu karena sama-sama cinta pada mobil dan istri
  • White coat hypertension tidak selalu disebabkan oleh suntikan atau suasana rumah sakit, tetapi bisa juga hanya karena ketegangan saat proses pengukuran

    • Seorang teman diukur tekanan darahnya di rumah sakit oleh perawat cantik dan hasilnya terlalu tinggi, lalu dokter mengukurnya lagi dan tetap tinggi
      Akhirnya dia diberi resep obat
    • Pernah berlari ke rumah sakit karena takut terlambat lalu mengukur tekanan darah, hasilnya terlalu tinggi, sehingga dokter menyarankan untuk mengukurnya lagi dengan tenang di rumah
    • Istri saya sering ke rumah sakit karena penyakit autoimun, dan pernah ada alat pengukur tekanan darah otomatis yang rusak sehingga terus mengencangkan lengannya dan terasa menakutkan
      Sejak itu, setiap kali istri saya mengukur tekanan darah, saya ikut tegang
    • Saya sangat takut ke dokter gigi, jadi kalau memakai monitor terus-menerus, tekanan darah saya pasti akan melonjak saat di klinik gigi
    • Saya mengukur tekanan darah setiap hari karena menyesuaikan dosis obat ADHD, dan bahkan dalam kondisi yang sama angkanya bisa berubah-ubah dari 115/75 sampai 135/90
      Jadi saya hanya melihat nilai rata-rata. A&D UA-611 Plus di rumah maupun alat di rumah sakit menunjukkan variasi yang mirip
  • Sambil menganalisis format data, saya sempat menebak tahun, bulan, tanggal, jam, dan menit per bit, tetapi masih belum tahu mengapa perlu membalik bit (reverse) atau apa arti bagian-bagian yang kosong

  • Lelucon “kalau ini berhasil direkayasa balik, tekanan darah saya rasanya akan membaik” terasa sangat mengena, sampai setelah membacanya saya benar-benar merasa lebih sehat

  • Setelah minum jus jeruk dan makan pisang dua kali sehari, tekanan darah turun dari 142/90 → 125/80
    Jadi asupan kalium saya menjadi sekitar 2000mg per hari

    • Penasaran apakah jus jeruk dan pisang itu baru mulai dikonsumsi untuk menurunkan tekanan darah, atau justru dihentikan
  • Kalimat “stupid in ways that made me think” terasa seperti ringkasan yang sangat tepat tentang kelebihan sekaligus keterbatasan AI

    • AI adalah rubber duck yang lumayan bagus, sekaligus mesin pencari yang cukup berguna
  • Saya juga mulai mengelola data kesehatan saya sendiri dengan cara yang mirip
    Sepertinya akan makin banyak pengembang yang bertambah tua, mulai merasakan ada yang tidak beres pada tubuhnya, lalu melakukan pengelolaan kesehatan mandiri
    Dokumen terkait saya rangkum di mikado-aktiia.readthedocs.io

    • Versi aplikasi terbaru bisa mengekspor nilai rata-rata harian ke Apple Health
      Saya membaca PDF dengan BPExtract lalu mengekspor semua hasil pengukuran ke Apple Health secara otomatis, dan rasanya otomatisasi jauh lebih baik daripada manual
    • Disarankan bahwa mungkin akan lebih mudah mengendus langsung trafik Bluetooth daripada membaca PDF
    • Sekarang rasanya kita hidup di zaman ketika orang harus menjaga kesehatannya sendiri, terlepas dari usia
      Dokter umum pada akhirnya hanya berperan sebagai pengarah ke spesialis, dan waktu tunggunya terlalu lama
      Namun kita tetap harus selalu berasumsi bahwa penilaian diri sendiri bisa saja salah
    • Ada komentar ringan yang menunjukkan bahwa satu tanda kurung tertinggal
  • Melihat dump trafiknya membuat saya ingin menganalisis protokolnya secara offline
    Belum lama ini saya juga menghabiskan setengah hari untuk reverse engineering driver printer virtual Windows, lalu memaksa diri berhenti walaupun ingin terus melanjutkannya

    • (Komentar tak terkait dalam bahasa Spanyol dihilangkan)