Estoy buscando desarrollar una plataforma para mi automóvil que conecte automáticamente cualquier dispositivo que intente conectarse al Pi a través de Bluetooth. Actualmente requiere un emparejamiento aceptado por el Pi, pero en este caso no habrá pantalla, por lo que deberá hacerlo automáticamente. ¿Cómo puedo lograr esto?
14
Respuestas:
( Tenga en cuenta que esta respuesta ya no funciona a partir de Raspbian Jessie, ya que bluez eliminó el comando bluetooth-agent )
Por lo tanto, actualmente declaras que puedes conectarte al Pi muy bien, pero que necesitas un monitor para el proceso de emparejamiento.
Nota: aceptar cualquier conexión es una idea increíblemente insegura, y si solo está usando un conjunto limitado de dispositivos, configurarlos como dispositivos confiables tendría mucho más sentido ya que limitaría la conexión a sus direcciones Mac pero no permitiría nuevas dispositivos que se agregarán sin monitor
Pero de todos modos, los comandos que necesitará ejecutar para aceptar todas las conexiones que se realizan con el Pi, para que sea reconocible y para establecer un pin predecible se enumeran a continuación:
Nota: puede que necesite cambiar el cero en
hci0
el número de Bluetooth de sus dispositivos.Ahora, después de ejecutar estos comandos y ver si funcionan como se espera, podemos pasar a configurarlos para que comiencen en el arranque de su Pi.
sudo nano mohammadIsAmazing.sh
Ahora ingresamos lo siguiente en ese archivo:
Ahora guardamos y cerramos nuestro archivo usando el
control key and x
Abrimos el archivo
/etc/rc.local
usando el siguiente comando:Ahora ingresamos el comando para ejecutar nuestro script bash en
/etc/rc.local
Nota: debe colocar el comando antes de la última línea en /etc/rc.local que contiene:
exit 0
Ahora guardamos y cerramos ese archivo, luego reiniciamos el Pi.
En una nota al margen: asegúrese de elegir un pin aleatorio para aumentar marginalmente la seguridad
En otra nota al margen: si desea cambiar el nombre del dispositivo bluetooth, debe crear un archivo llamado
/etc/machine-info
que debe contener lo siguiente:Luego corre
service bluetooth restart
después de esofuente
&
al final de la línea en elrc.local
archivo, sin él, el RPi puede no finalizar el arranque ya que el shell espera a que su script/path/to/script/mohammadIsAmazing.sh
termine de ejecutarse antes de continuar, y si no termina el arranque, no podrássh
ingresar para arreglar las cosas ...!apt-get install bluetooth bluez
primero y dime si eso funciona para ti.bluetooth-agent
y no pude encontrarlo también. La instalación de los paquetes no lo solucionó.Según lo que entiendo, lo que necesita es un módulo esclavo bluetooth. Puede usar el popular módulo HC-06 y conectarlo a la frambuesa pi a través de una palanca de cambio de nivel a los pines TX y RX en la Pi y usar un script de python para leer los datos en serie y procesarlos según sea necesario
fuente
systemd
tiene uno, presumiblemente tienes que configurarlo para que se comporte de maneras específicas.No voy a discutir la implicación de seguridad o no, pero así es como lo hago:
Lo que todo esto hace:
Configura el dispositivo para que sea siempre reconocible.
Cuando un dispositivo se empareja con él, lo marcará automáticamente en un dispositivo confiable y se conectará a él.
En cada arranque, recorrerá la lista de dispositivos conocidos e intentará conectarse a ellos.
Tenga en cuenta que este enfoque va directamente en contra de cualquier tipo de seguridad, pero puede haber casos de usuarios cuando desee lograr eso.
fuente
En Raspberry Pi3 Modelo B hay un bulit en bluetooth y wifi. Con el servidor OBEX, puede recibir los archivos de otros dispositivos sin tener que preguntar por la solicitud de emparejamiento cada vez. Tienes que hacer el emparejamiento por primera vez con ese dispositivo y hacer un directorio, en el que los archivos recibidos todo el tiempo.
Simplemente siga el paso del siguiente enlace.
https://www.raspberrypi.org/forums/viewtopic.php?p=963751#p963751
fuente