Dette programmet sender målingene fra telefonen treghetssensorer via UDP som CSV (kommadelt) til en datamaskin i nettverket ditt.
Dette gjør telefonen til et trådløst treghet måleenhet (IMU).
Følgende sensorer støttes:
- Akselerometer
- Gyroskop
- Magneto
Hvis telefonen din har ikke alle disse sensorene, er bare tilgjengelige sensordata overføres.
Eksempel UDP pakke:
890,71558, 3, 0,076, 9,809, 0,565, 4, -0,559, 0,032, -0,134, 5, -21,660, -36,960, -28,140
Tidsstempel [sek], sensorid, x, y, z, sensorid, x, y, z, sensorid, x, y, z
Sensor id:
3 - Akselerometer (m / s ^ 2)
4 - Gyroskop (rad / s)
5 - Magnetometer (micro-Tesla UT)
Du kan kjøre dette programmet i bakgrunnen.
En advarsel vises hvis du ikke er koblet til et WiFi-nettverk.
I eksempelet video, er strømmen direkte behandles av en MATLAB script for Kalman filtrering. Men det er opp til deg, hva du gjør med dataene.
Med følgende Python-skript kan du fange UDP datastrømmen fra telefonen:
# ------------------------------------------------- ------
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))
mens en:
prøve:
melding, adresse = s.recvfrom (8192)
print melding
unntatt (KeyboardInterrupt, SystemExit):
heve
unntatt:
traceback.print_exc ()
# ------------------------------------------------- ------