Questa app invia le misurazioni dai sensori inerziali del telefono tramite UDP come CSV (valori separati da virgola) a un computer nella rete.
Questo trasforma il tuo telefono in un'unità di misura inerziale wireless (IMU).
Sono supportati i seguenti sensori:
- Accelerometro
- Giroscopio
- Magnetometro
Se il telefono non dispone di tutti questi sensori, vengono trasmessi solo i dati del sensore disponibili.
Pacchetto UDP di esempio:
890.71558, 3, 0.076, 9.809, 0.565, 4, -0.559, 0.032, -0.134, 5, -21.660, -36.960, -28.140
Timestamp [sec], sensorid, x, y, z, sensorid, x, y, z , sensorid, x, y, z
ID sensore:
3 - Accelerometro (m / s ^ 2)
4 - Giroscopio (rad / s)
5 - Magnetometro (micro-Tesla uT)
È possibile eseguire questa app in background.
Se non sei connesso a una rete WiFi viene visualizzata una finestra di dialogo di avviso.
Nel video di esempio, lo stream viene elaborato direttamente da uno script MATLAB per Kalman Filtering. Ma sta a te decidere cosa fare con i dati.
Con il seguente script Python puoi acquisire il flusso di dati UDP dal tuo telefono:
# --------------------------------- ----------------------
import socket, traceback
host = ''
port = 5555
s = socket.socket (socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt (socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.setsockopt (socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
s .bind ((host, port))
while 1:
try:
message, address = s.recvfrom (8192)
print message
eccetto (KeyboardInterrupt, SystemExit):
raise
eccetto:
traceback.print_exc ()
# -------- -----------------------------------------------