adafruit_ble_berrymed_pulse_oximeter
adafruit_ble_berrymed_pulse_oximeter
BLE Support for Berrymed Pulse Oximeters
Author(s): Adafruit Industries
Implementation Notes
Hardware:
BM1000, made by Shanghai Berry Electronic Tech Co.,Ltd. Device labeling is not consistent. May be identified on device label, box, or in BLE advertisement as BM1000, BM1000B, BM1000C, or BM1000E.
Protocol defined here:
Thanks as well to:
Software and Dependencies:
Adafruit CircuitPython firmware for the supported boards: https://github.com/adafruit/circuitpython/releases
- class adafruit_ble_berrymed_pulse_oximeter.BerryMedPulseOximeterService(service: TransparentUARTService | None = None)
Service for reading from a BerryMed BM1000C or BM100E Pulse oximeter.
- property values
All the pulse oximeter values, returned as a PulseOximeterValues namedtuple.
Return
None
if no data available.
- class adafruit_ble_berrymed_pulse_oximeter.PulseOximeterValues(valid, spo2, pulse_rate, pleth, finger_present)
Namedtuple for measurement values.
-
True
if sensor readings are not valid right now PulseOximeterValues.finger_present
True
if finger present.-
SpO2 value (int): 0-100%: blood oxygen saturation level.
PulseOximeterValues.pulse_rate
Pulse rate, in beats per minute (int).
-
Plethysmograph value, 0-100 (int).
For example:
bpm = svc.values.pulse_rate
- finger_present
Alias for field number 4
- pleth
Alias for field number 3
- pulse_rate
Alias for field number 2
- spo2
Alias for field number 1
- valid
Alias for field number 0
-
adafruit_ble_berrymed_pulse_oximeter.adafruit_ble_transparent_uart
This module provides Services used by MicroChip
- class adafruit_ble_berrymed_pulse_oximeter.adafruit_ble_transparent_uart.TransparentUARTService(service: TransparentUARTService | None = None)
Provide UART-like functionality via MicroChip
- Parameters:
- read(nbytes: int | None = None) bytes | None
Read characters. If
nbytes
is specified then read at most that many bytes. Otherwise, read everything that arrives until the connection times out. Providing the number of bytes expected is highly recommended because it will be faster.- Returns:
Data read
- Return type:
bytes or None
- readinto(buf: array | bytearray | memoryview | rgbmatrix.RGBMatrix | ulab.numpy.ndarray, nbytes: int | None = None) int | None
Read bytes into the
buf
. Ifnbytes
is specified then read at most that many bytes. Otherwise, read at mostlen(buf)
bytes.- Returns:
number of bytes read and stored into
buf
- Return type:
int or None (on a non-blocking error)
- readline() bytes | None
Read a line, ending in a newline character.
- Returns:
the line read
- Return type:
bytes or None
- write(buf: array | bytearray | bytes | memoryview | rgbmatrix.RGBMatrix | ulab.numpy.ndarray) None
Write a buffer of bytes.