What would be the easiest way to read data from a USB glucose meter externally with a microcontroller. Not with the software that is provided. So how could I incercept the digital signals that are being sent out?
|
The native interface to most glucose meters (Abbott, Bayer, J&J and Roche) is a UART output. There is circuitry at one end of the cable that translates this to USB protocol. It is possible to read the data with a UART by using a 2.5 mm or 3.5 mm plug to connect directly with the meter. The J&J uses a 3.5 mm plug with Tip being Tx and Ring being Rx (Tx and Rx wrt your UART, not the meter), and communicates at 9600 baud. Except for the various J&J One-Touch models, the signal levels for the other brands are typically neither regular UART (0 / 3.3) or RS232 (+-5) levels but some weird combination. Some models also swap Tx/Rx compared to the J&J. Note: the One Touch Ultra and Ultra 2 use a different (more text based) protocol than the binary protocol used by the Ultra Mini (see CoderTao's answer for a link to the latter). |
||||
|
|
|
If you're still looking for a device, this search suggests that OneTouch UltraMini / UltraEasy have an RS232 interface available, with documentation- which should make it easier to interface with. |
|||
|
|
|
You'll need an embedded device with USB host to read from your USB device. That implies a certain level of complexity (and cost). The easiest route is probably to use Linux. Have a look at this question for some options: http://chiphacker.com/questions/2191/options-for-a-small-linux-hw-platform You'll also need a linux driver for your device. If one isn't available, you may have to reverse engineer the existing driver (perhaps using usbsnoop or other USB sniffing tools). Alternatively, there are smaller/cheaper/more energy efficient devices such as the USB AVRs or various flavours of ARM MCUs which can do USB host. If it wasn't for USB - this would be straightforward with an Arduino. Arduino is only capable of being a USB device and only a serial port over USB. If you could find an alternate glucose reader which output a voltage or simple digital signal (I2C/SPI/RS232) then things would be simpler... |
|||||||||||||
|
|
If you really want to do USB embedded host you can use PIC24 from Microchip. They provide a good USB stack with some basic device profiles. I have not seen a device profile for a glucose meter, but it's possible they use a HID or CDC profile. If not you may need to get that information from the glucose meter manufacturer. |
|||
|
|