Probablemente ya haya visto este video promocional sobre botones para ordenar productos con Amazon y probablemente tambi茅n haya querido automatizar algo.Debajo del gato, el caso del uso del bot贸n amazon dash en las realidades rusas y su implementaci贸n en nodejs.Introducci贸nMientras le铆a art铆culos sobre IoT en las vacaciones de A帽o Nuevo, se me peinaron las manos y reci茅n llegu茅 para revisar el bot贸n de Amazon ordenado para la prueba, despu茅s de haber jugado lo suficiente, comenc茅 a pensar en c贸mo usarlo con al menos alg煤n beneficio.Record茅 que en Flexby a menudo olvidamos preordenar agua para el refrigerador. Parece que ves, termina, pero mientras tomas t茅 / caf茅 ya te olvidas. En consecuencia, la orden se envi贸 solo cuando no hab铆a agua en absoluto.Ahora es suficiente hacer clic en el bot贸n "Comprar agua" y la notificaci贸n en holgura lo ayudar谩 a no olvidarlo, pero fuimos un poco m谩s all谩 y escribimos un gui贸n que inmediatamente hace un pedido en el sitio de una compa帽铆a local de suministro de agua.No, el pedido no se env铆a despu茅s de cada clic., . , .
Como funciona0. El bot贸n est谩 "atado" a wi-fi de acuerdo con las instrucciones, pero no est谩 completamente configurado, el producto no est谩 especificado para que no se cree un pedido para Amazon.1. Cuando hace clic en el bot贸n:1.1 se conecta a la red wi-fi para enviar una solicitud a Amazon.1.2 El pedido no se forma porque El proceso de configuraci贸n del comportamiento del bot贸n no se ha completado.2. El script, en un servidor local conectado a la misma red wi-fi, monitorea la apariencia de la direcci贸n mac del bot贸n y concluye que fue presionado.2.1 Se realizan las acciones que necesita.en nuestro caso, esto es enviar un pedido de agua para el enfriador y notificarlo con holguraahora sobre todo en orden.驴D贸nde conseguir los botones?Vale la pena mencionar que hayesta es una versi贸n para desarrolladores sobre c贸mo usarla, escribieron en geektimes con ella, por supuesto, es mucho m谩s f谩cil y hermoso integrar lo que quieras, pero d贸nde obtener estos botones de iot sigue siendo un misterio para m铆.Los botones para ordenar ciertos productos con Amazon se pueden comprar por $ 5 (actualmente solo los clientes con un estado privilegiado pueden comprarlos).Este bot贸n me lleg贸 en las vacaciones de A帽o Nuevo. Solo tom茅 uno para probar, ahora voy a pedir 10 m谩s.
"Amazon Elements" es aproximadamente un deslizamiento :)El dispositivo se conecta a una red wi-fi, cada vez que hace clic.El fabricante escribe que est谩 dise帽ado para ~ 1000 clics. Lo m谩s probable es que esta limitaci贸n est茅 asociada con la bater铆a, que, si se desea, se puede reemplazar de forma independiente, solo hay una bater铆a dentro .Empecemos
Acerca de c贸mo el "crack" estos botones se pueden leer aqu铆 aqu铆 y aqu铆 .Brevemente: todo el truco para rastrear la direcci贸n MAC de un bot贸n en una red wi-fi usando ARP sniffer.Tambi茅n puede forzar al enrutador a reenviar solicitudes a parker-gateway-na.amazon.com a su servidor.Enlace de un bot贸n a una red wifiEn la aplicaci贸n de Amazon, vaya a configuraci贸n de cuenta-> administraci贸n de dispositivos y agregue un nuevo bot贸n.En la etapa de selecci贸n del producto, cierre el asistente de configuraci贸n . Vale la pena deshabilitar las notificaciones para no recibir mensajes sobre pedidos fallidos.Capturas de pantalla del proceso de configuraci贸n del bot贸n "Servidor" para un bot贸n en NodeJsHay un m贸dulo f谩cil de usar .Puntos clave:- Funciona bajo Linux, posiblemente en amapolas (no probado).
- Requiere libpcap-dev para funcionar.
- El script debe ejecutarse con privilegios de superusuario.
- Y, por supuesto, en una m谩quina conectada a la misma red wi-fi que el bot贸n .
npm install node-dash-button
Si tiene dificultades para instalar, intente actualizar npm y node-gypsudo npm install -g npm
sudo npm install -g node-gyp
La direcci贸n mac del bot贸n se puede encontrar ejecutando el siguiente script:sudo node node_modules/node-dash-button/bin/findbutton
Bueno, o solo en el panel de administraci贸n del enrutador, determine el m茅todo de excepci贸n.Aqu铆 de una manera simple, haga clic en el bot贸n de captura:sniffer = require('node-dash-button');
buttons = {
'8f:3f:20:33:54:44':{
action: function(){
console.log('Press button 1')
}
},
'2e:3f:20:33:54:22': {
action: function(){
console.log('Press button 2')
}
}
};
sniffer( Object.keys(buttons) ).on("detected", function (catched_mac){
console.log(' mac-: '+catched_mac+'\n');
buttons[catched_mac].action();
});
Es decir Decimos qu茅 direcciones mac necesitamos cuando se iluminan. Llamamos a la funci贸n que necesitamos.Como ejemplo, a煤n puede ver las fuentes de nuestro script para ordenar agua .UPD : Un par de ideas para usar.De todos modos, el caso principal, como se muestra en el comercial, es un recordatorio sobre la necesidad de reponer las reservas de alg煤n recurso.En la oficina :- El bot贸n "Comprar papel", al lado de la impresora o el lugar donde se almacena el papel de impresi贸n, env铆a un correo electr贸nico a la persona a cargo o hace un pedido de inmediato.
- "Se acaban las cookies" - env铆e un correo electr贸nico a quien debe reponerlas.
En casa :- "Compre papel higi茅nico", envi谩ndose recordatorios a usted mismo, correo electr贸nico / tarea en wunderlist.
Quiz谩s este es el 煤nico recurso cr铆tico :) El resto, por analog铆a, es f谩cil de pensar dependiendo de sus necesidades, pueden ser pa帽ales, pasta de dientes, tabletas para lavavajillas, detergente, etc.
Por cierto, no encontr茅 ninguna aplicaci贸n para la lista de compras con la API.Algunas opciones no est谩ndar :- Timbre de la puerta.
Para que, por ejemplo, una llamada no perturbe el sue帽o del ni帽o, perm铆tale que env铆e una notificaci贸n en silencio al tel茅fono. En otras ocasiones, dicha llamada puede incluir cualquier melod铆a, de nuevo ser谩 posible ajustar el volumen. - Contador de algo. El bot贸n se puede usar como un llavero y si cuenta algo que necesita en el 谩rea de cobertura de su red wifi, es perfecto para esto.
Por ejemplo, de 7:00 a 9:00 contamos el n煤mero de asociados que vinieron antes. De 9:00 a 13:00 tarde. De 13:00 a 15:00 detenidos a la hora del almuerzo, de 15:00 a 18:00 partieron temprano, de 18:00 a 21:00 detenidos en el trabajo. Pueden salir estad铆sticas interesantes.
O puede considerar la cantidad de apelaciones orales de ayuda al departamento de TI.
Me gustar铆a que compartiera en los comentarios sus ideas para usar estos botones.