I have a (cheap) bluetooth-enabled pulse oximeter (PC-60FW).
I am running OMG on an ESP32 with esp32dev-ble firmware.
I can “see” the device in MQTT explorer as follows:
{
"id": "00:00:00:03:10:C4",
"name": "PC-60F_SN200900",
"rssi": -69
}
Presumably this is just the basic “here I am” advertising message.
Based on Theengs Compatible BLE devices, its seems like this device is not (yet) officially supported.
How do I “pair” with this device and “decode” the heart-rate and 02-sat data that it presumably broadcasts regularly?
I have played a fair bit with the RTL-433 codebase in OMG but am new to BT devices so any pointers would be appreciated.
Note that the device doesn’t seem to require any explicit pairing since when I downloaded an app it simply scanned and connected without any manual pairing or approval.
Based on pc-60fw/arduino-proxy/oximeter-bt-proxy/oximeter-bt-proxy.ino at main · pythag/pc-60fw · GitHub and Bluetooth ESP32 gateway | Theengs OpenMQTTGateway v1.8.1, I tried the following but it gave no response beyond the usual continued, intermittent advertising messages stating the id/name/rssi values:
mosquitto_pub -h homeassistant -u MQTT -P $PASSWD -t "home/OMG_ESP32_BLE/commands/MQTTtoBT/config" -m '{
"ble_read_address":"00:00:00:03:10:C4",
"ble_read_service":"6e400001-b5a3-f393-e0a9-e50e24dcca9e",
"ble_read_char":"6e400003-b5a3-f393-e0a9-e50e24dcca9e",
"value_type":"STRING",
"ttl": 2
}'
where 00:00:00:03:10:C4
is the id mentioned in the original post.
I get the same lack of response regardless of what I use for ble_read_address
or indeed any of the ble_read_
parameters.
I also tried substituting _sub_
for _read_
to no avail.
Similarly changing ‘STRING’ to ‘HEX’
Similarly to preceding with a write:
mosquitto_pub -h homeassistant -u MQTT -P $PASSWD -t "home/OMG_ESP32_BLE/commands/MQTTtoBT/config" -m '{
"ble_write_address":"00:00:00:03:10:C4",
"ble_write_service":"6e400001-b5a3-f393-e0a9-e50e24dcca9e",
"ble_write_char":"6e400002-b5a3-f393-e0a9-e50e24dcca9e",
"value":"0200",
"value_type":"STRING",
"ttl": 2
}'