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 Sorry, war ein paar Tage offline. Das sieht doch richtig gut aus! Dann kannst Du auch mehrere Daten gleich nutzen, Puls, SPO2 und Pulskurve 🙂

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

        @ralla66 Ich habe es mittlerweile hinbekommen. Ich nutze doch den History Adapter und ein kleines JS Script, das im Hintergrund bei aktualisierung des Arrays, kommend vom MQTT Client, das Array Byte für Byte durch gelesen wird und der Inhalt immer auf einem DP Typ Nummer aktualisiert wird. Das Das Script zu schnell läuft habe ich eine Pausen-Variable eingebaut. Die Funktion Settimeout funktioniert in den Script-Adapter. (leider nicht im HTML-Widget, aber egal). So mit dem DP habe ich quasi einen Wert der so in ca. 20ms immer aktualisiert wird. Auf diesen DP schaut das History-Chart. Weil der JS-Adapter das nicht so mag, wenn 1000 mal pro Minute ein DP aktualisiert wird, habe ich den Warnwert einfach im Adapter gefunden und auf 2000 hochgestellt.. hehehe läuft alles stabil. (Pi4). Du kannst mit dem History-Widget auch schön die Kurve stauchen und strecken, so dass es wie im Original aussieht.
        Das weiße kleine Ding da oben ist die Echtzeit-Pulskurve und wird schnell gezeichnet. So 2 Wellen pro Sekunde ungefähr. Die beiden großen Charts hab ich mich Echarts gemacht. Die Daten schreibe ich historisch auch auf einem separaten SQL-Server mit dem SQL Adapter. Letztens war der Arzt da und will auch so'n kranken Scheiß 😄

        Bildschirmfoto vom 2023-12-30 19-33-24.png

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

          @ralla66 Bei meiner ESP Lolin32 Library scheint die Konstante schon deklariert zu sein. Steht halt für die Nummer 1. Kannst einfach mit 1 ersetzen. Aber du kannst auch den ganzen Mist mit der LED an und aus-Sache löschen. Ich hab es ja schön kommentiert, wo die LEDs eingeschaltet und ausgeschaltet werden. Ich guck da heute auch nicht mehr drauf. Ansonsten wenn Du sie haben möchtest, probiere es mal mit der 1 oder lass mal ein BeispielCode namens "Blink" auf dem Teil laufen, dann kannst du den Code rauskopieren, wenn das dort funktioniert.

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

            @alexaxel

            coole Pulskurven die du da hast 🙂

            Läuft doch .........................................

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

              @ralla66 läuft Deiner jetzt auch ? Ich hätte noch gerne den weißen Hintergrund geändert. Aber leider geht das wohl nicht. Hintergrund beim History-Chart ist eine andere Fläche drumherrum.

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

                @alexaxel sagte in Darstellung einer Pulsoximetriekurve:

                Hintergrund beim History-Chart

                was ist das?

                Hintergrund geht immer
                Screenshot_20231230-224446_Firefox.jpg

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

                  @alexaxel

                  Arduino Code behersche ich nicht.
                  Eigentlich benötigen wir für die Pulskurve nur Byte 41 bis 67.
                  Led ausklammern klappt ja, meckert aber bei sChar und iWert.
                  Daran haperts halt.
                  Sonst soweit ok. Mqtt klappt, Datenpunkte werden angelegt.

                  AlexMqtt.jpg

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

                    @ralla66 Du ich hab da noch einen Mix aus 2 Versionen im Code, ist mir gar nicht aufgefallen.

                    Du kannst diesen ganzen Teil auch löschen, weil ich darüber schon das ganze Array auf einmal via mqtt gesendet habe.

                    String sTemp;
                      int iWert;
                    
                      for (int i = 0; i < length; i++) {
                        //dbSerialPrint((char)message[i]);
                        iWert = int(data[i],DEC);
                        sTemp += sChar + ",";
                      }
                      mqttClient.print(sTemp);
                    
                    
                    Ralla66 1 Reply Last reply Reply Quote 0
                    • D
                      Dragon last edited by

                      Ein sehr geiles Thema! Gefällt mir, scheinen noch mehr Menschen so verrückt zu sein wie ich.... 😉

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

                        @dragon du kennst noch nicht mein IOBrokerprojekt, das RC Cars-Rennen im Garten misst, über Alexa moderiert und mit Spotify und den coolen Gauge-Meter eine tolle Spielgrafik darstellt. Monitor steht quasi im Garten auf der mobilen Rennstrecke. Ein paar ESPs messen, die IR Codes der eingebaute ESP im Auto von innen an der Ziellinie senden. Der Empfänger ESP schickt die Messdaten via MQTt an den Broker. Mit den lustigen Alexa Emotion-Tags moderiert sie richtig emotional. "Mark, Du lahme Ente. Das geht noch besser, du bist auf dem letzten Platz und hast nur eine Durchschnittsgeschwindogkeit von bla bla. " 🙂
                        Beim Start, Ende und während des Rennens werden coole Sounds und Rennmusik abgespielt. Ace of spades kommt da richtig gut. Hehehe

                        D 1 Reply Last reply Reply Quote 1
                        • D
                          Dragon @AlexAxel last edited by

                          @alexaxel
                          Du machst mich seeeehr neugierig. Ich glaube du solltest das mal vorstellen....

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

                            @alexaxel

                            ok, zur Darstellung benötige ich ja nur ca 48 Punkte / Bytes pro min für die Pulskurve in Vis.
                            Dann alle 1,25 sec 1Byte. Der ESP sollte die Bytes langsamer senden, so der Ansatz.
                            Array hat ja den Nachteil das ich dieses für die Visu wieder zerlegen muß.
                            Halt der Ansatz das Problem direkt im ESP zu lösen.

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

                              @dragon ja nächstes Jahr 😄

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

                                @ralla66 nicht der ESP Broker definiert das Tempo, es ist der BLE Server, also Dein Pulsoximeter. Wenn du auf dem ESP bremst, gehen dir ja Updates/Bytes verloren.
                                Oder ich hab Dich falsch verstanden.

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

                                  @alexaxel

                                  könntest du bitte ein Codeschnipsel hier einstellen damit ich in den Datenpunkt Wave
                                  die Bytes 41 - 67 schreiben kann.

                                  mqttClient.beginMessage(Topic_Wave);
                                  ?
                                  mqttClient.endMessage();

                                  Dann hätten wir das sauber.

                                  Danke

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

                                    @alexaxel

                                    Hast du irgendwelche Informationen zur Key Berechnung aus der Mac Adresse und x Byte bei BLE,
                                    Link oder andere Informationquellen ?
                                    In unserem BLE BlazePod Projekt stecken wir gerade an der Stelle fest das wir
                                    die Verbindung nicht aufrecht erhalten können da wohl der Key fehlt.

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

                                      @ralla66 said in Darstellung einer Pulsoximetriekurve:

                                      BlazePod

                                      Musste erstmal googlen, was ein BlazePod ist 🙂
                                      klappt es denn initial und ihr konntet die Bytes identifizieren, die für das Ding bzw. Euch wichtig sind ?
                                      Wenn ja, glaube ich nicht daran, dass die Entwickler die Verbindung im nachhinein kappt, weil ein Key fehlt.

                                      Wenn die Werte noch nicht kommen und Ihr wollt herausfinden, was die Original-App und das Teil so austauschen,
                                      lasst es auf einem Android handy im Debug-Modus (muss man am Handy aktivieren) laufen und schließt es mit einem USB-Datenkabel(!) nicht Ladekabel am
                                      PC an. Dort lasst Ihr die Android IDE Entwicklungsumgebung laufen. Man kann da schön sehen, was da so hin und her geht. Ihr könnt auch ein Android virtuel auf dem PC laufen lassen und dort die Andorid App im virtuellen Handy laufen lassen und gleiches sehen.
                                      Wenn Ihr wissst was die App so sendet, damit es die Daten empfängt, die Ihr sucht, wisst Ihr was Ihr per BLE Code auf dem ESP vorab senden müsst, um gleichen Daten zu empfangen.

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

                                        @alexaxel

                                        BlazePod sind Neumodische Trainingsblinkis mit Pushbutton.
                                        Daten sind alle da und Sichtbar, aufgeschraubt und Kabel angelötet auch.
                                        Speicherauslesen und beschreiben geht 🙂

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

                                          @ralla66 said in Darstellung einer Pulsoximetriekurve:

                                          Hier mal so ein Schnippsel ungetestet geschrieben:

                                            mqttClient.beginMessage(Topic_DataArray); // Hier den Topic nehmen, den Du vorher auch deklariert hast. Wenn das auch bei Dir oben not DataArray heißt, kann das so bleiben.
                                            //eben einen String zusammenbasteln, damit nur ein Datenpunkt verwendet wird. Geht sicherlich auch noch eleganter...
                                            String sTemp;
                                            int iWert;
                                          
                                            //Hier die Schleife
                                            for (int i = 41; i < 68; i++) {
                                              iWert = int(data[i],DEC); // nun an der Position das Byte rausziehen. Dieser Code muss ja in der Subroutine stehen, wo auch eine Variable namens Data mit dem gesammten Array übergeben wird.
                                              sTemp += iWert; 
                                            }
                                            mqttClient.print(sTemp); // Daten senden
                                            mqttClient.endMessage(); // MQTT Klasse mitteilen, dass nun Ende ist.
                                          
                                          Ralla66 1 Reply Last reply Reply Quote 0
                                          • Ralla66
                                            Ralla66 Most Active @AlexAxel last edited by Ralla66

                                            @alexaxel

                                            Danke,
                                            wird klappen, wenn nicht frage ich mal meinen BlazePod Progger.
                                            Meine Fachabteilung im Freundesteam ist eher für Decoding zuständig 🙂
                                            Diese ganzen Tves Chip ( ähnlich ESP ) haben ja auch so ne Verkasperung
                                            wo du aus fernen Ländern einen Zugangskey per Mail bekommst anhand der Mac.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            702
                                            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