Giter VIP home page Giter VIP logo

viatom_pc60fw's Introduction

viatom_pc60fw

Python script to read values from Viatom Wellue PC-60FW Fingertip Oximeter with Bluetooth

BLE characteristics

The device uses Nordic UART Service. Actually, to read the values only the TX characteristic (Notify) is needed. I'm not sure if the RX characteristic is in use at all.

Packet format

A packet starts with a sync word [0xaa, 0x55]. That's followed by 0x0f or 0xf0 - I don't know its function. The next byte is the length of the payload including the CRC at the end of the packet. The remaining bytes are the payload and a one-byte Maxim CRC8 checksum.

I encountered four types of payloads (CRC is removed from the end):

Numerical data: SpO2, Pulse rate, Perfusion index

Example:

0x0f 0x08 0x01 0x60 0x3e 0x00 0x50 0x00 0xc0
? Length Func SpO2 PR ? PI ? ?

Waveform data: Pulse waveform

Example:

0x0f 0x07 0x02 0x3b 0x38 0x35 0x32 0x2f
? Length Func WF WF WF WF WF

Interestingly, there is a "spike" in every pulse cycle, and it is always the third sample after the peak value of the pulse waveform. It seems to subtract 0x80 (128) from this spike value the resulting value just fits into the curve values. The maximum value of the waveform is 0x7f (except in the case of the spike) so, subtract 0x80 from the spike value doesn't seem to cause any problem.

Unknown

Example:

0x0f 0x06 0x21 0x02 0x00 0x00 0x00
? Length Func ? ? ? ?

Unknown

Example:

0xf0 0x03 0x03 0x03
? Length Func ?

viatom_pc60fw's People

Contributors

sza2 avatar tomek-szczesny avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

mvalley21

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.