uci-cbp-demo

GUI to demo continuous blood pressure sensing


Keywords
uci_cbp_demo, blood-pressure, cardiology, continuous-sensing, iot
License
MIT
Install
pip install uci-cbp-demo==0.6.0

Documentation

UCI cBP demo

Documentation Status

GUI to demo continuous blood pressure sensing works on Linux, Windows, and MacOS X. This GUI requires custom firmware installed on MbientLab Metamotion R device, and a capacitor to digital converter from Analog Devices, AD7746.

Pull requests welcome! Please fork repository to begin with.

Quick Start

Following command assumes a Linux environment. For Windows and MacOSX setup, you may need to tweak the commands a little bit, according to your system setup.

# setup virtual environment
python -m venv venv

# enter virtual environment
source venv/bin/activate

# install the latest code from PyPI
pip install uci-cbp-demo

# power up the hardware

# start GUI with parameters a=1 b=0
uci_cbp_demo gui -a 1 -b 0

To list available CLI options, use

uci_cbp_demo gui --help
# Usage: uci_cbp_demo gui [OPTIONS]
#
# Options:
# -a INTEGER  Scaling coefficient
# -b INTEGER  Shifting in Y
# --help      Show this message and exit.

Troubleshooting

  1. If you run into issues saying

    Could not fetch URL https://pypi.python.org/ ... There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:645) - skipping

    Try follow steps described in pypa repository

curl https://bootstrap.pypa.io/get-pip.py | python

MAC OS Notes

  1. OS X/macOS support via Core Bluetooth API, from at least version 10.11
  2. The macOS backend of Bleak is written with pyobjc directives for interfacing with Foundation and CoreBluetooth APIs. There are some values that pyobjc is not able to overwrite and thuse the corebleak framework was written to circumvent these issues. The most noticible difference between the other backends of bleak and this backend, is that CoreBluetooth doesn’t scan for other devices via MAC address. Instead, UUIDs are utilized that are often unique between the device that is scanning the the device that is being scanned.