Posts: 548
Threads: 25
Joined: Apr 2020
Institution: RWTH Aachen University
(02-06-2023, 09:09 PM)MarioGrafe Wrote: Im Prinzip wiederholt sich für due Charakteristik " 00001021- ..." die Sequenz aus X,Y,Z und Timestamp-Daten. Das Paket ist insgesamt 20 Bytes groß. Im Editor ist es natürlich einfacher. Wo müsste ich die Wiederholung eintragen? Können sie mir das anhand meines Beispiels zeigen?
Naiv hätte ich bei den vier Zeilen jeweils „repeating="10"“ eingefügt (nächster Wert um zehn Bytes versetzt)…
Quote:Eine weitere Frage:
Ich versuche den RMS-Wert auszurechen (später mal noch andere Kennwerte und FFT). Das Begrenzen der Buffer habe ich auch mittlerweile rausgefunden, aber meine Summierungsformel funktioniert nicht: "abs(sqrt([1]^2+[2]^2+[3]^2)-9.81)". Müssen alle Elemente mit Underscore "[1_]" angegeben werden?
Wenn die Formel jeweils für die vollständigen Container und nicht nur auf den letzten Wert angewendet werden soll: ja.
Posts: 12
Threads: 1
Joined: Feb 2023
(02-06-2023, 09:39 PM)Jens Noritzsch Wrote: (02-06-2023, 09:09 PM)MarioGrafe Wrote: Im Prinzip wiederholt sich für due Charakteristik " 00001021- ..." die Sequenz aus X,Y,Z und Timestamp-Daten. Das Paket ist insgesamt 20 Bytes groß. Im Editor ist es natürlich einfacher. Wo müsste ich die Wiederholung eintragen? Können sie mir das anhand meines Beispiels zeigen?
Naiv hätte ich bei den vier Zeilen jeweils „repeating="10"“ eingefügt (nächster Wert um zehn Bytes versetzt)…
Also so hier:
Code: <output repeating="10" char="00001021-702b-69b5-b243-d6094a2b0e24" conversion="uInt32LittleEndian" offset="0" length="4">t</output>
Posts: 548
Threads: 25
Joined: Apr 2020
Institution: RWTH Aachen University
Das sieht gut aus (persönlich hätte ich das Attribut weiter hinten platziert, aber die Reihenfolge ist egal)…
Posts: 12
Threads: 1
Joined: Feb 2023
Ich habe es ausprobiert. Es kommt zumindest keine Fehlermeldung, allerdings weiß ich nicht ab es tatsächlich funktioniert, dafür ist die Datenrate zu hoch. Ich müsste eine analyse einbauen, welche immer die Differenz der letzten beiden Timestamps, also t[x] - t[x-1] ausgibt. Kann man im Block "formula" auf einzelne Buffer-Werte zugreifen?
Posts: 52
Threads: 0
Joined: Aug 2018
Institution: RWTH Aachen University
02-07-2023, 01:09 PM
(This post was last modified: 02-07-2023, 01:12 PM by Dominik Dorsel.)
Hey,
der Web-Editor wurde entwickelt um Lehrenden ohne jegliche Programmiererfahrung eine einfache Möglichkeit zu bieten bestehende Experimente anzupassen oder einfache neue zu entwickeln. Im laufe der Zeit sind einige neue features in der App bzw. im Dateiformat ergänzt worden, die vom Editor nicht abgebildet werden können. Die "repeating" funktion gehört (leider) auch dazu. Bedeutet man müsste den entsprechenden Part eigenständig über einen Editor (Notepad++, VSCode usw.) ergänzen.
In diesem Fall müsste das dann so aussehen:
Code: <output char="00001021-702b-69b5-b243-d6094a2b0e24" conversion="int16LittleEndian" repeating="10" offset="4" length="2">accXRaw</output>
phyphox erwartet in diesem Fall das sich alle 10 Bytes ein weiterer Wert für den Container accXRaw befindet. Analog dann für die weiteren Komponenten. Theoretisch könnte man auch die mtu-size anpassen um mehr als 2 Datenpunkte pro BLE-Paket zu senden. Beispielhaft wenn die mtu-size auf 100Bytes erhöht werden soll (und das eure Firmware unterstützt)
Code: <bluetooth editor:uuid="553" editor:posx="55.88888931274414" editor:posy="520.6666717529297" name="Kallisto" mode="notification" rate="1" subscribeOnStart="false" mtu="100">
Achtung: Sollte das neue phyphox-file in den Editor geladen werden, ignoriert der parser die unbekannten stellen und man verliert die Ergänzungen wieder. Hier kommt man also nicht drum herum (wie Jens schon erwähnte) das phyphox file per Mail, Messenger ans Smartphone zu senden oder eben in irgendeine Cloud hochladen und einen entsprechenden QR-Code zu generieren.
Oh, ich habe wohl nen Post übersehen und das Problem ist schon gelöst.
Um zu testen ob genug werte ankommen würde ich auf den Graph tippen, reinzoomen und über "Punkt wählen" den Abstand zwischen zwei Datenpunkten wählen. Evtl. auch von der "Lines" Darstellung in "Dots" unter den Graphen-Settings wechseln um einzelne Messpunkte besser zu identifizieren
Posts: 12
Threads: 1
Joined: Feb 2023
02-07-2023, 01:17 PM
(This post was last modified: 02-07-2023, 01:43 PM by MarioGrafe.)
Ich nutze mittlerweile einen Editor und programmiere das File direkt. Danke für die Hilfe.
Nur zur Differenzbildung: Ich nutze jetzt die Funktion "differentiate", das funktioniert wunderbar. So langsam komme ich hinter das Denkschema...
Das aktivieren des Sensor klappt wunderbar. Nun ist es in unserer API so, das man mit dem Konfigurationsbyte für die Aktivierung auch verschiedene Konfigurationen (Framerate, Sensitivität) konfigurieren kann. Ich habe schon probiert, noch ein BLE-Gerät als Output anzulegen, um das Konfigurationsbyte z.B. per Button zu senden, aber das geht so nicht, da sich die App mit einem zweiten Gerät verbinden will. Daher meine meine Frage:
Gibt es die Möglichkeit, den Configwert (hier: A1):
Code: <config char="00001022-702b-69b5-b243-d6094a2b0e24" conversion="hexadecimal">A1</config>
im laufenden Betrieb zu aktualisieren und per Edit/Button zu senden?
Posts: 52
Threads: 0
Joined: Aug 2018
Institution: RWTH Aachen University
Der Weg über das zweite Bluetooth-Gerät war schon richtig. Über das id="" Attribute kann man Bluetooth Ein- und Ausgänge einem physischen Gerät zuordnet.
Das nächste Problem wird dann vermutlich sein das phyphox in jedem Analysedurchgang diese Konfiguration senden wird. Um das zu umgehen gibt es leider keine super schöne Lösung. Der von uns verwendete Weg wäre:
- ein Byte-Array container enthält die gewünschte Konfiguration (aus Edit-Feldern oder fixe Werte)
- Wird ein Button element gedrückt, wird eine 1 in einen "button-status" container geschrieben
- Eine if abfrage prüft ob im oben erwähnten container eine 1 steht, wenn ja wird der bytearray container in einen "ble-sende" container kopiert und dementsprechend von phyphox gesendet.
- Anschließend wird der Button-Status container zurückgesetzt (Werte gelöscht)
Ich hoffe die Kurzfassung ist verständlich, ansonsten gerne nachfragen. In folgendem Post hatte ich das schon mal beschrieben und ein Beispiel von uns hinzugefügt:
https://phyphox.org/forums/showthread.php?tid=1640
Posts: 12
Threads: 1
Joined: Feb 2023
02-08-2023, 02:04 PM
(This post was last modified: 02-08-2023, 08:01 PM by Jens Noriʇzsɔɥ.
Edit Reason: Link repaired
)
Vielen Dank für die Infos, ich teste es zeitnah und melde mich ob es klappt.
Was müsste ich denn tun wenn ich den Sensor in diese Liste haben möchte?
Posts: 548
Threads: 25
Joined: Apr 2020
Institution: RWTH Aachen University
Entweder hier darum bitten oder uns eine E-Mail schreiben.
Wir benötigen Details, was wir in die erste, zweite und vierte Spalte schreiben sollen und wie bei anderen Einträgen, z.B. PocketLab Voyager, einen Link auf eine Seite mit weiteren Informationen. Solange wir es selbst nicht testen können, werden wir das vermutlich so dazu schreiben.
Eine kleine Hürde könnte es dann noch geben: wie ist das Ding erhältlich? Spontan finde ich nichts dazu auf https://sensry.net…
Posts: 12
Threads: 1
Joined: Feb 2023
Hallo Jens,
sorry für die Pause, war in kurzem Winterurlaub... musste auch mal sein.
Für die Liste:
Device: Kallisto SY020-PCB
Type: Sensor Board
Support: direct (wäre cool)
Comment: BLE stamp module with several sensors (Accelerometer, Gyroscope, Magnetometer, Temperature, Humidity, Air Pressure, BVOC, eCO2, IAQ, Light-to-digital) and battery management (LiPo Charger, Energy Gauge, Wireless Charge support) based on an ARM-Cortex M4F SoC
Erhältlich ist das Teil direkt bei uns: einfach eine Email an [email= info@sensry.de]info@sensry.de [/email]
Für größere Stückzahlen machen wir auch Bestückungsmodifikationen (Sensors/Funktionen weglassen).
Spitze wäre natürlich wenn ihr den support direkt in die App integrieren könntet. Wir können euch auch ein Modul zur Evaluierung zur Verfügung stellen, dann bräuchte ich eine Lieferadresse. Auch die GATT-Profil-Beschreibung bekommt ihr dann natürlich.
|