Transforme seu smartphone em uma unidade de medição inercial sem fio (IMU).
Este aplicativo envia as medições dos sensores inerciais do seu telefone via UDP como CSV (valores separados por vírgula) para um computador em sua rede.
Isso transforma seu telefone em uma unidade de medição inercial sem fio (IMU).
Os seguintes sensores são suportados:
- acelerômetro
- Giroscópio
- magnetômetro
Se o seu telefone não tiver todos esses sensores, apenas os dados do sensor disponíveis serão transmitidos.
Exemplo de pacote 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 [s], sensorid, x, y, z, sensorid, x, y, z, sensorid, x, y, z
ID do sensor:
3 - acelerômetro (m/s^2)
4 - giroscópio (rad/s)
5 - Magnetômetro (Micro -Tesla UT)
Você pode executar este aplicativo em segundo plano.
Uma caixa de diálogo de aviso aparece, se você não estiver conectado a uma rede wifi.
No vídeo de exemplo, o fluxo é processado diretamente por um script do MATLAB para filtragem Kalman. Mas depende de você, o que você faz com os dados.
Com o script Python a seguir, você pode capturar o fluxo de dados UDP do seu telefone:
# -------------------------------------------------------
Importar soquete, Traceback
host = ''
porta = 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))
enquanto 1:
tentar:
mensagem, endereço = s.recvfrom (8192)
Mensagem de impressão
Exceto (KeyboardInterrupt, SystemExit):
elevação
exceto:
traceback.print_exc ()
# -------------------------------------------------------