I didn't reverse-engineer the protocol for my blood pressure monitor in 24 hours
После прививки от гриппа автору предложили 24-часовой мониторинг давления с устройством Microlife WatchBP O3, которое автоматически измеряет давление каждые 30 минут днём и 60 ночью. Обнаружив micro-USB порт на устройстве, он решил анализировать данные без использования официального Windows-приложения WatchBP Analyzer. Устройство распознавалось в Linux как hidraw, но для доступа к данным потребовался запуск Windows в виртуальной машине через Gnome Boxes с перенаправлением USB-устройства.
Анализируя трафик между хостом и устройством через Wireshark и usbmon, автор обнаружил, что данные передаются в 32-байтных пакетах. Первый байт указывает количество значащих битов в пакете, третий байт кодирует систолическое давление, четвёртый — диастолическое, а пятый — пульс. Например, пакет 05 0a 89 71 43 9b соответствовал давлению 137/113 и пульсу 67. Однако полной расшифровки протокола не удалось — остались неопределёнными второй и шестой байты, а также отсутствовали метки времени и данные об Oscillometric signal peak pressure (OPP).