Revista 100% Verde

Interceptar Amazon Dash Button para otras aplicaciones

Por Soloelectronicos @soloelectronico
Amazon lleva mas un año enviando sus famosos botones Dash , los cuales se pueden transformar en exactamente eso con sólo unos minutos, es decir que un pequeño dispositivo permita con el simple hecho de darle un botón , desencadenar una compra predefinida al famoso portal de compra... pero, obviamente , estos botones inteligentes están abiertos a otras posibilidades sin duda infinitas y que vamos a intentar explorar en este post Los famosos Amazon Dash son botones pequeños, de plástico y de un coste ínfimo ( 5€) ,pero ademas incluyen una batería y una conexión WiFi en su interior . Amazon quiere que usted los pegue en el interior de sus puertas y los utilice para comprar productos de uso cotidiano como pueden ser los pañales, té , café, productos de limpieza y un largo etcétera. Interceptar Amazon Dash Button para otras aplicaciones Existe una manera mas fácil de darle otros usos a cualquier botón Amazon Dash si quiere usar SmartThings para otras cosas útiles. Ejemplos de usos:
  • Presionar el botón Dash y encender las luces. (Luces del dormitorio, luces de la sala de estar, todas las luces o lo que sea).
  • Presionar el botón Dash y encender el televisor, cambia a una entrada de TV y abrir Netflix.
  • Presionar el botón Dash y abrir la puerta de la puerta / garaje.
  • Presionar el botón Dash y abrir una aplicación de cámara en el teléfono e incluso encender la TV y proyectar la cámara al televisor.
  • Presione el botón Dash y abrir una aplicación en el ordenar que realice alguna acción.
  • !En resumen: posibilidades ilimitadas!

Entender cómo funciona el registro del botón.

Nuestro objetivo es detectar cuando uno de estos botones Dash se pulsa y luego hacer algo más que ordenar cosas en Amazon. El hack impresionante sería abrir el botón y re-programarlo ( de hecho esto ya se puede hacer reprogramando el STM32 que incluye ) pero vamos a seguir una ruta muchísimo mas fácil: sólo vamos a usar un programa que rastrea nuestra red wifi para buscar la evidencia de que el botón fue pulsado , luego registrar un punto de datos cuando escucha estos y una vez detectado desencadenar una acción .

Resulta que Amazon nos dio una manera muy fácil de hacer esto porque estaban tan preocupados con el ahorro de energía , pues estos botones se desactivan la mayor parte del tiempo para conservar la batería dentro y sólo se encienden cuando son pulsados, lo cual significa que tienen que volver a conectarse a su red Wifi cada vez que son pulsados ( y eso es fácil de detectar).

Los dispositivos de Internet no solo se conectan a una red Wifi y empiezan a hablar con Amazon: se presentan primero a la red local . Esta introducción se hace con algo llamado una sonda ARP , y es esencialmente una comprobación de seguridad para asegurarse de que la dirección MAC que el dispositivo va a utilizar como identificador ya no está siendo utilizada por otra persona.

Interceptar Amazon Dash Button para otras aplicaciones

Cada vez que pulsa un botón Dash, se vuelve a conectar a la red, causando una transmisión predecible de llamada una sonda ARP que podemos detectar y actuar.

Eso es una gran noticia para nosotros: cada vez que se pulsa un botón Dash, se enciende su radio y transmite rápidamente el mensaje, "Hola! Mi nombre es [Dirección MAC]! "

Así, que conceptualmente, el problema esta resuelto pues sólo tenemos que:

  1. Evitar que el botón realice cualquier pedido
  2. Escuche las sondas ARP del botón Dash
  3. Traducir esas sondas a llamadas cualquier cosa que se nos ocurra

Paso 1: Configurar la red wifi en el botón

Para usar el botón ,primero debe registrar el Botón básicamente para configurar la red wifi a la que se conectará . Lo que no queremos es asignar el botón para pedir algo , por lo en lugar de asignar algún producto , antes de finalizar la vinculación simplemente no haremos nada !pero el botón de tablero todavía seguirá registrado! , así que lo sucede a continuación es que cuando presione el botón del tablero, recibirá una notificación en las versiones antiguas que dice " Su (inserte el nombre del botón del tablero) está casi listo para usar ... bla, bla, bla".

Pasos del botón Dash (Nuevo botón Dash):
  1. Abra la aplicación Amazon Shopping y vaya a su cuenta.
  2. Vaya a Configurar un nuevo botón de tablero y haga clic en Aceptar y comenzar para comenzar.
  3. Mantenga presionado el Botón de tablero por 6 segundos hasta que la luz destelle en azul y haga clic en Conectar. (Asegúrate de que Bluetooth esté habilitado)
  4. Haga clic en la red Wi-Fi a la que desea conectar el botón del tablero y haga clic en Continuar.
  5. El botón de tablero ahora está registrado. No haga nada todavía.
  6. Donde dice Elija un producto simplemente salga (no queremos pedir nada) haciendo clic en la X en la esquina superior derecha.
  7. Hemos terminado con la configuración del botón del tablero.
Pasos del botón de tablero (dispositivo antiguo):
  1. Abra la aplicación Amazon Shopping y vaya a su cuenta.
  2. Diríjase al botón del tablero con el que tiene programada la configuración y haga clic en Desactivar este botón del tablero. Aparecerá una ventana emergente preguntándole si está seguro. Decir que sí.
  3. Ahora vaya a Configurar un nuevo botón de tablero y haga clic en Aceptar y comenzar para comenzar.
  4. Mantenga presionado el Botón de tablero por 6 segundos hasta que la luz destelle en azul y haga clic en Conectar. (Asegúrate de que Bluetooth esté habilitado)
  5. Haga clic en la red Wi-Fi a la que desea conectar el botón del tablero y haga clic en Continuar.
  6. El botón de tablero ahora está registrado. No haga nada todavía.
  7. Donde dice Elija un producto simplemente salga (no queremos pedir nada) haciendo clic en la X en la esquina superior derecha.
  8. Hemos terminado con la configuración del botón del tablero.

Nota: Puede activar y desactivar la notificación de Amazon Shopping para cada dispositivo que desee habilitar o deshabilitar en caso de que se moleste. Esto se puede hacer abriendo la aplicación Amazon Shopping en cada dispositivo individual y deshabilitando o habilitando "Alexa Shopping & Dash Updates". Habilite en el dispositivo que planea hacer esta guía de configuración. Deshabilite en todos los dispositivos en los que no planea usar esta configuración. Naranja = Activado.

Paso 2: Captura de la IP del botón

Una forma fácil de encontrar su ID del botón de pantalla es usar Wireshark ( https://www.wireshark.org/#download), que se puede obtener mediante una descarga gratuita para Mac / Win.

Una vez descargada e instalada la aplicación podemos lanzar Wireshark, estableciendo el filtro para c apturar paquetes en "arp", seleccionando el modo wifi para la red y haciendo clic en el icono de Blue Shark para habilitar el filtro al capturar paquetes.

Interceptar Amazon Dash Button para otras aplicaciones

A continuación, verá una ventana como la siguiente: haga clic en el ícono de Green Shark para comenzar a capturar paquetes, presione el botón de Amazon Dash.

Verá una línea en el parte superior que tiene " AmazonTe ..." en la fuente Colunm.

Interceptar Amazon Dash Button para otras aplicaciones

Selecciónelo y en el panel a continuación, verá la dirección MAC del botón Amazon Dash en parantesis, junto a AmazonTe _... Src, como se muestra a continuación.

Interceptar Amazon Dash Button para otras aplicaciones

Realmente la dirección MAC es importante para algunas aplicaciones, pero realmente lo que nos va a importar para capturar la petición, e s la dirección ip del botón obtenida en la pantalla anterior , ( en nuestro caso : 192.168.1.32)

Alternativamente, puede seguir las instrucciones de node-dash-button para encontrar su id del botón de pantalla.

Paso 3 : Utilización sobre windows

Existen scripts en python que pueden ejecutarse en una raspberry Pi para escuchar las peticiones en la red wifi de modo que cuando detecten la ip de nuestro botón desencadenen un acción.

Para windows existe una interesante utilidad que busca cualquier llamada a la IP de nuestro botón y desencadene la ejecución de un comando o aplicación.

Descargue el sw de aquí: https://github.com/fiveseven808/AmazonDashButtonHack

Una vez descomprimido tendremos al menos dos ejecutables:

Interceptar Amazon Dash Button para otras aplicaciones

En versiones antiguas del botón era posible el auto-descubrimiento de la ip del botón ( es decir obviar el paso comentado nº 2), por lo que los pasos serian los siguientes :

  • Ejecutar "AmazonButton_Discovery_160715 _ ****. Exe" para comenzar a buscar botones.
  • Pulsamos clic en "Aceptar" en el aviso y comenzariamos a presionar el botón que desea emparejar repetidamente.
  • Si no se encuentran dispositivos de Amazon, intente de nuevo, pero comience a presionar el botón tan pronto como haga doble clic en el archivo EXE.
  • Si se encuentran más de un dispositivo de Amazon, tendrá que ir y averiguar qué IP corresponde con su botón por su cuenta.
  • Finalmente elija un programa que desea ejecutar cuando se presiona el botón
  • Ingrese un comentario para el daemon, lo cual identificará el daemon particular que corresponde con el botón en particular.

Como el proceso anterior no es mas eficaz , si ya conoce la IP de su botón( descrito en el paso 2 ) siga los siguientes pasos:

  • Haga doble clic en AmazonButton_v4.0.exe .
  • Ingrese la IP conocida / reservada de su botón Dash ( en nuestro caso 192.168.1.36)
  • Elija un programa que desea ejecutar cuando se presiona el botón . Por ejemplo puede asociar un fichero mp3 de modo que cuando pulsemos el botón comience a reproducirse el tema
  • Ingrese un comentario para el daemon, lo cual identificará el daemon particular que corresponde con el botón en particular.

También permite argumentos vía parámetros por línea de comando por ejemplo para automatizar el arranque de este proceso en el inicio del ordenador :

AmazonButton_v4.0.exe [IP del botón] [Programa para iniciar] "[Comentario opcional]"

Es interesante saber que incluso se puede repetir estas llamadas según sea necesario para cualquier otro botón.

NOTA : Hay informes de que el nuevo botón JK29LP pierde su configuración de Wifi si la desasocia con su cuenta de Amazon. La "solución alternativa" actual es utilizar una cuenta ficticia de Amazon para configurar su botón con su teléfono y luego volver a iniciar sesión en su propia cuenta para que pueda seguir usando la aplicación.


Volver a la Portada de Logo Paperblog