¿Cómo adquirir datos del sensor de un teléfono inteligente a una PC? ¿Cómo se utilizan los sensores de teléfonos inteligentes para aplicaciones robóticas?

Un teléfono inteligente moderno tiene una serie de sensores que funcionan juntos de manera eficiente para proporcionar funciones extraordinarias al usuario final.

Después de una búsqueda exhaustiva de métodos para usar los sensores de los teléfonos móviles para proyectos integrados, encontré una aplicación llamada Sensoduino.

Enlace a la descripción completa: SensoDuino

Mi equipo ha utilizado con éxito esta aplicación (en Redmi Prime 2) para transmitir datos a un microcontrolador conectado a un HC 05 (módulo bluetooth).

Incluso se puede transferir a la PC (ver el enlace)

Las siguientes son las cosas que observamos durante nuestro uso:

1) La reparación del GPS no es tan confiable en interiores .

2) Configure el “botón reciente” (abajo a la izquierda) en su teléfono inteligente en el modo de opciones en caso de que no aparezca ningún menú emergente en la aplicación.

3) Google Play Store puede indicar que su teléfono no es compatible con la aplicación. Lo descargamos del enlace proporcionado y todo funcionó bien.

4) No pude comunicarme con éxito con el módulo bluetooth incorporado de Intel Edison. El módulo HC-05 es el módulo más confiable para esta aplicación.

5) Encienda su Bluetooth y GPS antes de abrir la aplicación

6) Funcionó para nosotros en la velocidad de 9600 baudios.

7) Modifique el código provisto en la página para realizar pruebas sin problemas.

8) Puede registrar los datos del sensor en su teléfono móvil usando el icono de registro cerca de los sensores.

Nota: esta aplicación puede agotar la batería de su teléfono

Requerimos algo similar para nuestro proyecto. Así que escribimos nuestro propio código y también lo convertimos en una aplicación independiente.

PhonePi Sensor Streamer – Aplicaciones de Android en Google Play

Esta aplicación utiliza WebSockets para transmitir datos en vivo desde los sensores de su teléfono a cualquier servidor compatible con WebSockets que se ejecute en su PC o RaspBerry Pi (nuestro caso de uso).

Puede utilizar el servidor de muestra proporcionado que se basa en Flask (Python) o puede escribir su propia implementación en el lenguaje de programación que elija. (priyankark / PhonePi_SampleServer). El servidor proporcionado se puede modificar según su caso de uso.

En caso de que se esté preguntando acerca de las consideraciones de rendimiento (las aplicaciones actuales utilizan UDP), consulte este hilo de desbordamiento de pila (WebSockets, UDP y puntos de referencia)

Sensores compatibles (sujetos a disponibilidad en el dispositivo): acelerómetro, giroscopio, magnetómetro, sensor de orientación, contador de pasos, termómetro, sensor de luz, sensor de proximidad y GPS

Avíseme si terminó usando esto y si tiene algún problema. Estaría encantado de ayudar. El código del servidor es de uso gratuito bajo una licencia MIT. Planeamos también abrir el código de la aplicación. Además, no hay anuncios en la aplicación 🙂

Suposiciones

  • Una aplicación que interactúa entre los sensores de hardware del teléfono inteligente y su usuario.
  • La aplicación puede transmitir datos a la computadora a través de algún canal de comunicación.
  • Sensores como giroscopio, magnetoscopio o cámara para ayudar al robot.

Reglas generales:

  • Cree una aplicación / use aplicaciones existentes O aproveche varias API para leer datos de sensores (Google para encontrar códigos / procedimientos / aplicaciones).
  • Establezca permisos en pc y android / ios / microsoft os s / w para enviar datos sin problemas entre ellos mediante Bluetooth / WiFi / USB (Google para códigos / procedimientos).
  • Desarrolle un algoritmo que ingrese estos datos y calcule la posición, velocidad, proximidad, etc. del robot.
  • Del resultado computacional anterior, el algoritmo debería poder guiar al robot al estado final / objetivo deseado.
  • Use el ciclo de retroalimentación para enseñarle al algoritmo cómo minimizar el error y corregirlo.
  • Prueba de funcionamiento para perfeccionar el algoritmo.

[Editar1]

  • Obtener orientación 3D de su objeto que tiene un teléfono inteligente montado en él: use un acelerómetro / giroscopio / magnetómetro para la orientación 3D del objeto en el espacio. Si la ubicación precisa de su objeto es importante, use tantos datos del sensor como sea posible con los pasos mencionados anteriormente. Si se requiere orientación visual , use la cámara del teléfono inteligente y realice el procesamiento de imágenes .
  • Manipule físicamente la orientación del objeto: use servomotores para mover el objeto y, con el pseudo algoritmo mencionado anteriormente, verifique si está en el estado final / objetivo, utilizando el bucle de retroalimentación como se mencionó.

¡Espero eso ayude!
¡No dudes en comentar!
¡Gracias por leer!

Aquí hay una aplicación que envía datos del sensor desde un teléfono Android a través de Bluetooth. Esto se puede usar en aplicaciones de robótica o en una PC.
La aplicación se llama SensoDuino. Se supone que es un centro de sensores inalámbrico para Arduino.
Aplicaciones de Android en Google Play

Ciertas aplicaciones envían datos del sensor desde un teléfono Android a través de Bluetooth. Las aplicaciones son simples para robótica o para PC. La aplicación es SensoDuino.