1 पॉइंट द्वारा GN⁺ 2025-11-13 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • फ़ार्मेसी में Microlife WatchBP O3 blood pressure monitor पहनने के बाद, डेटा सीधे देखने की कोशिश करते समय डिवाइस का micro-USB पोर्ट मिला
  • Linux वातावरण में WatchBP Analyzer software चलाया, लेकिन डिवाइस पहचानने में विफल रहा; बाद में Windows virtual machine के जरिए डेटा डाउनलोड सफल रहा
  • Wireshark और usbmon का उपयोग करके USB संचार कैप्चर किया गया, और डेटा पैकेट में systolic·diastolic blood pressure और heart rate शामिल होने वाली byte structure की पुष्टि हुई
  • अतिरिक्त रूप से OPP (oscillatory peak pressure) और timestamp को ट्रैक किया गया, लेकिन समय डेटा की संरचना स्पष्ट रूप से समझ में नहीं आई
  • reverse engineering का प्रयास समय-सीमा के कारण रोकना पड़ा, लेकिन इससे data structure analysis का अनुभव और ‘white coat hypertension’ की अवधारणा नई तरह से सीखने को मिली

blood pressure monitor और शुरुआती प्रयास

  • फ़ार्मेसी में flu shot लगवाने के बाद blood pressure मापने पर मान ऊँचा आया, इसलिए 24-hour blood pressure monitoring device पहनना पड़ा
    • डिवाइस दिन में हर 30 मिनट और रात में हर 60 मिनट पर अपने-आप माप करता था
    • डिवाइस के साइड में micro-USB पोर्ट देखकर डेटा एक्सेस करने की कोशिश की गई
  • डिवाइस मॉडल Microlife WatchBP O3 था, और इसके लिए Windows के लिए WatchBP Analyzer software डाउनलोड किया गया
    • Linux वातावरण में Bottles के जरिए चलाया, लेकिन डिवाइस पहचानने में विफल रहा
    • यह hidraw डिवाइस के रूप में दिखा, जिससे पुष्टि हुई कि यह USB HID interface का उपयोग करता है
  • बाद में Windows virtual machine (Gnome Boxes) इंस्टॉल कर USB डिवाइस कनेक्ट किया गया, तो डेटा डाउनलोड सफल रहा
    • WatchBP Analyzer में शुरुआती तीन माप देखे जा सके

USB traffic analysis

  • virtual machine वातावरण का उपयोग करके Wireshark से USB संचार कैप्चर किया गया
    • usbmon3 interface के माध्यम से डिवाइस और host के बीच डेटा प्रवाह रिकॉर्ड किया गया
  • कैप्चर किए गए पैकेटों में blood pressure मान शामिल होने जैसा एक byte sequence मिला
    • उदाहरण: 05 0a 89 71 43 9b
    • अनुमान है कि तीसरा byte systolic blood pressure (SYS), चौथा diastolic blood pressure (DIA), और पाँचवाँ heart rate (HR) है
  • कई मापों की तुलना करके data pattern व्यवस्थित किया गया
    • उदाहरण: 137/113/67, 132/86/68, 126/84/82 आदि
    • हर पैकेट 32-byte इकाइयों में बना था, और पहला byte valid data length (SIGNIFICANT BITS) दिखाता था

अतिरिक्त data structure की खोज

  • OPP (oscillatory peak pressure) और timestamp शामिल करने वाले अतिरिक्त bytes का विश्लेषण किया गया
    • OPP डेटा हर measurement के बाद वाले पैकेट में मौजूद था, लेकिन उसकी स्थिति स्थिर नहीं थी
    • SYS, DIA, HR के बाद आने वाले 4 bytes को 32-bit timestamp माना गया, लेकिन वे वास्तविक measurement time से मेल नहीं खाते थे
  • यह पैटर्न देखा गया कि छठे कॉलम का मान पूर्वाह्न-अपराह्न बदलने पर 82 से 83 हो जाता है, और सातवाँ कॉलम reset हो जाता है
    • कुछ मान measurement time के मिनट वाले हिस्से से मिलते-जुलते लगे, लेकिन कोई स्पष्ट नियम नहीं मिला

AI और code experiments

  • Kagi platform के माध्यम से कई AI models को डेटा देकर विश्लेषण की कोशिश की गई
    • कुछ ने अमान्य परिणाम दिए, लेकिन endianness जैसी अवधारणाओं ने विश्लेषण की दिशा तय करने में मदद की
  • Python से डिवाइस के शुरुआती handshake और डेटा डाउनलोड की नकल करने की कोशिश की गई, लेकिन AI द्वारा दिया गया code ज़्यादातर गलत था
    • इस प्रक्रिया में pyhidapi library के बारे में नया पता चला

समापन और सीख

  • डिवाइस लौटाने की समय-सीमा के कारण reverse engineering का काम रोकना पड़ा
    • इस प्रक्रिया में USB data structure analysis और reverse engineering के practical अनुभव मिले
  • नए सीखे गए शब्दों में ‘Normotension’ (सामान्य रक्तचाप) और ‘White Coat Hypertension’ (white coat hypertension) का उल्लेख था
    • इंजेक्शन लगने के तुरंत बाद blood pressure मापने पर अस्थायी रूप से ऊँचे मान आ सकते हैं
  • निष्कर्षतः, vaccination के तुरंत बाद blood pressure मापने की सिफारिश नहीं की जाती

1 टिप्पणियां

 
GN⁺ 2025-11-13
Hacker News टिप्पणियाँ
  • हाई ब्लड प्रेशर की समस्या होने के कारण Hilo डिवाइस खरीदा।
    बांह पर cuff पहनकर calibration करने के बाद कलाई पर एक छोटा डिवाइस पहनते हैं, जो स्थिर रहने पर दिन-रात अपने-आप ब्लड प्रेशर मापता है।
    डेटा smartphone app के साथ sync होकर सेव हो जाता है, और हर बार cuff पहनने की झंझट तथा white coat hypertension से बचा जा सकता है।
    हालांकि लगभग हर महीने cuff से फिर से calibration करना पड़ता है, और app के camera से उंगली मापने वाला फीचर अस्थिर नतीजे देता है।

    • इसकी accuracy कितनी है, यह जानने की जिज्ञासा है।
  • AI पर एक लेख में “stupid in ways that made me think” वाला वाक्य था, और लगा कि यही बहुत अच्छे से बताता है कि AI rubber duck debugging में क्यों उपयोगी है।
    यह सहकर्मी से बात करने की तुलना में और गहराई से सोचने पर मजबूर करता है।

  • heart rate monitor पहनकर डेटा का विश्लेषण किया तो पता चला कि heart rate तेज़ी से बढ़ने के सिर्फ़ दो ही मामले थे — ड्राइव करते समय और पत्नी से बात करते समय।

    • मज़ाक में कहा कि विज्ञान के लिए ड्राइव करते हुए पत्नी से बात करने का डेटा भी चाहिए।
    • कभी-कभी Oura gym में किए गए workout को stress समझ लेता है, लेकिन कुछ लोगों की राय है कि exercise वास्तव में शरीर पर stress डालती ही है।
      एक swimmer का कहना है कि वह कोई डिवाइस नहीं पहनता, सिर्फ़ अपनी heartbeat सुनता है।
    • हँसते हुए कहा कि शायद ऐसा इसलिए है क्योंकि उसे कार और पत्नी, दोनों से प्यार है।
  • white coat hypertension सिर्फ़ injection या hospital के माहौल की वजह से ही नहीं होता, बल्कि यह सिर्फ़ मापे जाने की स्थिति के तनाव की वजह से भी हो सकता है।

    • एक दोस्त का hospital में एक सुंदर nurse ने ब्लड प्रेशर मापा, तो रीडिंग बहुत ऊँची आई; डॉक्टर ने दोबारा मापा, तब भी ऊँची रही।
      अंत में दवा लिखनी पड़ी।
    • hospital के लिए देर हो रही थी, इसलिए दौड़कर पहुँचे और ब्लड प्रेशर मापा, तो बहुत ऊँचा निकला; डॉक्टर ने सलाह दी कि घर जाकर शांति से फिर मापें।
    • पत्नी को autoimmune disease है और उसे अक्सर hospital जाना पड़ता है; एक बार automatic blood pressure monitor खराब हो गया और उसकी बांह को लगातार कसता रहा, जो डरावना था।
      उसके बाद से पत्नी का ब्लड प्रेशर मापते समय मुझे भी तनाव होने लगा।
    • दंत-चिकित्सा का इतना डर है कि अगर लगातार monitor पहना हो, तो dentist के पास रहते समय ब्लड प्रेशर ज़रूर उछल जाएगा।
    • मैं ADHD दवा की dose adjust करने के कारण हर दिन ब्लड प्रेशर मापता हूँ, और एक जैसी परिस्थितियों में भी रीडिंग 115/75 से 135/90 तक बदलती रहती है।
      इसलिए मैं सिर्फ़ average value देखता हूँ। घर का A&D UA-611 Plus और hospital की मशीनें, दोनों में ऐसा ही उतार-चढ़ाव दिखता है।
  • डेटा फ़ॉर्मैट का विश्लेषण करते हुए साल, महीना, दिन, घंटा और मिनट को bit स्तर पर अनुमान लगाया, लेकिन bit reverse की ज़रूरत क्यों पड़ती है या खाली हिस्सों का मतलब क्या है, यह अब भी समझ नहीं आया।

  • “इसे reverse engineer कर लूँ तो शायद ब्लड प्रेशर ठीक हो जाएगा” वाला मज़ाक इतना relatable लगा कि पढ़ने के बाद सच में थोड़ा स्वस्थ महसूस हुआ।

  • दिन में दो बार orange juice और banana खाने से ब्लड प्रेशर 142/90 → 125/80 तक नीचे आ गया।
    इससे रोज़ लगभग 2000mg potassium मिलने लगा।

    • जिज्ञासा हुई कि ब्लड प्रेशर कम करने के लिए orange juice और banana शुरू किए गए थे, या बंद किए गए थे।
  • “stupid in ways that made me think” वाला वाक्य AI की ताकत और सीमाओं, दोनों को एक साथ बहुत अच्छे से समेट देता है।

    • AI एक ठीक-ठाक rubber duck है, और एक किसी-कदर कामचलाऊ search engine भी।
  • मैंने भी इसी तरह अपना health data खुद संभालना शुरू किया है।
    लगता है कि उम्रदराज़ developers में शरीर की गड़बड़ियाँ महसूस करते हुए self-directed health management का रुझान बढ़ेगा।
    संबंधित दस्तावेज़ mikado-aktiia.readthedocs.io पर व्यवस्थित किए हैं।

    • नया app version Apple Health में daily average export कर सकता है।
      मैं BPExtract से PDF पढ़कर सभी measurements को Apple Health में अपने-आप export करता हूँ, और लगता है कि manual तरीक़े से कहीं बेहतर automation है।
    • सुझाव दिया गया कि PDF पढ़ने की बजाय Bluetooth traffic को सीधे sniff करना शायद ज़्यादा आसान हो।
    • अब लगता है कि यह ऐसा दौर है जहाँ उम्र से परे हर किसी को अपनी सेहत खुद संभालनी होगी।
      GP आख़िरकार सिर्फ़ specialist तक पहुँचाने वाला signal भर बनकर रह जाता है, और waiting time बहुत लंबा होता है।
      फिर भी यह मानकर चलना चाहिए कि अपनी समझ ग़लत भी हो सकती है।
    • हल्के अंदाज़ में कहा गया कि एक parenthesis छूट गया है।
  • traffic dump देखकर लगा कि protocol को offline में विश्लेषित करने का मन हो रहा है।
    हाल में भी Windows virtual printer driver को reverse engineering करने में आधा दिन लगा दिया था, और बड़ी मुश्किल से खुद को आगे जारी रखने से रोका।

    • (Spanish में किया गया असंबंधित comment छोड़ा गया है)