08-25-2026, 12:48 PM
Hallo liebe Phyphox Anwender,
ich habe ein Problem beim Zusammenführen von zwei Messgeräten.
Der Laborino (BLE) soll die magnetische Flussdichte in der Nähe eines geraden stromdurchflossenen Leiters messen, während man am Netzgerät die Stromstärke erhöht welche vom OWON-Mutimeter (BLE) gememessen wird und ebenfalls an phyphox die Daten sendet.
Die beiden Größen welche ich in einem Diagramm gegenüberstellen will, kommen demnach von zwei verschiedenen BLE Geräten (Laborino und OWON-Multimeter). So wie ich das verstehe ist mein Problem, dass der zeitliche Zusammenhang der Größen nicht da ist und somit kein sinnvolles Diagramm entstehen kann (z.B in einem Container sind 100 Werte während im anderen bereits 1000 sind) Um das zu lösen habe ich bereits mit dedizierten Containern nur für die Diagrammerstellung herumgespielt. z.B um immer dann den letzten Magnetfeldwert zu lesen, wenn ein neuer Strom- bzw Zeitmessung vom OWON hereinkommt (d/dt größer null). Diese Werte (Container Größe 1) werden in einen Container (Größe 0) angehangen. Und auch der aktuelle Magnetfeldwert soll dann in einen eigenen Container ((MAG_sing) für Single) gespeichert werden. Dieser wird dann an den eigenen Container Größe 0 angehangen.
Da es ein eigenes Laborion Experiment ist, wird es nicht bei euch wahrscheinlich nicht Laufen, aber vielleicht hilft der Code schon weiter.
Es müsste sich mit dem OWON Multimeter und dem Smarphone Magnetometer nachstellen lassen.
ich habe ein Problem beim Zusammenführen von zwei Messgeräten.
Der Laborino (BLE) soll die magnetische Flussdichte in der Nähe eines geraden stromdurchflossenen Leiters messen, während man am Netzgerät die Stromstärke erhöht welche vom OWON-Mutimeter (BLE) gememessen wird und ebenfalls an phyphox die Daten sendet.
Die beiden Größen welche ich in einem Diagramm gegenüberstellen will, kommen demnach von zwei verschiedenen BLE Geräten (Laborino und OWON-Multimeter). So wie ich das verstehe ist mein Problem, dass der zeitliche Zusammenhang der Größen nicht da ist und somit kein sinnvolles Diagramm entstehen kann (z.B in einem Container sind 100 Werte während im anderen bereits 1000 sind) Um das zu lösen habe ich bereits mit dedizierten Containern nur für die Diagrammerstellung herumgespielt. z.B um immer dann den letzten Magnetfeldwert zu lesen, wenn ein neuer Strom- bzw Zeitmessung vom OWON hereinkommt (d/dt größer null). Diese Werte (Container Größe 1) werden in einen Container (Größe 0) angehangen. Und auch der aktuelle Magnetfeldwert soll dann in einen eigenen Container ((MAG_sing) für Single) gespeichert werden. Dieser wird dann an den eigenen Container Größe 0 angehangen.
Da es ein eigenes Laborion Experiment ist, wird es nicht bei euch wahrscheinlich nicht Laufen, aber vielleicht hilft der Code schon weiter.
Es müsste sich mit dem OWON Multimeter und dem Smarphone Magnetometer nachstellen lassen.
Code:
<phyphox xmlns="http://phyphox.org/xml"
xmlns:editor="http://phyphox.org/editor/xml"
version="1.7"
editor:version="1.0"
locale="de">
<title>OerstedTeil2</title>
<category>Laborino2-Experimente</category>
<description>Messung mag. Flussdichte und Strom</description>
<data-containers>
<!-- COMMUNICATION -->
<container size="1" init="0">BT_INC</container>
<container size="1" init="1">BT_OUTC</container>
<!-- DATA -->
<container size="0">TIME</container>
<container size="0">RAD</container>
<container size="0">MAG</container>
<container size="1">MAG_sing</container>
<container size="1">dt</container>
<container size="0">t</container>
<container size="0">I</container>
<container size="0">I_sync</container>
<container size="0">MAG_sync</container>
<!-- Owon W18B -->
<container size="1">tin</container>
<container size="1">Iin</container>
<container size="1">18value</container>
<container size="1">18-value</container>
<container size="1">18signedvalue</container>
<container size="1">18bitmask</container>
<container size="1">18decfac</container>
<container size="1">18prefac</container>
</data-containers>
<input>
<bluetooth id="Sense" mode="notification">
<output char="c0880001-30f7-4671-8b43-5e40ba53514a"
conversion="uInt8"
offset="0">BT_INC</output>
<output char="da1a0001-30f7-4671-8b43-5e40ba53514a"
conversion="float32LittleEndian"
offset="0">TIME</output>
<output char="da1a0001-30f7-4671-8b43-5e40ba53514a"
conversion="float32LittleEndian"
offset="4">RAD</output>
<output char="da1a0001-30f7-4671-8b43-5e40ba53514a"
conversion="float32LittleEndian"
offset="8">MAG</output>
</bluetooth>
<bluetooth id="BDM" mode="notification">
<output char="0000FFF4-0000-1000-8000-00805F9B34FB"
conversion="uInt16LittleEndian"
offset="4"
length="2">18value</output>
<output char="0000FFF4-0000-1000-8000-00805F9B34FB"
conversion="uInt8"
offset="0"
length="1">18bitmask</output>
<output char="0000FFF4-0000-1000-8000-00805F9B34FB"
extra="time">tin</output>
</bluetooth>
</input>
<output>
<bluetooth id="Sense">
<config char="c0f10001-30f7-4671-8b43-5e40ba53514a"
offset="0"
conversion="uInt32LittleEndian">426</config>
<input char="c0880001-30f7-4671-8b43-5e40ba53514a"
offset="0"
conversion="uInt8">BT_OUTC</input>
</bluetooth>
</output>
<analysis>
<!-- Reset buffers while not started -->
<if equal="true">
<input as="a" keep="true">BT_INC</input>
<input as="b" type="value">0</input>
<input as="true" type="empty"/>
<output as="result">TIME</output>
</if>
<if equal="true">
<input as="a" keep="true">BT_INC</input>
<input as="b" type="value">0</input>
<input as="true" type="empty"/>
<output as="result">RAD</output>
</if>
<if equal="true">
<input as="a" keep="true">BT_INC</input>
<input as="b" type="value">0</input>
<input as="true" type="empty"/>
<output as="result">MAG</output>
</if>
<!-- Owon W18B -->
<subtract>
<input type="value">32768</input>
<input keep="true">18value</input>
<output keep="true">18-value</output>
</subtract>
<if greater="true">
<input keep="true">18value</input>
<input type="value">32767</input>
<input keep="true">18-value</input>
<input keep="true">18value</input>
<output keep="true">18signedvalue</output>
</if>
<formula formula="10^(-([1]%4))">
<input keep="true">18bitmask</input>
<output keep="true">18decfac</output>
</formula>
<formula formula="1000^(floor([1]/8)%8-4)">
<input keep="true">18bitmask</input>
<output keep="true">18prefac</output>
</formula>
<multiply>
<input keep="true">18signedvalue</input>
<input keep="true">18decfac</input>
<input keep="true">18prefac</input>
<output keep="true">Iin</output>
</multiply>
<formula formula="[1]">
<input keep="true">Iin</input>
<output append="true">I</output>
</formula>
<formula formula="[1]">
<input keep="true">tin</input>
<output append="true">t</output>
</formula>
<!-- ================================================== -->
<!-- Synchronisation: B-Feld (MAGS) zu Strom (V) -->
<!-- Trigger: neuer Stromwert -->
<!-- ================================================== -->
<differentiate>
<input>t</input>
<output>dt</output>
</differentiate>
<if greater="true">
<input as="a" keep="true">dt</input>
<input as="b" type="value">0</input>
<!-- Aktuelle Stromstärke speichern -->
<input as="true" keep="true">Iin</input>
<output append="true">I_sync</output>
</if>
<if greater="true">
<input as="a" keep="true">dt</input>
<input as="b" type="value">0</input>
<!-- Aktuelles B-Feld speichern -->
<input as="true" keep="true">MAG</input>
<output>MAG_sing</output>
</if>
<formula formula="[1]">
<input keep="true">MAG_sing</input>
<output append="true">MAG_sync</output>
</formula>
</analysis>
<views>
<view label="über Zeit">
<info label="B über Zeit" align="center" bold="true"/>
<graph aspectRatio="1.5"
style="lines"
lineWidth="1.5"
color="ff7e22"
partialUpdate="false"
labelX="Zeit"
labelY="mag. Flussdichte"
unitX="s"
unitY="uT"
timeOnX="true">
<input axis="x" color="green">TIME</input>
<input axis="y">MAG</input>
</graph>
<info label="r über Zeit" align="center" bold="true"/>
<graph aspectRatio="1.5"
style="lines"
lineWidth="1.5"
color="ff7e22"
partialUpdate="false"
labelX="Zeit"
labelY="Strom"
unitX="s"
unitY="mm"
timeOnX="true">
<input axis="x" color="red">t</input>
<input axis="y">I</input>
</graph>
</view>
<view label="B-I">
<graph aspectRatio="1.0"
style="lines"
color="ff7e22"
partialUpdate="false"
labelX="I"
labelY="mag. Flussdichte"
unitX="A"
unitY="uT">
<input axis="x" color="yellow">I_sync</input>
<input axis="y">MAG_sync</input>
</graph>
<value label="len B">
<input>MAG_sync</input>
</value>
<value label="len I">
<input>I_sync</input>
</value>
</view>
</views>
</phyphox>
