[PROYECTO] Hack Amazon Dash: el botón que ejecuta lo que tú quieras (IoT) [v1.2.0]

Imagen


Buenas a todos.

Para quien no lo conozca, Amazon Dash es un botón WiFi que vende Amazon por 5€ para comprar ciertos producto de uso común. Esos 5€ se reintegran al comprar con dicho botón, por lo que sale en cierta forma gratis.

Más información de Amazon Dash: https://www.amazon.es/b?ie=UTF8&node=10909716031

Dicho botón, se puede llegar a "hackear" para que haga lo que tú quieras, lo cual lo convierte en un dispositivo útil en la IoT a un precio que puede considerarse nulo, haciéndolo muy atractivo para toda serie de cosas como:
  • Ejecutar comandos en el ordenador.
  • Encender y apagar luces.
  • Hacer pedido de cosas (pizzas, etc.).
  • Ejecutar acciones remotas.
  • Crear recordatorios en agenda (comprar X producto).
  • Seguimientos (horas a las que se despierta un bebé, entradas y salidas...).
  • Y mucho más.

No obstante, cuando empecé a investigar sobre el botón lo que encontré fueron muchas cosas dispersas, algunas que sólo funcionan en el modelo que nunca nos ha llegado a España, etc. Por ello quise crear un repositorio para unificar el trabajo común y crear una plataforma para ejecutar integraciones.

El proyecto actual ya ejecuta comandos del sistema, lo cual facilita y abstrae la integración de aplicaciones externas. No obstante, sería genial poder crear entre todos un ecosistema con las diferentes opciones y soluciones que se hagan, además de mejorar la plataforma común :)

NOVEDAD v1.1.0: Soporte nativo para IFTTT, SSH y más cambios.
NOVEDAD v1.0.0: Soporte nativo para OpenHab y mucho más.
NOVEDAD v0.4.0: Soporte nativo para Home Assistant, nueva documentación y más.
NOVEDAD v0.3.0: Ahora, también puedes hacer que llame a urls (webhooks).

El proyecto en Github: https://github.com/Nekmo/amazon-dash/

Instalación:

sudo pip install amazon-dash
sudo python -m amazon_dash.install


Así pues, os agradecería si contaseis para qué os gustaría crear el botón, añadir enlaces a vuestras propias integraciones (pedir a Domino's Pizza, registro hoja cálculo) y aportar mejoras código.

¡Gracias a todos! :p
Hay APIs públicas para pedir pizzas? xD Yo es que en su día lo miré con Telepizza, pero no encontré nada...
Moki_X escribió:Hay APIs públicas para pedir pizzas? xD Yo es que en su día lo miré con Telepizza, pero no encontré nada...

Sé que para EEUU hay cosas hechas... sobre todo de Domino's Pizza. No parecen usar una API, sino que es todo Scraping. Nosotros aquí en España también podríamos hacer lo mismo, dudo que fuese complicado :)

Sobre Telepizza, también debería ser igualmente fácil. También se podría hacer sobre Just Eat, lo cual abriría todavía más opciones.
No sabia que era hackeable y encima te sale tecnicametne gratis XD
lovechii5 escribió:No sabia que era hackeable y encima te sale tecnicametne gratis XD


Pues sí xD yo ya tengo 3 justamente por eso. Imagino que en algún momento se acabará el chollo, pero justamente por eso me dedico a comprar un botón siempre que puedo.

He estado mirando de implementar una función que podría ser muy útil, pero todavía no sé cómo hacerlo. La idea sería hacer que al pulsar el botón sonase el móvil, para encontrarlo fácilmente cuando lo has perdido.

He estado mirando con Android Device Manager, pero Google no tiene API públcia. He mirado también Prey, pero tampoco tienen nada para ello. La única opción de momento es hacer algo específico para esto.
Yo por ahora no compro, aunque me tienta, basicamente porque no veo nada que me puede ser util. funciona via wifi siempre?
Me interesaría en caso de poder ponerle un sensor de sonido para dejarlo al lado del telefonillo y que me enviase una notificación a Telegram cuando alguien llama al timbre, así puedo escuchar tranquilamente música con los auriculares sin preocuparme por si viene el repartidor de amazon.
Alecs7k escribió:Me interesaría en caso de poder ponerle un sensor de sonido para dejarlo al lado del telefonillo y que me enviase una notificación a Telegram cuando alguien llama al timbre, así puedo escuchar tranquilamente música con los auriculares sin preocuparme por si viene el repartidor de amazon.

Hay gente que le ha hecho cosas ya, pero ponerle un micrófono creo que no es una de ellas. Además, el botón sólo trae una pila para su alimentación, lo cual tiene sentido porque por defecto está siempre apagado, y es cuando se pulsa que se enciende sólo por unos segundos para comunicar que se ha pulsado. Así pues, tendrías que cambiar también la alimentación (cosa que tampoco es complicada, pero supone un gasto extra).

Lo que comentas del telefonillo, sería más fácil hacerlo con un relé en el propio telefonillo (y además sería más fiable), siempre que sea analógico. Me gustaría poder hacer eso mismo con el telefonillo pronto, así que ya contaré :) Y si averiguas algo por tu cuenta al respecto, avisa también [oki]
capitanquartz escribió:Hay gente que le ha hecho cosas ya, pero ponerle un micrófono creo que no es una de ellas. Además, el botón sólo trae una pila para su alimentación, lo cual tiene sentido porque por defecto está siempre apagado, y es cuando se pulsa que se enciende sólo por unos segundos para comunicar que se ha pulsado. Así pues, tendrías que cambiar también la alimentación (cosa que tampoco es complicada, pero supone un gasto extra).

Lo que comentas del telefonillo, sería más fácil hacerlo con un relé en el propio telefonillo (y además sería más fiable), siempre que sea analógico. Me gustaría poder hacer eso mismo con el telefonillo pronto, así que ya contaré :) Y si averiguas algo por tu cuenta al respecto, avisa también [oki]


Demasiado jaleo entonces.

Cuando tenga tiempo igual miro otra alternativa, pero que funcione con sensor de sonido. Lo quiero portable y sin necesidad de tocar el telefonillo.
Para el telefonillo mejor un ESP8266, el Wemos D1 mismamente, con un bot de telegram. Sale por unos 3-4€
La verdad que el cacharro tiene varias posibilidades. Voy a ver si me puedo pedir unos cuantos para investigar. [sonrisa]
Uhm.

Como metodo 2FA podría venir de puta madre, entre otras cosas.
Como aún está verde propongo hacer una lluvia de ideas sobre posibles usos (y luego si uno está chulo ya se ve si es factible o no).

Por ejemplo: llave electronica. Tienes un cerrojo electrónico al otro lado de la puerta, y solo se abre pulsando ese botoncete. Pros: no se ve cerradura al otro lado. Contras: electricidad, y wifi disponible y alcanzable desde el otro lado de la puerta.


Más ideas, aunque suenen locas!
think escribió:Uhm.

Como metodo 2FA podría venir de puta madre, entre otras cosas.


Me encanta la idea. Tambien se podría utilizar con Latch, de Chema Alonso.

Se me ocurre: como "llavero de claves digitales" (si no está el aparato en la red y tiene estas claves no se desencripta disco), sensor de paso wifi (alarma, carreras de scalextric, control de circuitos de trenes ...), encender equipos por wake-on-lan, "boton del panico informatico" (tipo USBkiller o para apagarlos todos de golpe), boton de emergencias (hacer que el movil haga una llamada al 112 poniendo el manos libres)....
Basicamente cualquier accion desencadenada por entrar en un web o mandar un comando SSH.
Una libreria para usarlo con Arduino no estaría nada mal.

No se si se le pueden programar dos o mas acciones al pulsar varias veces seguidas, lo que daría mas juego al aparato, ni que cantidad de memoria ni nada. Pero el "receptor" podría variar su respuesta segun el número de pulsaciones.

La verdad es que le veo un mundo de posibilidades.
Esog Enaug escribió:
think escribió:Uhm.

Como metodo 2FA podría venir de puta madre, entre otras cosas.


Me encanta la idea. Tambien se podría utilizar con Latch, de Chema Alonso.

Se me ocurre: como "llavero de claves digitales" (si no está el aparato en la red y tiene estas claves no se desencripta disco), sensor de paso wifi (alarma, carreras de scalextric, control de circuitos de trenes ...), encender equipos por wake-on-lan, "boton del panico informatico" (tipo USBkiller o para apagarlos todos de golpe), boton de emergencias (hacer que el movil haga una llamada al 112 poniendo el manos libres)....
Basicamente cualquier accion desencadenada por entrar en un web o mandar un comando SSH.
Una libreria para usarlo con Arduino no estaría nada mal.

No se si se le pueden programar dos o mas acciones al pulsar varias veces seguidas, lo que daría mas juego al aparato, ni que cantidad de memoria ni nada. Pero el "receptor" podría variar su respuesta segun el número de pulsaciones.

La verdad es que le veo un mundo de posibilidades.


abrir/cerrar puertas, en vez de usar un rfid, tirar del boton. mas comodo para enanos :)

https://www.youtube.com/watch?v=8J0Lvq1N6_s
Me encanta este hilo (creo que no hay mucha info en castellano). Contad conmigo para todo lo que pueda.
Saludos.
Gracias por vuestras sugerencias y comentarios a todos :D

Lo que comenta @exitfor de la llave electrónica suena interesante, aunque lamentablemente no tengo ningún cerrojo de ese tipo para probad. Aun así lo tengo en cuenta, gracias ;-)

Esog Enaug escribió:
think escribió:Uhm.

Como metodo 2FA podría venir de puta madre, entre otras cosas.


Me encanta la idea. Tambien se podría utilizar con Latch, de Chema Alonso.

Se me ocurre: como "llavero de claves digitales" (si no está el aparato en la red y tiene estas claves no se desencripta disco), sensor de paso wifi (alarma, carreras de scalextric, control de circuitos de trenes ...), encender equipos por wake-on-lan, "boton del panico informatico" (tipo USBkiller o para apagarlos todos de golpe), boton de emergencias (hacer que el movil haga una llamada al 112 poniendo el manos libres)....
Basicamente cualquier accion desencadenada por entrar en un web o mandar un comando SSH.
Una libreria para usarlo con Arduino no estaría nada mal.

No se si se le pueden programar dos o mas acciones al pulsar varias veces seguidas, lo que daría mas juego al aparato, ni que cantidad de memoria ni nada. Pero el "receptor" podría variar su respuesta segun el número de pulsaciones.

La verdad es que le veo un mundo de posibilidades.


Lo del wake-on-lan es muy factible; lo había pensado y seguramente se acabe implementando un ejemplo :) Gracias por la sugerencia.

Lo del botón panic también me parece muy buena idea. Intentaré hacer un ejemplo de cómo hacerlo.

Lo de llamar a emergencias parece algo más complicado. Pero si se pide, o si alguien se anima a hacerlo, estaría genial [oki]

Sobre lo de "múltiples pulsaciones", al menos de forma sencilla, no es posible hacerlo de momento. El método utilizado en este proyecto lo que hace es detectar el evento de "conexión a la red" del botón, por lo que no es capaz de reconocer el número de pulsaciones, ni cambiar los colores del led del botón. Hay quienes han hecho avances en ese aspecto modificando el botón físicamente, pero es algo de lío, y muchos no querrán hacer algo tan complicado.

trigui escribió:Me encanta este hilo (creo que no hay mucha info en castellano). Contad conmigo para todo lo que pueda.
Saludos.

Gracias [oki]

------------------------
Avisaros que la versión 0.2.0 del proyecto está en desarrollo y saldrá durante los próximos días. Esta nueva versión se centrará en la seguridad. Por ejemplo ahora comprobaré los permisos del archivo de configuración para asegurarme que no tiene permisos de escritura por usuarios no deseados.

Además, haré un ejemplo de uso extra: reproducir un capítulo aleatorio de una serie. En un principio soportaría Chromecast y reproductor de vídeo nativo. Por ejemplo, pulsando un botón, podría ponerse un capítulo de los Simpsons/Futurama/Loquesea aleatorio, y con cada pulsación cambiaría de capítulo.
capitanquartz escribió:
Sobre lo de "múltiples pulsaciones", al menos de forma sencilla, no es posible hacerlo de momento. El método utilizado en este proyecto lo que hace es detectar el evento de "conexión a la red" del botón, por lo que no es capaz de reconocer el número de pulsaciones, ni cambiar los colores del led del botón. Hay quienes han hecho avances en ese aspecto modificando el botón físicamente, pero es algo de lío, y muchos no querrán hacer algo tan complicado.


No me refería a eso exactamente. Me refiero a implementarlo en el servidor: el servidor detecta que se ha conectado, si en vez de eso pilla el numero de veces que se conecta, ya tienes la multipulsacion. Quizas así se pueda hasta diferenciar pulsaciones cortas y largas, pero depende de como funcione exactamente el aparato.
@Esog Enaug el problema es que el botón no se conecta a la red y luego se desconecta inmediatamente. Tarda como mínimo unos 5-8 segundos antes de poder volver a hacer una nueva pulsación para que se registre. Y claro, no es cuestión de tener a la persona esperando ese tiempo para pulsarlo otra vez... xD

---------

He desmontado uno de los botones que tengo, y puedo afirmar que es IMPOSIBLE desmontarlo sin romper la carcasa que lo contiene. La carcasa, hecha en plástico, se encuentra unida mediante fundición, y no hay forma de desmontarla de una forma sencilla. Es necesario utilizar herramientas para separar la cubierta del resto del cuerpo. En mi caso, he utilizado un soldador.

Este es el interior:
Imagen

Imagen

Imagen

En la derecha, TMF27 y TMF32, se encuentran los 2 puntos que activan el botón. El segundo, TMF32, corresponde al del polo de la pila, por lo que en vez de soldar, se puede unir directamente a la pila, o en otros puntos que hay en la placa, donde también hay dicha corriente. El primero, TMF27, es algo más complicado. Soldar directamente es algo difícil, pero se puede soldar igualmente en la plaquita de la derecha, por el lado izquierdo (el componente S1, por su lado izquierdo) y cumple el mismo cometido.

Todas estas imágenes corresponden al modelo JK29LP, que es la segunda generación de los botones Amazon Dash. El primer modelo, del cual hay más documentación, podía desmontarse mediante tornillos, era más fácil de modificar, y de detectar en la red. Ese modelo no parece haber llegado a España y no creo que llegue nunca, al ser seguramente una generación ya obsoleta.


---------

Estoy intentando usar esto para un telefonillo de 5 cables analógico, pero no lo estoy consiguiendo creo que por culpa del relé. Mi intención es detectar el evento de cuando pulsa el timbre para que se pulse el Amazon Dash (esa parte está resuelta) y recibir una notificación.

Según creo el relé que necesito es de entrada AC, y los que tengo son de DC. Con el relé necesito que al sonar el timbre, se active el relé, y con ello se cierre el circuito que activa el Amazon Dash. Según he leído, los relés de DC no sirven porque al tener corriente alterna, está siempre oscilando, y meten ruido al relé haciendo que o nunca se active o esté siempre oscilando por culpa de la corriente.

Si alguien tiene más información al respecto se lo agradecería. Según he leído, la corriente es de 12V AC, pero debo confirmarlo.
¡Ya está la versión 0.2.0 del proyecto de Amazon Dash!

https://github.com/Nekmo/amazon-dash

Esta nueva versión incluye más seguridad en la ejecución, y uso de intérprete para la ejecución de comandos (eso significa, que puede usarse sintaxis de Bash, por ejemplo).

Además ya está el primer proyecto de ejemplo: random episode.

https://github.com/Nekmo/random-episode

Imagen


Por favor, ¡seguid proponiendo ideas! :D :D :D
Una pena que requiera tener un PC encendido, si no se me hubiese roto la Rpi puede que pidiese uno. El único uso interesante que se me ocurre para este cacharrin seria utilizarlo como mando a distancia para encender algun PC con WOL, y si ya comprueba con un ping si esta encendido y si lo esta lo apaga por ssh ya seria la leche xD.
No esta relacionado directamente con Amazon Dash, pero a modo de off-topic creo que es una lectura interesante sobre lo que ha estado haciendo nuestro "amigo" Mark durante 2016:
https://m.facebook.com/notes/mark-zucke ... 273888091/

Un saludo ;)
Jaime_L escribió:Una pena que requiera tener un PC encendido, si no se me hubiese roto la Rpi puede que pidiese uno. El único uso interesante que se me ocurre para este cacharrin seria utilizarlo como mando a distancia para encender algun PC con WOL, y si ya comprueba con un ping si esta encendido y si lo esta lo apaga por ssh ya seria la leche xD.

Yo hago algo parecido pero con el NAS. Cuando se enciende el PC, tengo un servicio que por WoL enciende el NAS. Y cuando se apaga el PC, se apaga el NAS :)

Newton escribió:No esta relacionado directamente con Amazon Dash, pero a modo de off-topic creo que es una lectura interesante sobre lo que ha estado haciendo nuestro "amigo" Mark durante 2016:
https://m.facebook.com/notes/mark-zucke ... 273888091/

Un saludo ;)

Me encantan esas cosas de domótica. xD

Tengo intención de sacar una nueva versión de Amazon Dash, por lo que os agradecería nuevas ideas :)
Información respecto a Amazon Dash del congreso #33c3 que no tiene desperdicio:
https://www.youtube.com/watch?v=7he02D7Wqgk

Un saludo ;)
el tema es que no modificas nada del dash, si no que interceptas las peticiones no? (o lo he entendido mal)

Lo quería usar para que hiciese una petición http para tener en el otro extremo lo que se me ocurra
Newton escribió:Información respecto a Amazon Dash del congreso #33c3 que no tiene desperdicio:
https://www.youtube.com/watch?v=7he02D7Wqgk

Un saludo ;)

Tengo que echarle un vistazo :)

¿Alguna cosa interesante en especial que hayas visto?

KiAn escribió:el tema es que no modificas nada del dash, si no que interceptas las peticiones no? (o lo he entendido mal)

Lo quería usar para que hiciese una petición http para tener en el otro extremo lo que se me ocurra

Sí, intercepta la petición, sin necesidad de hacer ninguna modificación vía hardware. Para impedir que compre el botón, puedes o bien desconfigurarlo (no seleccionar el producto a comprar) o el mejor método posible, que es bloquearlo a nivel de router (por supuesto, necesitas un router inteligente).
metalgear escribió:Desarchivado!

Gracias!

Me parece un hilo muy interesante. "pillo sitio" :)
He pedido desarchivar el hilo para comunicar que he lanzado recientemente la versión 0.3.0 del proyecto. Entre las novedades se encuentra:

- Además de ejecutar comandos del sistema, peticiones a URLs (Webhooks).
- Tests con coverage del 96%.
- CI mediante Travis.
- Validación del archivo de configuración.
- Más mensajes de ayuda y mejorada usabilidad.
- Distinguir dispositivos de Amazon en discovery mode.
- Refactorización y limpieza de código.

A parte, estoy trabajando en nuevos ejemplos de cómo sacarle partido a los botones. Uno de estos ejemplos es Gkeep, un nuevo proyecto en desarrollo que añade tareas a notas de Google Keep, que pueden añadirse al pulsar un botón.

Un posible ejemplo, es un botón para recordar comprar leche. Lo pulsas, se añade a una nota de Google Keep, y como Google Keep puedes configurarlo para que te haga un recordatorio al estar en un lugar o en una fecha, te saltará un aviso la próxima vez que estés comprando en el supermercado.

https://github.com/Nekmo/gkeep

Un saludo, y muchas gracias a todos. :)

A cualquier cosa que necesitéis del proyecto avisad.
Pinta muy interesante. Que sepas que aquí vas a tener próximamente otro usuario. Duda: el led se quedará siempre como pedido no realizado no?
Muchas gracias :)

Sí, el led por lo general suele quedarse parpadeando en rojo unos 2 segundos, lo que significa que ha ocurrido un error.

Para confirmar que todo ha ido bien, tengo pensado añadir confirmaciones vía Telegram:
https://github.com/Nekmo/amazon-dash/issues/12

No obstante, las confirmaciones pueden ser por otra vía.

¡Un saludo!
Es buena idea lo de recibir confirmación vía Telegram.

Se me ocurre si se podría detectar por ejemplo una doble pulsación. Si llega una llamada y en menos de X milisegundos llega otra es que el usuario le ha dado dos veces y podría realizar otra acción diferente no? En la teoría debería funcionar, pero igual lleva algún sistema que impida realizar dos solicitudes tan seguidas no?
langos1989 escribió:Es buena idea lo de recibir confirmación vía Telegram.

Se me ocurre si se podría detectar por ejemplo una doble pulsación. Si llega una llamada y en menos de X milisegundos llega otra es que el usuario le ha dado dos veces y podría realizar otra acción diferente no? En la teoría debería funcionar, pero igual lleva algún sistema que impida realizar dos solicitudes tan seguidas no?

Es algo que me habría gustado poder implementar, pero es complicado sin manipular el botón vía hardware.

Lo que hago yo, y lo que hacen otros desarrolladores que he visto por Internet, es detectar cuando el botón se conecta a la red. Cuando se pulsa una vez el botón, da igual si lo vuelves a pulsar al instante, puesto que todavía está intentando conectarse. Es posible que el botón informe a los servidores de Amazon cuando se realiza una pulsación doble en vez de una simple, pero como no puede manipularse los paquetes al estar cifrados, todo el tráfico a nuestros ojos es igual.

En teoría el botón sí lo debería permitir porque la versión IoT lo permite. Pero claro, esa cuesta 20€... xD
https://aws.amazon.com/es/iotbutton/

Tampoco es demasiado factible modificarlo vía hardware si se pretender seguir usando como botón, ya que con la segunda generación el cierre se realiza fundiendo ambas mitades de la carcasa y sin tornillos.
Buenas! Ya tengo dos botones, uno ya lo he usado para gastar el bono y ahora no sé muy bien cómo realizar este paso que pones en el repo: "The solution is after ordering, deactivate the button, reconfigure it, and not choosing the product the second time.". Eso cómo es, dejando pulsado el botón 6 segundos?

Para el que le interese más información de cómo funciona el hack, este artículo lo explica bastante bien (en inglés): https://blog.cloudstitch.com/how-i-hacked-amazon-s-5-wifi-button-to-track-baby-data-794214b0bdd8
langos1989 escribió:Buenas! Ya tengo dos botones, uno ya lo he usado para gastar el bono y ahora no sé muy bien cómo realizar este paso que pones en el repo: "The solution is after ordering, deactivate the button, reconfigure it, and not choosing the product the second time.". Eso cómo es, dejando pulsado el botón 6 segundos?

Para el que le interese más información de cómo funciona el hack, este artículo lo explica bastante bien (en inglés): https://blog.cloudstitch.com/how-i-hacked-amazon-s-5-wifi-button-to-track-baby-data-794214b0bdd8

En el enlace que comentas, parece que quiere vender sus propios botones https://buttonjoy.com [triston]
@Newton pues ni me había dado cuenta. También hace un poco de publi de su startup al final, pero eso no quita que el artículo sea interesante y se detalle cómo funciona. Yo no tenía ni idea de cómo funcionaba eso de cuando se conecta a la WiFi y ahí está bien explicado.

Por si alguien duda yo no tengo nada que ver con ese artículo, no lo decía por hacer spam, simplemente lo he visto mientras investigaba y me ha parecido interesante.
langos1989 escribió:Buenas! Ya tengo dos botones, uno ya lo he usado para gastar el bono y ahora no sé muy bien cómo realizar este paso que pones en el repo: "The solution is after ordering, deactivate the button, reconfigure it, and not choosing the product the second time.". Eso cómo es, dejando pulsado el botón 6 segundos?

Para el que le interese más información de cómo funciona el hack, este artículo lo explica bastante bien (en inglés): https://blog.cloudstitch.com/how-i-hacked-amazon-s-5-wifi-button-to-track-baby-data-794214b0bdd8


La solución consiste en reconfigurar el botón (sí, dejando el botón pulsado 6 segundos), volver a conectarlo al Wi-Fi, y cuando vuelva a pedirte elegir un producto que asociar al botón, cerrar la aplicación. El botón sigue conectándose a los servidores de Amazon, pero al no tener nada asociado que comprar, no acabará realizando la acción.

Hay otras posibles soluciones en la documentación:
https://github.com/nekmo/amazon-dash#av ... the-button

Mi inglés no es muy bueno, por lo que si alguien puede explicarlo mejor, se lo agradecería. xD

Newton escribió:En el enlace que comentas, parece que quiere vender sus propios botones https://buttonjoy.com [triston]

Según entiendo el tío personaliza sus propios botones IoT de Amazon o te propone comprarlos tú directamente:
https://aws.amazon.com/es/iotbutton/

La verdad es que no sabía que ahora estuviese haciendo esto. Y personalmente me parece un poco caro 2$/mes/botón. Digamos que en tu empresa compran 5 botones para pedir más papel en sus 5 impresoras. Eso ya son 120$ al año más los botones, los cuales cuestan de por sí 20$ cada uno: un precio bastante alto teniendo en cuenta que la pila dura unos años y no puede reemplazarse.

Yo estoy usando los botones para añadir notas a Google Keep (comprar cuchillas, comprar leche...) y poner capítulos aleatorios de series. Pero claro, todo con "coste cero".
langos1989 escribió:@Newton pues ni me había dado cuenta. También hace un poco de publi de su startup al final, pero eso no quita que el artículo sea interesante y se detalle cómo funciona. Yo no tenía ni idea de cómo funcionaba eso de cuando se conecta a la WiFi y ahí está bien explicado.

Por si alguien duda yo no tengo nada que ver con ese artículo, no lo decía por hacer spam, simplemente lo he visto mientras investigaba y me ha parecido interesante.


Perdona por el tono @langos1989 puede dar a entender que critico el enlace que has puesto; para nada quería transmitir esa sensación.

Más que nada, era para saber las posibilidades que están sacando otros y valorar el proyecto de software libre que llevando a cabo @capitanquartz ;)
Estoy ya trabajando en la nueva release del proyecto (v0.4.0), y entre las novedades se encuentra:

  • Soporte nativo para enviar eventos a Home Assistant. Listo y con tests, puede ya probarse en el branch v0.4.0.
  • Paquete de AUR (Arch Linux). Estoy trabajando en ello.
  • Nueva documentación disponible en http://docs.nekmo.org/amazon-dash/ . Estoy trabajando en ello.
  • Instalación automatizada servicio Systemd.
  • Modo para probar ejecución de comandos.

Si queréis que implemente algo, avisadme :)

Un saludo.
@capitanquartz
Buenas,he visto el tema y me parece interesante creo que puede ayudar en muchas cosas,por ejemplo,se me ocurre una cosa y me gustaria saber si es posible,trabajo en una empresa de suministro industrial y se me ha ocurrido poner el boton de estos al lado de algun producto en la estanteria en el almacen para cuando quede poco stock de ese producto,le des al boton y automaticamente envie por ejemplo ¿un email?o una nota de ese articulo a un programa de compartir notas y informacion llamado trello,sería posible??

Muchas gracias de antemano.
Kiorochinagui escribió:@capitanquartz
Buenas,he visto el tema y me parece interesante creo que puede ayudar en muchas cosas,por ejemplo,se me ocurre una cosa y me gustaria saber si es posible,trabajo en una empresa de suministro industrial y se me ha ocurrido poner el boton de estos al lado de algun producto en la estanteria en el almacen para cuando quede poco stock de ese producto,le des al boton y automaticamente envie por ejemplo ¿un email?o una nota de ese articulo a un programa de compartir notas y informacion llamado trello,sería posible??

Muchas gracias de antemano.

Es perfectamente posible, siendo un uso muy similar al que tiene originalmente. Ahora bien, también hay que pensar en lo crítica que sea la tarea que se quiere realizar.

Por parte del programa, Amazon Dash puede considerarse estable y listo para un entorno de producción, pero sin garantías (licencia MIT). El problema para un entorno crítico, se encontraría en la posible pérdida de paquetes (el programa no recibe la conexión del botón) y la falta de confirmación (ya que el led del botón no representa el estado real).

Esto es así porque Amazon Dash, el programa desarrollado, no interactúa en ningún momento con los botones: el programa se limita a escuchar el tráfico de la red en la búsqueda de los paquetes que concuerdan con el patrón necesario, y activan el comando a ejecutar. Los botones, no reintentarán la conexión si falla con el programa, ni mostrarán ningún aviso en caso de que algo no vaya como debe.

Es difícil que todos los paquetes puedan perderse porque se reenvían en varias ocasiones, sobre todo si se bloquea la conexión con los servidores de Amazon vía firewall (ya que los botones reintentan conectar varias veces), pero aunque funcione el 99% de las veces, dependerá de lo crítica que sea tu tarea si puedes tolerar ese posible 1% en que falla.

Dicho esto, existen opciones para dicha confirmación: el empleado puede recibir una confirmación en su móvil o por otro medio, pero tal vez no es lo que buscas. Si tu tarea es muy crítica, tal vez debas pensar en los botones oficiales para IoT, los cuales tienen un precio bastante superior (20€ no reembolsables).
He sacado una nueva versión cargada de novedades:


Ha llevado más tiempo del esperado, pero al final la he podido sacar :)

Gracias y un saludo.
En la próxima versión de Amazon-dash, la versión 0.5.0, tendrá en la documentación una nueva categoría: comunidad.

https://github.com/Nekmo/amazon-dash/issues/35

Me gustaría conocer cómo usáis este programa y qué usos prácticos le dais. Si podéis poned imágenes XD Vuestros casos los pondré en la Wiki.

¡Saludos y gracias a todos!
Yo si quieres te lo comento aquí ya:
Lo tengo en proyecto, aún no lo he hecho, pero mis abuelos viven cerca mío y están mayores. Entonces les iba a dar uno a cada uno para que pulsen y me llegue un mensaje para llamarles yo que tengo llamadas gratis y ellos aún tienen un móvil prepago que no saben ni usar prácticamente. Se supone que es para cosas no urgentes, como la típica llamada perdida que hacíamos en tiempos. El problema? Pues que no tienen Internet y entonces no sé cuál es la mejor forma para hacerlo, si pedirle a algún vecino que me deje su wifi, una tarjeta 4G... A partir de ahí sería configurar una Raspberry en su piso y donde instalaría este software.
Se aceptan sugerencias :)
El mayor problema que se me plantea es el tema del Wifi/4G. Una posible solución es una tarjeta 4G USB. Encuentras algunas no muy caras en Aliexpress. Para la conexión entre el botón y la RPI puedes usar un dongle Wifi en la RPI.

También puedes probar con una tecnología de este tipo:
https://www.semtech.com/technology/lora

Pero personalmente no la he probado.
El problema que veo al Dash es "configurarlo", me parece un dolor de culo importante.
Ya está la versión 1.0.0 del proyecto:

  • Colores de terminal and diferentes códigos de salida en caso de error
  • Sección de confirmación en la configuración
  • Confirmaciones vía Telegram
  • Salida en ejecución para su uso en confirmaciones
  • Migración desde argparse a click
  • Soporte nativo para Openhab
  • Sección de comunidad Amazon Dash
  • Ahora el parámetro --config ha cambiado su posición

Con esta última versión, al cambiar la posición del parámetro --config, es necesario hacer cambios en la ejecución de Amazon-Dash: http://docs.nekmo.org/amazon-dash/upgrade.html

Debido al cambio, y a la estabilidad del proyecto, se ha alcanzado la versión 1.0.0 :)

lovechii5 escribió:El problema que veo al Dash es "configurarlo", me parece un dolor de culo importante.

Bueno, al menos es algo que sólo tienes que hacer una vez, y ya lo tienes para siempre :D si hay sugerencias para mejorar el proceso son bienvenidas
capitanquartz escribió:Ya está la versión 1.0.0 del proyecto:

  • Colores de terminal and diferentes códigos de salida en caso de error
  • Sección de confirmación en la configuración
  • Confirmaciones vía Telegram
  • Salida en ejecución para su uso en confirmaciones
  • Migración desde argparse a click
  • Soporte nativo para Openhab
  • Sección de comunidad Amazon Dash
  • Ahora el parámetro --config ha cambiado su posición

Con esta última versión, al cambiar la posición del parámetro --config, es necesario hacer cambios en la ejecución de Amazon-Dash: http://docs.nekmo.org/amazon-dash/upgrade.html

Debido al cambio, y a la estabilidad del proyecto, se ha alcanzado la versión 1.0.0 :)

lovechii5 escribió:El problema que veo al Dash es "configurarlo", me parece un dolor de culo importante.

Bueno, al menos es algo que sólo tienes que hacer una vez, y ya lo tienes para siempre :D si hay sugerencias para mejorar el proceso son bienvenidas

No creo que haya muchas maneras, al final se esta usando un producto que no esta pensado para esto XD

Yo hablaba desde mi posición, que había pensado algunos miniproyectos para hacer, pero me tira para atrás el tener que configurar un router solo para eso.
Se puede utilizar un Amazon Dash ya vinculado?
Es decir... No quiero que mi botón vuelvo a pedir papel higiénico y que haga lo que yo quiera!
Que idea más interesante, habia leido cosas de esto, pero no habia visto un proyecto asi, muchas gracias!
59 respuestas
1, 2