Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Darstellung einer Pulsoximetriekurve

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Darstellung einer Pulsoximetriekurve

    This topic has been deleted. Only users with topic management privileges can see it.
    • AlexAxel
      AlexAxel @Ralla66 last edited by

      @ralla66
      Also der Code oben passt zum Pulsoximeter namens Health Tree, aber auch das Pulox PA 200 für 20 Euro geht damit, da stehen halt die Werte an anderer Stelle, aber das Pronzip ist das gleiche.

      Ich hoffe, das geht in Ordnung, wenn ich hier mal 2 Links von Amazon reinpacke, nur mal die Geräte zu zeigen. Verdiene nix daran. Aber nochmal es geht mit jedem billigen 10 Euro Noname Ding aus China.

      PULOX:
      https://amzn.eu/d/7P7BI9b

      Health Tree
      https://amzn.eu/d/bOoKl3Y

      Nur die Geräte von Breuer und von einem Hersteller, der so ein Armband mit einem Silikonfingersensor anbietet, sind etwas komplexer anzubinden. Für Anfänger rate ich bei diesen Geräten erstmal ab.
      Mann muss vorher bei denen ein Key immer sekündlich auf das Gerät senden, sonst kommt da nix. Wer von der Materie hier mehr versteht, kann über die Android(!) IDE den Traffic zwischen offizieller App udn Device mitlesen und den diesen Key auslesen.

      Ralla66 1 Reply Last reply Reply Quote 0
      • Ralla66
        Ralla66 Most Active @AlexAxel last edited by

        @alexaxel

        Danke für die Informationen, hast du einen Link des Codes mit der Key Routine ?
        Spiele dann mal mit.

        @Homoran ,
        würde da gerne per Tasmota ESP32 und BLE mitspielen. Wie sollen die Daten in den IO kommen ?
        Per Json ,Mqtt, was ist hier am besten ? Der Pulox PA 200 hat ja kein BLE müssten ja dann zum testen
        das gleiche Produkt haben. Hier die Frage dann welcher.

        Homoran AlexAxel 2 Replies Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @Ralla66 last edited by

          @ralla66 ich hab auch nur ein Lidl 20€ Pulsoximeter.
          und letzte Woche meinen ersten ESP8266 gekauft.
          war quasi geschenkt, weil ich dadurch keinen Versand mehr bezahlen musste.

          Will mich da irgendwann reinarbeiten

          Ralla66 AlexAxel 2 Replies Last reply Reply Quote 0
          • Ralla66
            Ralla66 Most Active @Homoran last edited by

            @homoran

            dann ist zuerst die Schnittstelle zu prüfen, welche sind da ?
            BLE oder Kabel USB ? Denke mal BLE.

            Homoran 1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @Ralla66 last edited by

              @ralla66 Danke, aber so weit bin ich noch nicht.
              Hab noch andere (nicht iob) Baustellen. bei iob aber auch

              1 Reply Last reply Reply Quote 0
              • AlexAxel
                AlexAxel @Ralla66 last edited by

                @ralla66 sorry, ich hab so viele hier von den Dingern rumliegen. Das Pulox in der Version hat wirklich kein BT, da habe ich quatsch erzählt und mich mit so einem 10euro Ding vertan :
                20231225_152234.jpg

                Wenn ihr schon ein Gerät habt, kauft erstmal nix. Installiert Euch einen BLE scanner, wie der für Android nRF:
                Screenshot_20231225_155420_One UI Home.jpg

                Scannt mit dem Handy das Pulsoximeter. Ich hab das mal für Euch hier noch mal gescreenshotet:
                Screenshot_20231225_152350_nRF Connect.jpg

                Sobald per scan gefunden, probiert mal die Characteristiks aus und schaut wie hier z.b. ob ihr Daten empfängt. Die Original App des Geräts braucht ihr natürlich dafür nicht.
                Wenn Daten kommen, dann sieht das ungefähr so aus:
                Screenshot_20231225_152434_nRF Connect.jpg

                Per USB Kabel braucht man da erstmal nix machen.
                Ihr brauch eine USB Verbindjng nur beim hochladen des Codes auf dem ESP.

                1 Reply Last reply Reply Quote 0
                • AlexAxel
                  AlexAxel @Homoran last edited by

                  @homoran scan doch mal mit nRF Connect wenn du ein Android Handy zur Hand hast. Gibt sicher auch was für Apples.

                  Homoran 1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @AlexAxel last edited by

                    @alexaxel sagte in Darstellung einer Pulsoximetriekurve:

                    @homoran scan doch mal mit nRF Connect wenn du ein Android Handy zur Hand hast. Gibt sicher auch was für Apples.

                    da müsste doch dann ein BT Logo drauf sein.
                    ist es nicht

                    20231225_161206.jpg

                    @Ralla66 auf dem ESP auch nicht, ist ein ESP8266-12F

                    AlexAxel 1 Reply Last reply Reply Quote 0
                    • AlexAxel
                      AlexAxel @Homoran last edited by

                      @homoran ja BT müssen beide schon haben. Also der ESP und das Pulsoximeter. 😀

                      Ich habe gerade über den Hersteller meineS BT Geräts, das auf den der Arduino Code abgestimmt ist, diese günstige Variante für 20 Euro gefunden:

                      https://amzn.eu/d/dexSJNY

                      Die verwenden die gleiche App, wie bei meinem Gerät.
                      Ich gehe davon aus, dass Ihr damit sicher genauso an die Werte kommt.

                      Ralla66 1 Reply Last reply Reply Quote 1
                      • Ralla66
                        Ralla66 Most Active @AlexAxel last edited by

                        @alexaxel

                        bestellt ist nun, lade bitte mal den Arduino Code hier ein oder verlinke den mal.
                        Mqtt, Wlan usw ist ja per ESP kein Problem, BLE ist neu für mich.
                        Muß mich das erst einarbeiten. NRF sollte ja ein spezielles BLE Protokoll sein.

                        AlexAxel 2 Replies Last reply Reply Quote 0
                        • AlexAxel
                          AlexAxel @Ralla66 last edited by

                          @ralla66 hatte ich schon. Schau mal, der Code ist weiter oben schon gepostet.

                          Ralla66 1 Reply Last reply Reply Quote 0
                          • AlexAxel
                            AlexAxel @Ralla66 last edited by

                            @ralla66 nRF Connect ist eine Testapp von Nordic, das sind die Lizenzgeber und Patentbesitzer von Bluetoith.

                            1 Reply Last reply Reply Quote 0
                            • Ralla66
                              Ralla66 Most Active @AlexAxel last edited by

                              @alexaxel

                              wäre halt die Quelle vom BLE Code interessant gewesen.
                              Nordic nRF ist mir nicht ganz unbekannt vom Hoymiles Projekt.
                              Ein Freund ist da gerade mit Developer Kit unterwegs, so richtig tief mit Assembler dran.
                              Dann warte ich mal aufs Paket und belese mich zu ESP BLE Stoff.

                              AlexAxel 1 Reply Last reply Reply Quote 0
                              • AlexAxel
                                AlexAxel @Ralla66 last edited by

                                @ralla66 Also alles zusammen kommt von mir. Aber basierend auf Beispielcodes die in der arduino IDE sind, wenn man das passende Board auswählt. Wenn man die ESP32 Bibliothek auswählt, hat man automatisch themensortierte Beispiele auf den Rechner.

                                Ralla66 1 Reply Last reply Reply Quote 0
                                • Ralla66
                                  Ralla66 Most Active @AlexAxel last edited by

                                  @alexaxel

                                  Gerät sollte ja Freitag da sein, dann schau ich mal was so geht.
                                  Eingerichtet ist alles soweit an Tools, ESP ist mal mit Tasmota BLE geflasht,
                                  mal sehen was da geht. Werde mal einen BLE nRF Sniffer besorgen das soll ja mit
                                  Wireshark Plugin gehen.
                                  Rund um den Key wären Infos gut, hast du da Bilder der IDE da ?

                                  AlexAxel 1 Reply Last reply Reply Quote 0
                                  • AlexAxel
                                    AlexAxel last edited by

                                    Wäre geil, wenn jemand auch noch nen Tipp für mein eigentliches Thema hätte. 😁
                                    Ich glaube, dass die geladenen Seiten in Vis keine Timeouts zulassen. So dass man eine Animation einbauen kann und das livechart eben mit den vielen Werten in sekundenintervallen nicht zurechtkommt.

                                    Ralla66 1 Reply Last reply Reply Quote 0
                                    • AlexAxel
                                      AlexAxel @Ralla66 last edited by

                                      @ralla66 Die App die ich meine ist kein Sniffer, es ist eine Client-Anwendung, die einfach sich als Bluetooth-Client mit dem BT-Gerät (Server) verbindet. Es handelt sich also um eine ganz normale Client-Server Verbindung. Daher kann man auch Daten zum Device hochladen.

                                      1 Reply Last reply Reply Quote 0
                                      • Ralla66
                                        Ralla66 Most Active @AlexAxel last edited by Ralla66

                                        @alexaxel sagte in Darstellung einer Pulsoximetriekurve:

                                        Wäre geil, wenn jemand auch noch nen Tipp für mein eigentliches Thema hätte

                                        vielleicht die Frage mal anders stellen. Mal zum Kern der Sache.
                                        Du brauchst Livedata oder es reicht mit Verzögerung von Max 5 Sec auch.
                                        Einige Devices haben ja auch gespeicherte Datensätze, diese werden von dir
                                        noch nicht betrachtet ?

                                        Gegeben sind 8 x 1 Byte die Werte Darstellen, zB Puls usw.
                                        Diese sollen in einer View ( Kurven ) dargestellt werden.

                                        Ansatz 1:

                                        Du stellst die Daten in einem View mit einem html Widget da.
                                        Das scheint wohl nicht zu klappen wie du oben schriebst, richtig ?
                                        Dann welches Widget geht nicht, eventuell ist der html Code nicht ok.
                                        Bei html wird wohl kaum einer helfen können da sehr anspruchsvoll.
                                        Eher der schwierige Weg.

                                        Ansatz 2:

                                        Du parkst die Daten in einer Datenbank zwischen, entweder einzeln oder als Array.
                                        Die Daten in einen Datenpunkt zu schreiben sollte möglich sein.
                                        Ich als Beginner von Kurven würde mit History und Flot beginnen.
                                        Die Experten hier können dir da aber viel besser helfen.

                                        @homoran

                                        aus einer DB eine Kurve darstellen, siehst du da Möglichkeiten ?

                                        Homoran AlexAxel 2 Replies Last reply Reply Quote 0
                                        • Homoran
                                          Homoran Global Moderator Administrators @Ralla66 last edited by

                                          @ralla66 sagte in Darstellung einer Pulsoximetriekurve:

                                          aus einer DB eine Kurve darstellen, siehst du da Möglichkeiten ?

                                          nur wenn die Daten über iob geloggt wurden.

                                          Aber ich glaube dass diese Frage bereits mal behandelt wurde. Leider weiss ich nicht mit welcher DB und welchem Ergebnis

                                          Chris 1 1 Reply Last reply Reply Quote 0
                                          • AlexAxel
                                            AlexAxel @Ralla66 last edited by

                                            @ralla66 Ich bring es mal knapper auf den Punkt. Folgender HTML-Code / JS Code stellt einfach nur ein bewegendes Quadrat von links nach rechts dar.
                                            Kopiert den Code als HTML-Webseite mal auf Deinen Rechner und lass ihn im Browser laufen. Kopiere den gleichen Code in ein HTML-Widget. Du wirst sehen es läuft nicht. Ich glaube, dass solche Schleifen oder Timeouts innerhalb von VIS nicht möglich sind.
                                            Wenn das Problem gelöst ist, kann ich eine Kurve darstellen und es mit HTML basteln - das wäre nicht das Problem.

                                            History-Daten helfen leider nicht. Auch nicht in einer Datenbank schreiben und dann auslesen. Das ist ein schneller Datenstrom. Ihr kennt bestimmt die Patientenmonitore, wo immer die Kurve in Echtzeit dargestellt wird. Manche Pulsoximeter stellen auch so eine Kurve dar.

                                            Hier der einfache Code von ChatGPT erstellt.

                                            
                                            
                                              <canvas id="myCanvas" width="400" height="200"></canvas>
                                            
                                              <script>
                                                // JavaScript-Funktion, um ein blaues Quadrat zu zeichnen und zu animieren
                                                function animateSquare() {
                                                  // Canvas-Element und 2D-Kontext erhalten
                                                  var canvas = document.getElementById('myCanvas');
                                                  var ctx = canvas.getContext('2d');
                                            
                                                  // Quadrat-Parameter
                                                  var squareSize = 50;
                                                  var x = 0; // Startposition auf der x-Achse
                                                  var y = canvas.height / 2 - squareSize / 2; // Zentriert auf der y-Achse
                                                  var speed = 2; // Bewegungsgeschwindigkeit
                                            
                                                  function drawSquare() {
                                                    // Hintergrund zeichnen, um den vorherigen Frame zu löschen
                                                    ctx.clearRect(0, 0, canvas.width, canvas.height);
                                            
                                                    // Quadrat zeichnen
                                                    ctx.fillStyle = 'blue';
                                                    ctx.fillRect(x, y, squareSize, squareSize);
                                                  }
                                            
                                                  function updatePosition() {
                                                    // Neue Position berechnen
                                                    x += speed;
                                            
                                                    // Wenn das Quadrat das Ende des Canvas erreicht hat, zurücksetzen
                                                    if (x > canvas.width) {
                                                      x = -squareSize;
                                                    }
                                                  }
                                            
                                                  function animate() {
                                                    // Quadrat zeichnen und Position aktualisieren
                                                    drawSquare();
                                                    updatePosition();
                                            
                                                    // Die animate-Funktion in einer Schleife aufrufen, um die Animation fortzusetzen
                                                    requestAnimationFrame(animate);
                                                  }
                                            
                                                  // Animation starten
                                                  animate();
                                                }
                                            
                                                // Die Funktion aufrufen, wenn die Seite geladen ist
                                                window.onload = animateSquare;
                                              </script>
                                            
                                            
                                            Ralla66 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            692
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            61
                                            3846
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo