Daten von einem Blutzuckermessgerät lesen

7

Was wäre der einfachste Weg, um Daten von einem USB-Glukosemessgerät extern mit einem Mikrocontroller zu lesen? Nicht mit der mitgelieferten Software. Wie könnte ich also die digitalen Signale erfassen, die gesendet werden?


quelle
Geben Sie uns einen Link zu dem gewünschten.
Kortuk

Antworten:

8

Die native Schnittstelle zu den meisten Glukosemessgeräten (Abbott, Bayer, J & J und Roche) ist eine UART-Ausgabe. An einem Ende des Kabels befindet sich eine Schaltung, die dies in ein USB-Protokoll übersetzt. Es ist möglich, die Daten mit einem UART zu lesen, indem ein 2,5-mm- oder 3,5-mm-Stecker verwendet wird, um eine direkte Verbindung mit dem Messgerät herzustellen.

Der J & J verwendet einen 3,5-mm-Stecker mit Tip als Tx und Ring als Rx (Tx und Rx für Ihren UART, nicht für das Messgerät) und kommuniziert mit 9600 Baud. Mit Ausnahme der verschiedenen J & J One-Touch-Modelle sind die Signalpegel für die anderen Marken normalerweise weder reguläre UART- (0 / 3,3) noch RS232- (+ -5) Pegel, sondern eine seltsame Kombination. Einige Modelle tauschen auch Tx / Rx im Vergleich zu J & J. Hinweis: One Touch Ultra und Ultra 2 verwenden ein anderes (textbasierteres) Protokoll als das vom Ultra Mini verwendete Binärprotokoll (einen Link zu letzterem finden Sie in der Antwort von CoderTao).

tcrosley
quelle
5

Wenn Sie immer noch für ein Gerät suchen, diese Suche läßt vermuten , dass OneTouch Ultramini / UltraEasy® hat eine RS232 - Schnittstelle zur Verfügung, mit der Dokumentation des Software Developer - was sollte es einfacher, eine Schnittstelle machen.

Passant
quelle
4

Sie benötigen ein eingebettetes Gerät mit USB-Host, um von Ihrem USB-Gerät lesen zu können. Dies impliziert ein gewisses Maß an Komplexität (und Kosten).

Der einfachste Weg ist wahrscheinlich die Verwendung von Linux. In dieser Frage finden Sie einige Optionen: /electronics/2191/options-for-a-small-linux-hw-platform

Sie benötigen außerdem einen Linux-Treiber für Ihr Gerät. Wenn einer nicht verfügbar ist, müssen Sie möglicherweise den vorhandenen Treiber zurückentwickeln (möglicherweise mithilfe von usbsnoop oder anderen USB-Sniffing-Tools).

Alternativ gibt es kleinere / billigere / energieeffizientere Geräte wie USB-AVRs oder verschiedene Arten von ARM-MCUs, die USB-Hosts ausführen können.

Ohne USB wäre dies mit einem Arduino unkompliziert. Arduino kann nur ein USB-Gerät und nur eine serielle Schnittstelle über USB sein.

Wenn Sie einen alternativen Glukoseleser finden könnten, der eine Spannung oder ein einfaches digitales Signal (I2C / SPI / RS232) ausgibt, wären die Dinge einfacher ...

Toby Jaffey
quelle
Ich möchte dies von einer Schaltung aus tun. Vielleicht wie ein Arduino.
Wäre es einfacher, ein Nicht-USB-Messgerät zu verwenden, als herauszufinden, wo die Daten verarbeitet werden, und dies von dort aus zu tun?
1
Ja, ein Nicht-USB-Gerät wäre mit ziemlicher Sicherheit einfacher zu verbinden.
Toby Jaffey
Haben Sie eine Idee, wie ich eine Schnittstelle zu einem herstellen könnte? Ich würde nicht einmal wissen, wo sich der Teil der Schaltung befindet, in dem die Daten gespeichert sind.
Erzählen Sie uns mehr über Ihr Gerät.
Toby Jaffey
4

Wenn Sie wirklich einen USB-Embedded-Host verwenden möchten, können Sie PIC24 von Microchip verwenden. Sie bieten einen guten USB-Stack mit einigen grundlegenden Geräteprofilen. Ich habe kein Geräteprofil für ein Blutzuckermessgerät gesehen, aber es ist möglich, dass sie ein HID- oder CDC-Profil verwenden. Wenn nicht, müssen Sie diese Informationen möglicherweise vom Hersteller des Blutzuckermessgeräts erhalten.

mjh2007
quelle