Convierta su teléfono inteligente en una unidad de medición inercial inalámbrica (IMU).
Esta aplicación envía las medidas desde los sensores de inercia de su teléfono a través de UDP como CSV (valores separados por comas) a una computadora en su red.
Esto convierte su teléfono en una unidad de medición inercial inalámbrica (IMU).
Los siguientes sensores son compatibles:
- acelerómetro
- Giroscopio
- magnetómetro
Si su teléfono no tiene todos estos sensores, solo se transmiten los datos del sensor disponibles.
Ejemplo de paquete UDP:
890.71558, 3, 0.076, 9.809, 0.565, 4, -0.559, 0.032, -0.134, 5, -21.660, -36.960, -28.140
Marca de tiempo [Sec], SensorD, X, Y, Z, SensorID, X, Y, Z, SensorD, X, Y, Z
ID de sensor:
3 - Acelerómetro (M/S^2)
4 - Giroscopio (Rad/S)
5 - Magnetómetro (Micro -Tesla UT)
Puede ejecutar esta aplicación en segundo plano.
Aparece un diálogo de advertencia, si no está conectado a una red WiFi.
En el video de ejemplo, la transmisión es procesada directamente por un script MATLAB para el filtrado de Kalman. Pero depende de usted, lo que haces con los datos.
Con el siguiente script de Python, puede capturar el flujo de datos UDP desde su teléfono:
# -------------------------------------------------------
Importar enchufe, traza
host = ''
puerto = 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, puerto))
Mientras que 1:
intentar:
Mensaje, dirección = S.RecvFrom (8192)
Mensaje de impresión
Excepto (KeyboardInterrupt, SystemExit):
aumentar
excepto:
trazaback.print_exc ()
# -------------------------------------------------------