Accueil application Outils pratiques Wireless IMU

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 ()

# -------------------------------------------------------

Quoi de neuf dans la dernière version 1.2

Dernière mise à jour le 17 octobre 2015 - Problème de rotation d'écran résolu
- correction de bogue (l'application n'envoyait pas de données)