Hallo zusammen, ich bin am Überlegen, wie ich folgendes Problem lösen kann. Ich möchte gerne ein Blutdruckmessgerät von Beurer BM56 mit einer Mini-USB Buchse und folgendem Datentransfer möglichst simpel per Funk an einem Linux Recher senden. http://www.atbrask.dk/?p=98 Die Empfangsseite ist egal. Nur die Sendeseite macht mir Probleme. Ich weiß zwar durch die Website wie das Python-Skript per Direkt USB aussehen würde aber wie mache ich das möglichst simpel und Energiesparend als Funkbasierte Lösung? Vielen Dank für Tipps. Gruß kami
Sofern Du das Blutdruckmessgerät selbst modifizieren kannst, ist das Problem recht leicht lösbar. Öffne es, entferne die darin verbaute USB-Seriell-Bridge (Prolific PL2303) und schließe an deren Rx/Tx-Anschlüsse eine geeignetes Funkmodul an, wie z.B. ein HC-05 (das ist ein Bluetooth-Modul). Das nutzt SPP, was die Funktionalität einer seriellen Schnittstelle nachbildet. Wenn das Gerät nicht modifiert werden kann, wird die Angelegenheit erheblich aufwendiger. Du brauchst einen µC, der USB-Host spielen kann und musst auf dem einerseits die Ansteuerung des PL2303 umsetzen, und andererseits mit einem wie auch immer gearteten Funkmodul kommunizieren. Hattest Du Dir denn schon irgendeine Funktechnik ausgesucht, die Dein Linux-Rechner unterstützt?
Stefan S. schrieb: > aussehen würde aber wie mache ich das möglichst simpel und > Energiesparend als Funkbasierte Lösung? Wenn Du das Gerät nicht aufschrauben und drin rumlöten möchtest, müsste das Funk-Device ja ein USB Host sein, damit es mit dem BM65 kommunizieren kann. Da würde mir nur sowas wie ein Raspberry Pi einfallen. Oder man nimmt ein altes Android Telefon, aber es ist nicht sicher ob das den Treiber für den USB-Serialport (PL-2303) mitbringt.
Hi, das Gerät kann ich komplett öffnen und umlöten. Am liebsten hätte ich es das er nach jeder Messung ein Telegram versendet. Bluetooth wäre gar nicht meine erste Wahl ich habe hier mehr RF Funk im Haus. Hat da einer ne Idee zu. Ich habe das Gerät jetzt gerade mal geöffnet. 2 interessante Platinen sind drauf. Aber leider nur USB Pins zu erkennen. Siehe Fotos. Auch keine Prolific Chips nur einer mit Lack drauf und die Rückseite. Hat einer ne Idee? Brauche ich für den USB-Host dann einen selbstgeschriebenen Treiber? Vielen Dank. Gruß kami
> das Gerät kann ich komplett öffnen und umlöten. Am liebsten hätte ich es > das er nach jeder Messung ein Telegram versendet. Bluetooth wäre gar > nicht meine erste Wahl ich habe hier mehr RF Funk im Haus. Hat da einer > ne Idee zu. Ich kenne das Protokoll nicht aber wenn das Gerät "freiwillig" ein Telegramm schickt, dann gilt es das einfach weiterzuleiten. Wenn das Gerät kein Telegramm schickt, musst du am PC oder an einem µC das selber abfragen. Dabei werden dann der Start Button und ggf. ein Ready Signal sehr hilfreich. Ist das Ready Signal nicht vorhanden, kann man es meist über einen Timer lösen. > Ich habe das Gerät jetzt gerade mal geöffnet. 2 interessante Platinen > sind drauf. Aber leider nur USB Pins zu erkennen. Siehe Fotos. Auch > keine Prolific Chips nur einer mit Lack drauf und die Rückseite. Hat > einer ne Idee? entweder du findest die RX/TX Paare oder du emulierst einen USB Host, dann reichen auch die D+/D- Pins. So wie es aussieht, ist unter der schwarzen Masse ein µC (Thema Raspberry Pi oder Orange PI oder du nimst einen STM32, welches ggf. schwieriger wird). > Brauche ich für den USB-Host dann einen selbstgeschriebenen Treiber? Am PC brauchst du meist keinen Treiber, weil es für die meisten Geräte bereits einen gibt. Wenn du einen FTDI oder Profilic Chip verwendest, dann gibt den für jedes OS frei Haus.
Stefan S. schrieb: > Ich habe das Gerät jetzt gerade mal geöffnet. 2 interessante Platinen > sind drauf. Aber leider nur USB Pins zu erkennen. Siehe Fotos. Auch > keine Prolific Chips nur einer mit Lack drauf und die Rückseite. Hat > einer ne Idee? Und wohin führen die Leiterbahnen der USB-Schnittstelle? Vermutlich unter den Epoxid-Klecks? Stefan S. schrieb: > Brauche ich für den USB-Host dann einen selbstgeschriebenen Treiber? Hast du das Gerät schon mal ohne den Herstellertreiber am PC hängen gehabt? Als was wird das Ding erkannt? Rufus meinte was bzgl. Profilic-Chip. Dann sollte den PC das Ding als CDC-Device (i.d.R. serielle Schnittstelle über USB) erkennen. Wenn nicht, wird es richtig anstrengend...
Ich hab mir den Blog Beitrag angeschaut. Dort steht, dass es als Profilic Chip UART2USB erkannt wird. Leider kann das auch von einem µC emuliert werden. Spannende Frage also, ist es ein µC oder ein echter USB2Seriell Wandler. Danach könnte man sich auf die TX/RX Leitungen hooken ohne den Profilic zu benutzen.
Hi, also die Leitungen führen direkt ins Epoxid. Erkannt wird das Gerät als Microdia. Keine Ahnung finde dazu nicht direkt unter Google. Gruß kami
Ich muss noch ein richtig stellen. Mein Gerät ist ein BM55 hat einen USB-Miniport und wird auch als Microdia mit USB ID VID 0c45 und PID 7406 erkannt. Also Baugleich oder ähnlich. Gruß kami
Ich hab mir die Platine nochmals angeschaut. Es schaut so aus, dass ein µC drauf ist, vermutlich PIC und der ist direkt an USB angeschlossen. Obwohl die Platine gut dokumentiert ist, und auch sowas wie ein Debug drauf ist, finde ich keine RX/TX Beschriftung, somit wird es USB only sein. Wenn du Zeit und Lust hast, könnt man sich noch ein paar Testpunkte ansehen, ob da was rauskommt an seriellen Daten, wenn dann wird es aber Debuginfo sein. Fernsteuerung nur schwer möglich. Vorschlag deswegen, USB zu emulieren mit µC und dann die Daten versenden über den Tranceiver deiner Wahl.
Für mich sieht das so aus, als würde USB auf R96 und R97 landen an den roten Kreisen - solltest du mal durchpiepsen. Es wäre schon interessant, was der blau umringte Chip für einer ist.
Matthias S. schrieb: > Es wäre schon interessant, was der blau umringte Chip für einer ist. könnte man die Beschriftung erkennen, könnte man das herausfinden...
Benjamin S. schrieb: > Es schaut so aus, dass ein > µC drauf ist, vermutlich PIC Es gibt keine PICs mit 16 Anschlüssen.
STK500-Besitzer schrieb: >> Es wäre schon interessant, was der blau umringte Chip für einer ist. > > könnte man die Beschriftung erkennen, könnte man das herausfinden... So wars gemeint :-P
Matthias S. schrieb: > So wars gemeint :-P Auf dem Bild erkennt man auf jeden Fall keine IC-Beschriftung.
Matthias S. schrieb: > Es wäre schon interessant, was der blau umringte Chip für einer ist. Es könnte ein FTDI-Chip sein, z.B. ein FT230
Hi, ja das ist auch leider auf der Original Platine ohne Foto nicht zulesen. Schade. jemand sonst noch eine Idee zu einem guten kleinen USB-Host µC? Danke. Gruß kami
Hi, nochmal ne Frage, wenn ich das so richtig sehe, dann könnte ein Arduino mit SAM-Controller als USB-Host fungieren. Ich würde erstmal gerne nicht anfangen alles selber zuschreiben. Als Libraries dazu für Arduino finde ich: https://www.arduino.cc/en/Reference/USBHost Hat einer Erfahrungen damit, ob ich meine Befehl irgendwie darüber hinkriege? Danke. Gruß kami
Der USB-Host ist nur die halbe Miete. Du musst auf dem USB-Host die jeweilige Deviceansteuerung hinbekommen, um mit der verwendeten USB-UART "reden" zu können. Dazu aber musst Du die USB-UART erst mal identifizeren, denn anders als es sich zu Beginn darstellte, scheint hier keine Prolific-USB-UART, sondern irgendwas anderes verbaut zu sein. Wenn Du ein hochauflösendes und scharfes Bild des Bausteins anfertigen und hier hochladen würdest, bestünde die Chance, daß man mit etwsa Bildverarbeitung/Kontrastanhebung die Beschriftung entziffern kann. Mit der VID/PID-Kombination (0c45/7406), die Du genannt hast, kann man jedenfalls nichts anfangen. Sicher, daß die von diesem Gerät ist, und nicht von irgendwas anderem an Deinem Rechner? Ist Dein Rechner zufälligerweise ein Sony Vaio?
Hi, okay habe ich verstanden. Werde versuchen die Bezeichnung rauszufinden. Die VID/PID-Kombination ist definitiv richtig und von dem Gerät. Sony Vaio habe ich aber nicht. Gruß kami
Wäre es nicht einfacher, sich per seriellem UART2USB Adapter auf die RX/TX Leitung zu hängen, womit man dann das ganze beipassen kann. Das geht natürlich nur, wenn zwischen µC und USB Chip seriell kommuniziert wird und nicht z.B. SPI.
1 | µC <---Com---> Chip <---USB--->PC |
2 | | |
3 | -----> USB2SER |
Später könnte man dann die Verbindung auftrennen und mit dem Chip seiner Wahl drahtlos kommunizieren.
Benjamin S. schrieb: > Wäre es nicht einfacher, sich per seriellem UART2USB Adapter auf die > RX/TX Leitung zu hängen, womit man dann das ganze beipassen kann. Da sind wir ja schon die ganze Zeit dran. Aber wenn der TE nichts über die Bezeichnung der USB Bridge sagt, die man auf dem Foto nicht lesen kann, kann man auch nicht sagen, wo und ob es überhaupt UART gibt.
Benjamin S. schrieb: > Wäre es nicht einfacher, sich per seriellem UART2USB Adapter auf die > RX/TX Leitung zu hängen, womit man dann das ganze beipassen kann. Dazu müsste man erst mal wissen, was die RX/TX-Leitungen sind. Da aber weder der Prozessor in dem Gerät noch das, was vermutlich die USB/Seriell-Bridge ist, bekannt sind, dürfte das nicht einfach sein. Vor allem ist in Anbetracht der VID/PID-Kombination noch nicht mal gesagt, ob das überhaupt eine USB/Seriell-Bridge ist, oder nicht eventuell doch was ganz anderes. "Beipassen"? Echt?
Rufus Τ. F. schrieb: > Mit der VID/PID-Kombination (0c45/7406), die Du genannt hast, kann man > jedenfalls nichts anfangen Jo, bleibt alles offen. Immerhin ist bei dem Hersteller (Microdia) eine Lücke in den Device IDs bei 7406, aber das kann ja alles bedeuten.
:
Bearbeitet durch User
Nun, hast Du denn den Devicetreiber, der zum Gerät gehört? Wie sieht der denn aus? (Dateinamen etc.)
Rufus Τ. F. schrieb: > Nun, hast Du denn den Devicetreiber, der zum Gerät gehört? Wie > sieht der > denn aus? > > (Dateinamen etc.) Die Bediensoftware gibt es zumindest hier: https://connect.beurer.com/Download/Common/Software.aspx?culture=de-DE
Ich habe mir den obigen Thread nochmal genau angeschaut, da passt einiges nicht. Laut http://www.atbrask.dk/?p=98 ist der USB-Chip ein PL2303, das passt aber nicht zum Photo des TE. Auf dem Photo ist ein QFN16 mit den USB-Datenleitungen verbunden, der PL2303 ist aber ein QFN32 und PID/VID passen auch nicht. Der Beitrag von mcmc passt schon eher, ein FT230 würde passen (QFN 16, USB an Pin 6 und 7), aber die Beschriftung des FT230 ist 4-zeilig, auf dem Photo sind nur 3 Zeilen zu sehen. Es gibt aber noch andere Chips von FTDI im QFN16, der FT121 ist QFN16 mit 3 Zeilen Beschriftung, da passen aber die USb-Anschlüsse nicht.
STK500-Besitzer schrieb: > Die Bediensoftware gibt es zumindest hier: Klick da mal auf den "download"-Knopf.
Rufus Τ. F. schrieb: > Klick da mal auf den "download"-Knopf. Jupp, das grosse 'Es passiert gar nix'. Da fragt man sich doch, ob der Webdesigner das je getestet hat. Bei 'Treiber' genauso. Die *.inf hätte ja vllt. schon gereicht. Aber die Dilettanten waren eben wieder da.
:
Bearbeitet durch User
Matthias S. schrieb: > Jupp, das grosse 'Es passiert gar nix' Bei mir (Firefox 57.0.4 bzw. Chromium 63.0.3239.84) werden meine Email und Passwort abgefragt bzw. eine Registrierung verlangt.
bingo schrieb: > werden meine Email und Passwort abgefragt bzw. eine Registrierung > verlangt. Eben.
Rufus Τ. F. schrieb: > Klick da mal auf den "download"-Knopf. Habs jetzt mal bei 'Treiber'->'BM65'->'Win10-64bit' probiert und er will den PL2303 Treiber runterladen - ohne Registrierung. PL2303? Schon sehr eigenartig.
:
Bearbeitet durch User
Der Threadersteller kann hier weiterhelfen, indem er auf seinem PC nachsieht, welcher Treiber tatsächlich für sein Gerät installiert ist. Da er es geschafft hat, die VID/PID-Kombination herauszufinden, sollte auch das mit dem Treiber klappen.
Hi, so ich habe mal etwas geforscht. Also erstmal ja sorry es ist ein BM55. Es wird bei mir unter Windows als USB-Eingabegerät mit Windowstreiber und der genannten VID und so angezeigt. Das Auslesen unter Windows klappt dann auch nicht so sauber. Aber das Gerät wird angesteurt. Den Chip konnt e ich nun erkennen es ist Ein Sonix IC mit der Bezeichnung 8F2271BJ. Hat da jemand eine Idee zu? Gruß kami
Stefan S. schrieb: > Es wird bei mir unter Windows als USB-Eingabegerät mit Windowstreiber > und der genannten VID und so angezeigt. Aha. Dann ist da keine UART im Spiel; das Ding spricht HID. > es ist Ein Sonix IC mit der Bezeichnung 8F2271BJ. Das ist ein Microcontroller mit USB-Schnittstelle. Ein für die meisten (und mich auch) unverständliches Datenblatt gibt's hier: http://www.atech.com.tw/%5Cproduct%5Csonix%5C8bit%5CSN8F22%20Series%5CSN8F2271B_V10_SC.pdf Immerhin kann man auf Seite 8 die Pinbelegung erkennen. Eine UART scheint es nicht zu geben, dafür aber eine Hardware-SPI-Schnittstelle. Also: Da das keine USB-UART-Bridge ist, kann man nicht einfach irgendwo einen seriellen Datenstrom abgreifen. Um mit einem USB-Host mit dem Ding "reden" zu können, müsste man zunächst das USB-Protokoll analsysieren, das dem Ding vom zugehörigen Devicetreiber geschickt wird, was ich für kaum vertretbaren Aufwand halte. Ich fürchte, die Idee wirst Du Dir abschminken können.
Hallo zusammen, das sind ja echt schlechte Nachrichten. Ich hatte gehofft ich komme da doch irgendwie ran. So bleibt mir wohl nicht viel mehr möglich als einen Raspberry mit USB einzusetzen. Schade. Trotzdem vielen Dank. Gruß kami
Stefan S. schrieb: > So bleibt mir wohl nicht viel mehr möglich als einen Raspberry mit USB > einzusetzen. Gibt es denn die Software für Dein Gerät in einer Variante, die auf dem Raspberry läuft? Wenn es die nicht gibt, dann kannst Du den Raspberry Pi nur als USB-Device-Server (d.h. als "virtuelle USB-Karte" für einen PC) einsetzen.
Hi, nee es gibt ein Python-Skript dafür wie oben auf der Website beschrieben. Die Software ist nur für Windows. Gruß kami
Dein Python-Skript funktioniert nicht, denn das ist für ein anderes Gerät, das eine USB-Seriell-Bridge von Prolific verwendet. Da so etwas aber in Deinem Gerät gar nicht verbaut ist, sieht also auch die Kommunikation mit dem Gerät komplett anders aus. Nachtrag: In den Kommentaren zur Webseite mit dem Python-Skript findet sich immerhin auch jemand, der Dein Problem mit dem HID-Interface hat, und ein eigenes Python-Skript gebastelt hat: https://muling.lu/beurer-bm58 Wenn Du Dich darauf bezogen hast, vergiss' meine Anmerkung am Anfang dieses Beitrags. Mit diesen Daten kann man auf den Raspberry Pi verzichten und einen einfacheren host-fähigen Microcontroller verwenden, oder auch irgendeinen und einen dedizierten USB-Host-Controller wie z.B. den "Vinculum" von FTDI. Damit hast Du vielleicht dann doch Chancen, Dein Projekt umzusetzen.
:
Bearbeitet durch User
Ist es ggf. möglich ein anderes Gerät (wie das BM65 anstatt BM55 zu nehmen) und sich dort in die serielle Verbindung einzuklinken oder muss es das BM55 sein?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.