Lesen von Daten von einem Blutzuckermessgerät

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

geben Sie uns einen Link zu dem, das Sie wollen.

Antworten (4)

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

Der J&J verwendet einen 3,5-mm-Stecker mit Spitze als Tx und Ring als Rx (Tx und Rx bezüglich Ihres UART, nicht des Messgeräts) und kommuniziert mit 9600 Baud. Mit Ausnahme der verschiedenen J&J One-Touch-Modelle sind die Signalpegel für die anderen Marken normalerweise weder normale UART- (0 / 3,3) oder RS232 (+-5)-Pegel, sondern eine seltsame Kombination. Einige Modelle tauschen im Vergleich zum J&J auch Tx/Rx. Hinweis: One Touch Ultra und Ultra 2 verwenden ein anderes (mehr textbasiertes) Protokoll als das vom Ultra Mini verwendete Binärprotokoll (siehe CoderTaos Antwort für einen Link zu letzterem).

Wenn Sie immer noch nach einem Gerät suchen, schlägt diese Suche vor, dass OneTouch UltraMini / UltraEasy über eine RS232-Schnittstelle verfügt, mit der Dokumentation des Softwareentwicklers - was die Schnittstelle erleichtern sollte .

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

Der einfachste Weg ist wahrscheinlich die Verwendung von Linux. Sehen Sie sich diese Frage für einige Optionen an: https://electronics.stackexchange.com/questions/2191/options-for-a-small-linux-hw-platform

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

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

Wenn USB nicht wäre, wäre dies mit einem Arduino einfach. 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, dann wären die Dinge einfacher ...

Ich möchte dies von einer Schaltung aus tun. Vielleicht wie ein Arduino.
Wäre es einfacher, ein Messgerät ohne USB zu verwenden, als herauszufinden, wo die Daten verarbeitet werden, und es von dort aus zu tun?
Ja, ein Nicht-USB-Gerät wäre mit ziemlicher Sicherheit einfacher anzuschließen.
Hast du eine Idee, wie ich mich mit einem verbinden könnte? Ich wüsste nicht einmal, wo ich den Teil der Schaltung finden könnte, der die Daten speichert.
Erzählen Sie uns mehr über Ihr Gerät.
Ich habe noch keine. Ich wusste nicht, dass die USB-Route eine größere Herausforderung sein würde, weil ich vorhatte, nur eine davon zu kaufen. Wenn Sie irgendwelche billigen Vorschläge von denen haben, die leicht zu infrontieren wären, sagen Sie es mir.

Wenn Sie wirklich einen eingebetteten USB-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.