Integration of bluglu device

From CDOT Wiki
Revision as of 17:42, 23 July 2013 by Wsong18 (talk | contribs) (Current Work)
Jump to: navigation, search

Our task

  • To integrate bluglu device into the Mobile Medical Device Integration project to enable the project's functionality of connecting blood glucose devices.
  • The current task is to implement the connectivity between bluglu and Android devices.
Bluglu MMDI.jpg

Current Work

Adding multiple manufacturer support

  • Rebuild our Mobile Medical Device Integration project to support multiple Bluetooth servers and Bluetooth clients.
    • Before we started the current task, our project support only a Bluetooth server instance which is used to receive measurements from A&D blood pressure meter and weight scale.
    • So at beginning, we tried to update our project to support multiple Bluetooth servers because we asserted that the bluglu device work the same way as A&D devices. The bluglu device communication protocol specification (UDCP) does mention what work mode it takes.
    • Based on the further info from UHN, we knew that bluglu device work as slave, which means blugle device works as Bluetooth server. Therefore, we started to add Bluetooth client support for our project in order to be able to communicate with bluglu devices.
    • The last stage of this part of work is to reconstruct the MMDI project to refine the program structure due to both Bluetooth server and client sharing several general parts.

Probing Bluetooth communication between bluglu and Android devices

  • We've know the paring process (see the documentation below) based on the info from UHN.
  • Based on experiments, it seemed that the Android have been able to connect to bluglu device using fixed Bluetooth port number (#3).
    • Usually, Android device's Bluetooth implementation requires Bluetooth server use a random port number for the Bluetooth communication.
    • Based on experiments, we found the bluglu device uses a fixed port/channel number (#3) for the communication (need to get confirmation from UHN).
    • We tried to use Java reflection to realize (our Bluetooth client's) using fixed port #3 to communicate with bluglu device. It seemed connected.
    • But we are not sure the connection is on the right way because the next step doesn't work.
  • we are stuck at issue simple UDCP commands to bluglu device.

Current Issues

About Bluglu Device

Bluglu device

  • bluglu device is a Medical Device Data Interface Adapter, which can attach to the OneTouch® UltraMini® Blood Glucose Meters and converts the UART serialized data into Bluetooth. Bluglu device is a in-house product of Toronto University Health Network. Bluglu is built around an 8-bit microcontroller and includes a Bluetooth module, an Apple specific co-processor, LED status inducators, a micro-USB connector (for battery charging), and various passive components combined on a dual-layer printed circuit board.
Bluglu Main Components.jpg


  • Dimensions: 58cm x 35cm x 12cm
  • Radio: Bluetooth 2.0, Class 2
  • Battery: Build-in rechargeable lithium-ion, charge using mini-USB
  • Firmware: Update over Bluetooth and USB
  • Supported Devices: Blood Glucose Meters: LifeScan OneTouch Ultra, Ultra2, UltraMini

Paring Process

  • Tap the reset button once to put the BluGlu into a known state (idle). Hold the reset button until the white LED turns on, it should take about 4-5 seconds.
  • Release the reset button and the BluGlu is now in a "waiting for pairing" state for about 2 minutes. If pairing times out, BluGlu will remain paired with the last device it was successfully paired with.
  • Do a Bluetooth device discovery on the mobile phone. Once BluGlu is discovered, you can attempt to pair with it. BluGlu will try to use Simple Secure Pairing, but not all devices support that. If they don't, it will try to revert to using a PIN code.
  • If this happens, the PIN code is 589213

UDCP Documentation

  • UHN Device Communication Protocol Specification (UDCP): a sample page only
    UDCP SamplePage.jpg
  • Command Explanation:
    • Device commands can be issued from the host to request data such as the the battery level. Device commands do not get passed to the sensor that is attached to the bluglu (glucose meter).
    • Raw commands are sent from the host to bluglu. Bluglu will then strip out the actual raw packet and pass that to the sensor that is attached.