 ربما تكون قد شاهدت بالفعل هذا الفيديو الترويجي عن الأزرار لطلب السلع باستخدام أمازون ، وربما كنت ترغب أيضًا في أتمتة شيء ما.تحت القط ، حالة استخدام زر شرطة الأمازون في الحقائق الروسية وتنفيذها على nodejs.مقدمةأثناء قراءة مقالات حول إنترنت الأشياء في عطلة رأس السنة الجديدة ، تم تمشيط يدي لأتمتة شيء ما ، ووصل زر أمازون المطلوب للاختبار للتو ، بعد اللعب به ، بدأت أفكر في كيفية استخدامه مع بعض الفوائد على الأقل.تذكرت أننا في Flexby غالبًا ما ننسى طلب الماء مسبقًا للمبرد. يبدو أنك ترى - ينتهي ، ولكن بينما تشرب الشاي / القهوة تنسى بالفعل. وبناءً على ذلك ، تم إرسال الطلب فقط عندما لا يكون هناك ماء على الإطلاق.الآن يكفي النقر على زر "شراء المياه" وسيساعدك الإشعار في الركود على عدم نسيانه ، ولكننا ذهبنا إلى أبعد من ذلك قليلاً وكتبنا نصًا برمجيًا يضع طلبًا على الفور على موقع شركة توصيل مياه محلية.
ربما تكون قد شاهدت بالفعل هذا الفيديو الترويجي عن الأزرار لطلب السلع باستخدام أمازون ، وربما كنت ترغب أيضًا في أتمتة شيء ما.تحت القط ، حالة استخدام زر شرطة الأمازون في الحقائق الروسية وتنفيذها على nodejs.مقدمةأثناء قراءة مقالات حول إنترنت الأشياء في عطلة رأس السنة الجديدة ، تم تمشيط يدي لأتمتة شيء ما ، ووصل زر أمازون المطلوب للاختبار للتو ، بعد اللعب به ، بدأت أفكر في كيفية استخدامه مع بعض الفوائد على الأقل.تذكرت أننا في Flexby غالبًا ما ننسى طلب الماء مسبقًا للمبرد. يبدو أنك ترى - ينتهي ، ولكن بينما تشرب الشاي / القهوة تنسى بالفعل. وبناءً على ذلك ، تم إرسال الطلب فقط عندما لا يكون هناك ماء على الإطلاق.الآن يكفي النقر على زر "شراء المياه" وسيساعدك الإشعار في الركود على عدم نسيانه ، ولكننا ذهبنا إلى أبعد من ذلك قليلاً وكتبنا نصًا برمجيًا يضع طلبًا على الفور على موقع شركة توصيل مياه محلية.لا ، لا يتم إرسال الطلب بعد كل نقرة, . , .
 كيف يعمل؟0. الزر "مرتبط" بشبكة wi-fi وفقًا للتعليمات ولكن لم يتم تكوينه بالكامل ، لم يتم تحديد المنتج بحيث لا يتم إنشاء طلب للأمازون.1. عند النقر على الزر:1.1 يتصل بشبكة wi-fi لإرسال طلب إلى أمازون.1.2 لم يتم تشكيل النظام ل لم تكتمل عملية ضبط سلوك الزر.2. يقوم البرنامج النصي ، الموجود على خادم محلي متصل بنفس شبكة wi-fi ، بمراقبة مظهر عنوان mac الخاص بالزر ويخلص إلى أنه تم الضغط عليه.2.1 يتم تنفيذ الإجراءات التي تحتاج إليها.في حالتنا ، هذا يرسل طلبًا للمياه إلى المبرد ويخطر به في الركودالآن عن كل شيء بالترتيب.من أين تحصل على الأزرار؟ومن الجدير بالذكر أن هناكهذه نسخة للمطورين حول استخدامها ، لقد كتبوا على geektimes معها ، بالطبع ، من الأسهل والأكثر جمالا دمج كل ما تريد ، ولكن أين يبقى الحصول على هذه الأزرار الغامضة بالنسبة لي.يمكن شراء أزرار لطلب سلع معينة مع أمازون مقابل 5 دولارات (في الوقت الحالي يمكن فقط للعملاء ذوي الوضع الأساسي شرائها).جاءني هذا الزر في عطلة رأس السنة الجديدة. لقد أخذت اختبارًا واحدًا فقط ، والآن سأطلب 10 أخرى. "Amazon Elements" عبارة عن تمريرة سريعة تقريبًا :)يتصل الجهاز بشبكة wi-fi ، في كل مرة تنقر فيها.يكتب المصنع أنه تم تصميمه لـ ~ 1000 نقرة. على الأرجح ، يرتبط هذا القيد بالبطارية ، والتي ، إذا رغبت في ذلك ، يمكن استبدالها بشكل مستقل ، فهناك فقط بطارية بداخلها .
"Amazon Elements" عبارة عن تمريرة سريعة تقريبًا :)يتصل الجهاز بشبكة wi-fi ، في كل مرة تنقر فيها.يكتب المصنع أنه تم تصميمه لـ ~ 1000 نقرة. على الأرجح ، يرتبط هذا القيد بالبطارية ، والتي ، إذا رغبت في ذلك ، يمكن استبدالها بشكل مستقل ، فهناك فقط بطارية بداخلها .دعنا نبدأ
حول كيفية "الكراك" هذه الأزرار يمكن قراءة هنا هنا و هنا .لفترة وجيزة - الاختراق الكامل في تتبع عنوان mac لزر في شبكة wi-fi باستخدام ARP sniffer.يمكنك أيضًا إجبار جهاز التوجيه على إعادة توجيه الطلبات إلى parker-gateway-na.amazon.com إلى خادمك.ربط زر بشبكة wifiفي تطبيق أمازون ، انتقل إلى إعدادات الحساب- > إدارة الجهاز وأضف زرًا جديدًا.في مرحلة تحديد المنتج ، أغلق معالج الإعداد . يجدر تعطيل الإشعارات حتى لا تتلقى رسائل حول الطلبات الفاشلة.لقطات شاشة لعملية إعداد الزر "خادم" لزر على NodeJsهناك سهل الاستخدام وحدة .النقاط الرئيسية:- يعمل تحت لينكس ، ربما على الخشخاش (لم يتم اختباره).
- يتطلب libpcap-dev للعمل.
- يجب تشغيل البرنامج النصي بامتيازات المستخدم الخارق.
- وبالطبع ، على جهاز متصل بنفس شبكة wi-fi مثل الزر .
npm install node-dash-button
إذا واجهت صعوبة في التثبيت ، فحاول تحديث npm و node-gypsudo npm install -g npm
sudo npm install -g node-gyp
يمكن العثور على عنوان mac الخاص بالزر عن طريق تشغيل البرنامج النصي التالي:sudo node node_modules/node-dash-button/bin/findbutton 
حسنًا ، أو فقط في لوحة المشرف الخاصة بالموجه ، حدد طريقة الاستثناء.هنا بطريقة بسيطة النقرات زر التقاط: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(); 
});
على سبيل المثال نقول ما هي عناوين mac التي نحتاجها عندما تضيء - نسمي الوظيفة التي نحتاجها.كمثال ، لا يزال بإمكانك رؤية مصادر نصنا لطلب المياه .محدث : فكرتان للاستخدام.على الرغم من ذلك ، فإن الحالة الرئيسية ، كما هو موضح في الإعلان التجاري ، هي تذكير لنفسك بالحاجة إلى تجديد احتياطيات بعض الموارد.في المكتب :- يرسل زر "شراء ورق" ، بجوار الطابعة أو المكان الذي يتم تخزين ورق الطباعة فيه ، بريدًا إلكترونيًا إلى الشخص المسؤول أو اطلب فورًا.
- "نفدت ملفات تعريف الارتباط" - إرسال بريد إلكتروني إلى الشخص الذي يجب تجديده.
في المنزل :- "شراء ورق التواليت" ، وإرسال تذكير لنفسك ، والبريد الإلكتروني / المهمة على wunderlist.
 ربما يكون هذا هو المورد الحاسم الوحيد :) والباقي ، عن طريق القياس ، من السهل التفكير فيه اعتمادًا على احتياجاتك ، يمكن أن يكون حفاضات ، معجون أسنان ، أقراص لغسالة صحون ، مسحوق غسيل ، إلخ.
 
بالمناسبة ، لم أجد أي تطبيقات لقائمة التسوق مع واجهة برمجة التطبيقات.بعض الخيارات غير القياسية :- جرس الباب.
 لذا ، على سبيل المثال ، لا تزعج مكالمة نوم الطفل ، دعه يرسل إشعارًا بهدوء إلى الهاتف. في أوقات أخرى ، قد تتضمن هذه المكالمة أي لحن ، مرة أخرى سيكون من الممكن ضبط مستوى الصوت.
- مواجهة شيء ما. يمكن ارتداء الزر كسلسلة مفاتيح ، وإذا كنت تحسب شيئًا ما تحتاجه في منطقة تغطية شبكة wifi الخاصة بك ، فهو مثالي لهذا.
 على سبيل المثال ، من 7:00 إلى 9:00 ، نحسب عدد الأشخاص الذين جاءوا سابقًا. من 9:00 إلى 13:00 في وقت متأخر. من الساعة 13:00 إلى الساعة 15:00 ، محتجز على الغداء ، من الساعة 15:00 إلى الساعة 18:00 غادر في وقت مبكر ، من الساعة 18:00 إلى 21:00 في الحجز. يمكن أن تظهر إحصاءات مثيرة للاهتمام.
 أو يمكنك التفكير في عدد المناشدات الشفوية للمساعدة لقسم تكنولوجيا المعلومات.
 
سأكون سعيدًا إذا شاركت في التعليقات أفكارك لاستخدام هذه الأزرار.