Construye un iBeacon de bricolaje con una Raspberry Pi

Construye un iBeacon de bricolaje con una Raspberry Pi / Bricolaje

Los anuncios dirigidos a un usuario en particular que camina por un centro metropolitano son elementos de futuros distópicos, demostrados en particular por la película de Tom Cruise. Informe de la minoría. Pero eso no es un futuro distópico: la tecnología ya está aquí. Aunque no se basa en una identificación rápida con su retina, sí utiliza Bluetooth. Desarrollado por Apple, iBeacon fue desarrollado para proporcionar información basada en la ubicación a los usuarios de iOS Cómo Bluetooth 4.0 está configurando el futuro de la conectividad móvil Cómo está configurando Bluetooth 4.0 el futuro de la conectividad móvil Bluetooth es la estrella olvidada en la hoja de especificaciones del dispositivo. Lea más, utilizando la proximidad de un dispositivo para activar un anuncio personalizado o rastrear los movimientos de un usuario. Google también creó su propia y versátil especificación de Beacons, aunque el soporte para eso está limitado en la actualidad a medida que los desarrolladores lo entienden..

Como era de esperar, puede usar una Raspberry Pi como un iBeacon, agregando un módulo USB Bluetooth de baja energía (BLE). Lo más interesante es que podemos cooptar esta tecnología y abandonar los métodos de publicidad futuristas en favor de los usos en el hogar..

Cómo funciona iBeacon

Crear un transmisor Bluetooth de baja energía que las aplicaciones de dispositivos inteligentes pueden detectar es sencillo, pero ¿cómo funciona un iBeacon??

BLE está diseñado específicamente para transmitir en distancias cortas, pero con requisitos de energía más bajos (una batería de una sola celda debería durar tres años). Pequeños paquetes de datos, conocidos como “anuncios” (no en el sentido de marketing), son transmitidos por la baliza y utilizados para activar acciones en aplicaciones de teléfonos inteligentes, tal vez mostrar un mensaje comercial o incitar al lector a realizar una acción.

Más allá de la mercadotecnia, los iBeacons se usan generalmente para enviar estados de ubicación a una aplicación, como mostrar información sobre una exhibición mientras recorres un museo.

Construye tu propio iBeacon con una Raspberry Pi y un Bluetooth Dongle

Para usar tu Raspberry Pi como iBeacon, necesitarás un adaptador USB Bluetooth. Sin embargo, no se puede conectar ningún dispositivo USB Bluetooth antiguo. En su lugar, deberá utilizar un dispositivo BLE (Bluetooth de baja energía), que se puede comprar a un precio relativamente bajo en Amazon o Adafruit. Puede ejecutar este proyecto en una instalación estándar de Raspbian. Optimizar el poder de su Raspberry Pi con Raspbian Optimizar el poder de su Raspberry Pi con Raspbian Como corresponde a un hombre con demasiada tecnología en sus manos, he estado jugando con mi Raspberry Pi recientemente , configurando el dispositivo para que funcione a su máximo potencial. Continúa ejecutándose como ... Leer más, ya sea instalado de la manera habitual Cómo instalar un sistema operativo en tu Raspberry Pi Cómo instalar un sistema operativo en tu Raspberry Pi Aquí se explica cómo instalar y ejecutar un nuevo sistema operativo en tu Pi, y cómo para clonar su configuración perfecta para una rápida recuperación de desastres. Lea más o use NOOBS. Cómo puede ayudar NOOBS para Raspberry Pi. Usuarios de primera vez. Cómo puede ayudar NOOBS para Raspberry Pi. Hay algo acerca de la Raspberry Pi que podría desanimar a la gente: hasta ahora, no ha sido especialmente útil configurarlo. simpático. NOOBS pretende cambiar eso! Lee mas .

(Si desea un acceso directo a todo esto, la imagen de PiBeacon es su mejor opción, de RadiusNetworks. Simplemente descargue, escriba en la tarjeta SD y arranque).

Sin embargo, antes de adjuntar el BLE, es hora de instalar algunas bibliotecas:

sudo apt-get install libusb-dev libdbus-1-dev libglib2.0-dev libudev-dev libical-dev libreadline-dev

Ahora que esto está hecho, necesitarás instalar Bluez, la pila de Bluetooth para Linux.

sudo mkdir bluez cd bluez sudo wget www.kernel.org/pub/linux/bluetooth/bluez-5.11.tar.xz

Una vez descargado, Bluez debe ser construido.

sudo unxz bluez-5.11.tar.xz sudo tar xvf bluez-5.11.tar cd bluez-5.11 sudo ./configure --disable-systemd sudo make

(Este paso puede tomar algún tiempo. Ir y hacer una taza de té. O hacer una tarta de frambuesas).

sudo make install

Ya casi estás listo para irte. Ejecute un comando de apagado y luego, cuando se apague el Pi, conecte el BLE.

apagado sudo -h ahora

Transmitir el PiBeacon

Para configurar el PiBeacon para la transmisión, primero verifique que se haya detectado el módulo BLE

hciconfig

Notarás que si se detecta el módulo, su estado es actualmente ABAJO.

Para resolver esto, configure el dispositivo:

herramientas sudo / hciconfig hci0 up herramientas sudo / hciconfig hci0 leadv 3 herramientas sudo / hciconfig hci0 noscanc

(Tenga en cuenta que la línea final desactiva el escaneo de Bluetooth, ya que esto puede causar problemas).

Repita el comando anterior para ejecutar hciconfig:

hciconfig

Ahora verás que el estado del dispositivo es UP RUNNING.

¿Cómo hacer publicidad con el PiBeacon??

Así que tienes un iBeacon en funcionamiento, alimentado por una Raspberry Pi. Pero, ¿cómo lo usa para identificarse con los dispositivos Bluetooth cercanos? Según lo explicado por Adafruit, la baliza necesita que se ingresen datos de publicidad. Aconsejan que se ingrese la siguiente cadena con el comando hcitool:

sudo hcitool -i hci0 cmd 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02 15 E2 0A 39 F4 73 F5 4B C4 A1 2F 17 D1 AD 07 A9 61 00 00 00 00 00 00 C8 00

¿Qué hay en el paquete de datos??

Sí, eso es una larga cadena de números y letras. Está escrito en hexadecimal, y aunque no lo podemos ver, la cadena se divide en secciones. Por ejemplo, la marca FF indica que seguirán los datos específicos del fabricante, en este caso el 4C 00, que es el ID de Apple. Esta cadena se puede cambiar según sea apropiado.

Vamos a dividirlo:

Como puede ver, la cadena significa poco hasta que pueda ver para qué sirve cada segmento de datos. Tenga en cuenta que la identificación siempre será la misma, para identificar el tipo de paquete, y que la longitud de los datos debe convertirse a decimal para poder apreciar la longitud real del paquete..

Con la marca FF vemos el ID de 128 bits como se explicó anteriormente, seguido de los datos principales y los datos menores. Estas identifican ubicaciones o notas de una manera jerárquica (primero primero, segundo menor). Finalmente, el TX Power ayuda a estimar la distancia..

El PiBeacon, como un iBeacon, tiene tres rangos: inmediato (localizado a unos pocos centímetros), cerca (unos pocos metros) y lejos (alrededor de 10 metros). Cualquier distancia medida es solo aproximada ya que la señal BLE se debilita por los muebles, puertas y paredes.

Si planea usar la tecnología iBeacon, es importante tener una ID única para su aplicación. Puede usar algo como www.uuidgenerator.net o si usa una Mac, la línea de comando uuidgen utilidad generará una ID única.

PiBeacon está en vivo!

Con esto ingresado, el PiBeacon está ahora anunciando. Todo lo que necesita hacer ahora es encontrar una aplicación iBeacon adecuada en la tienda de iOS como Beacon Toolkit [Ya no está disponible] para detectarla, seleccionando Escucha. La cadena anterior se proporciona como un UUID en la aplicación Beacon Toolkit. Se pueden usar otros UUID, pero estos no funcionarán con esa aplicación: use el Beacon Toolbox ($ 4.99), un poco más costoso, que debería poder identificar la mayoría de los iBeacons dentro del rango.

¿No está satisfecho con dedicar una Raspberry Pi a esta única tarea? No te preocupes, puedes construir un Arduino iBeacon, siempre que tengas un escudo BLE (que puede estar disponible en tu kit de inicio de Arduino ¿Qué hay en tu kit de inicio de Arduino? [Principiantes de Arduino] ¿Qué hay en tu kit de inicio de Arduino? [ Principiantes de Arduino] Frente a una caja llena de componentes electrónicos, es fácil sentirse abrumado. Aquí hay una guía de lo que encontrará exactamente en su kit. Leer más). Aquí hay una demostración:

¿Te sientes aún más aventurero? $ 10 en electrónica y algunas habilidades de soldadura Aprenda a soldar, con estos simples consejos y proyectos Aprenda a soldar, con estos simples consejos y proyectos ¿Está un poco intimidado por la idea de una plancha caliente y metal fundido? Si quieres comenzar a trabajar con electrónica, necesitarás aprender a soldar. Déjanos ayudarte. Leer más también le dará un iBeacon de bricolaje.

¿Preguntas o comentarios? Déjalos debajo.

Explorar más sobre: ​​Bluetooth, Raspberry Pi.