Transformez votre smartphone en une unité de mesure inertielle sans fil (IMU).
Cette application envoie les mesures à partir de vos capteurs d'inertiels de téléphone via UDP en tant que CSV (valeurs séparées par des virgules) à un ordinateur de votre réseau.
Cela transforme votre téléphone en une unité de mesure inertielle sans fil (IMU).
Les capteurs suivants sont pris en charge:
- accéléromètre
- gyroscope
- magnétomètre
Si votre téléphone n'a pas tous ces capteurs, seules les données de capteur disponibles sont transmises.
Exemple de paquet UDP:
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 du capteur:
3 - Accéléromètre (m / s ^ 2)
4 - gyroscope (rad / s)
5 - Magnetomètre (Micro-Tesla UT)
Vous pouvez exécuter cette application en arrière-plan.
Une boîte de dialogue d'avertissement apparaît, si vous n'êtes pas connecté à un réseau WiFi.
Dans l'exemple de vidéo, le flux est directement traité par un script MATLAB pour le filtrage de Kalman. Mais c'est à vous, ce que vous faites avec les données.
Avec le script Python suivant, vous pouvez capturer le flux de données UDP à partir de votre téléphone:
# -------------------------------------------------------
Importer la prise, 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 ((hôte, port))
tandis que 1:
essayer:
Message, adresse = s.recvfrom (8192)
message d'impression
Sauf (KeyboardInterrupt, SystemExit):
augmenter
sauf:
traceback.print_exc ()
# -------------------------------------------------------