نستخدم زر Amazon Dash لأغراضنا الخاصة



ربما تكون قد شاهدت بالفعل هذا الفيديو الترويجي عن الأزرار لطلب السلع باستخدام أمازون ، وربما كنت ترغب أيضًا في أتمتة شيء ما.

تحت القط ، حالة استخدام زر شرطة الأمازون في الحقائق الروسية وتنفيذها على 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 نقرة. على الأرجح ، يرتبط هذا القيد بالبطارية ، والتي ، إذا رغبت في ذلك ، يمكن استبدالها بشكل مستقل ، فهناك فقط بطارية بداخلها .

دعنا نبدأ


حول كيفية "الكراك" هذه الأزرار يمكن قراءة هنا هنا و هنا .
لفترة وجيزة - الاختراق الكامل في تتبع عنوان mac لزر في شبكة wi-fi باستخدام ARP sniffer.

يمكنك أيضًا إجبار جهاز التوجيه على إعادة توجيه الطلبات إلى parker-gateway-na.amazon.com إلى خادمك.

ربط زر بشبكة wifi
في تطبيق أمازون ، انتقل إلى إعدادات الحساب- > إدارة الجهاز وأضف زرًا جديدًا.

في مرحلة تحديد المنتج ، أغلق معالج الإعداد . يجدر تعطيل الإشعارات حتى لا تتلقى رسائل حول الطلبات الفاشلة.
لقطات شاشة لعملية إعداد الزر



"خادم" لزر على NodeJs
هناك سهل الاستخدام وحدة .
النقاط الرئيسية:
  • يعمل تحت لينكس ، ربما على الخشخاش (لم يتم اختباره).
  • يتطلب libpcap-dev للعمل.
  • يجب تشغيل البرنامج النصي بامتيازات المستخدم الخارق.
  • وبالطبع ، على جهاز متصل بنفس شبكة wi-fi مثل الزر .


npm install node-dash-button

إذا واجهت صعوبة في التثبيت ، فحاول تحديث npm و node-gyp
sudo 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');

// mac-    
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')
		}
	}
	// ...
};

//  
// Object.keys(buttons) -  mac-  
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 في الحجز. يمكن أن تظهر إحصاءات مثيرة للاهتمام.
    أو يمكنك التفكير في عدد المناشدات الشفوية للمساعدة لقسم تكنولوجيا المعلومات.


سأكون سعيدًا إذا شاركت في التعليقات أفكارك لاستخدام هذه الأزرار.

Source: https://habr.com/ru/post/ar388955/


All Articles