جدول المحتويات:

جرس الباب الصامت من أمازون داش: 10 خطوات (مع صور)
جرس الباب الصامت من أمازون داش: 10 خطوات (مع صور)

فيديو: جرس الباب الصامت من أمازون داش: 10 خطوات (مع صور)

فيديو: جرس الباب الصامت من أمازون داش: 10 خطوات (مع صور)
فيديو: 3000+ Common English Words with Pronunciation 2024, يوليو
Anonim
Image
Image

هل تبحث باستمرار من النافذة حتى تتمكن من اعتراض الزوار قبل أن يقرعوا جرس الباب؟ تعبت من الكلاب والطفل بالجنون في أي وقت يرن؟ لا تريد أن تنفق ثروة على حل "ذكي"؟

صنع جرس الباب الصامت أمر سهل مثل اختراق زر Amazon Dash بقيمة 5 دولارات! الشيء الآخر الوحيد الذي تحتاجه هو جهاز كمبيوتر موجود دائمًا في المنزل - على سبيل المثال ، Raspberry Pi الذي لديك جالس فيه. احصل على إشعارات نصية في أي وقت يدفع فيه شخص ما جرس الباب الجديد ويجعل المنزل بأكمله سعيدًا. (من الأفضل تلقي الإشعارات إذا كان لديك ساعة ذكية!)

لهذا المشروع سوف تحتاج:

  • زر أمازون داش
  • جهاز كمبيوتر يبقى في المنزل (مثل Raspberry Pi)

الخطوة 1: إعداد زر داش الخاص بك

إعداد زر اندفاعة الخاص بك
إعداد زر اندفاعة الخاص بك
إعداد زر اندفاعة الخاص بك
إعداد زر اندفاعة الخاص بك

يعد تجهيز زر Dash الخاص بك للقرصنة أمرًا بسيطًا جدًا - ما عليك سوى متابعة عملية إعداد Amazon بأكملها مطروحًا منها اختيار منتج.

يتطلب هذا الإعداد تطبيق Amazon ، المتوفر لنظامي التشغيل iOS و Android. بمجرد تسجيل الدخول إلى أمازون داخل التطبيق ، انتقل إلى حسابك -> أزرار وأجهزة داش -> إعداد جهاز جديد. حدد "زر داش" واتبع التعليمات حتى يُطلب منك تحديد منتج.

أغلق التطبيق. لا تلغي الإعداد ؛ لا تضغط على x - فقط أغلق التطبيق. إذا حددت منتجًا عن طريق الخطأ أو كنت تعيد تعيين زر داش قديم ، فما عليك سوى إزالة الجهاز من خلال تطبيق Amazon واتبع هذه الخطوات مرة أخرى.

إذا كنت تبحث عن تغيير شكل الزر الخاص بك ، فإن إزالة ملصق الملصق أمر سهل.

الخطوة 2: قم بتثبيت Node JS على جهازك

للعثور على (ثم استخدام) عنوان جهاز زر داش الخاص بك ، نحتاج إلى استخدام Node JS. يمكن تثبيت هذا على أي جهاز كمبيوتر - Mac أو Linux (Raspberry Pi) أو Windows.

يتوقف مشروعنا النهائي على وجود جهاز كمبيوتر متصل بالشبكة نفسها مثل زرنا الذي يقوم بتشغيل برنامج نصي Node غير متقطع ، لذا ضع ذلك في الاعتبار عند اختيار جهازك. سيكون سطح المكتب في المنزل أو Raspberry Pi مثاليًا.

اخترت استخدام Pi 3 ، لكن Pi Zero مع دونجل WiFi سيعمل أيضًا!

لتثبيت Node JS على جهاز الكمبيوتر الخاص بك ، اتبع التعليمات المناسبة:

  • فطيرة التوت
  • نظام التشغيل Mac OS
  • شبابيك

كتب Alex Horton وحدة رائعة فقط لما نحاول القيام به يسمى زر node-dash. نحتاج إلى تثبيته ، جنبًا إلى جنب مع مدير حزمة العقدة (npm) و libpcap. أدخل هذه الأوامر في سطر الأوامر:

sudo apt-get install npm

sudo apt-get install libpcap-dev npm install node-dash-button

الخطوة 3: ابحث عن عنوان الزر

ابحث عن عنوان الزر
ابحث عن عنوان الزر
ابحث عن عنوان الزر
ابحث عن عنوان الزر

لقد وجدنا طريقة بسيطة للعثور على عنوان زر اندفاعة الخاص بك.

أولاً ، اضغط باستمرار على الزر الموجود على زر اندفاعة لمدة 5 ثوانٍ حتى يبدأ مؤشر LED في الوميض الأزرق ببطء. على هاتفك ، افتح إعدادات wifi وابحث عن شبكة wifi "Amazon Configure Me". بمجرد الاتصال بهذا ، افتح متصفح الويب وانتقل إلى "https://192.168.0.1".

العنوان الذي نبحث عنه هو عنوان MAC وسيبدو مثل "ab: 64: be: 8b: ce: 82".

الخطوة 4: اختبار الزر الخاص بك

يمكنك تأكيد أنك عثرت على العنوان الصحيح عن طريق كتابة نص بسيط لطباعة رسالة في كل مرة يتم فيها الضغط على الزر.

قم بإنشاء برنامج نصي جديد داخل دليل node-dash-button.

sudo نانو button_test.js

وانسخ ما يلي والصقه في الملف:

var dash_button = يتطلب ('node-dash-button') ،

dash = dash_button ('xx: xx: xx: xx: xx: xx')، // REPLACE WITH YOUR ADDRESS exec = تتطلب ('child_process'). exec؛ dash.on ('اكتشفت'، function () {console.log ('Button pushed!')؛})؛

استبدل x في السطر الثاني بعنوان الزر الذي تم العثور عليه حديثًا. احفظ الملف باستخدام Ctl-x، y.

ابدأ النص واضغط على الزر.

sudo node button_test.js

يجب أن تشاهد "الزر مضغوط!" اطبع. الآن بعد أن أصبح بإمكاننا اكتشاف ضغطات الأزرار ، يمكننا تشغيل الإجراءات بناءً عليها!

الخطوة 5: إعداد حساب الحالة الأولي

إعداد حساب الحالة الأولي
إعداد حساب الحالة الأولي
إعداد حساب الحالة الأولي
إعداد حساب الحالة الأولي

الآن بعد أن أصبح بإمكاننا تشغيل رسالة سطر أوامر عندما نضغط على زر داش ، يمكننا تشغيل جميع أنواع الأشياء الأخرى! في هذه الحالة ، سأطلق رسالة نصية - لا نريد أن ينتظر أي شخص على الباب حتى نتحقق من بريدنا الإلكتروني.

هناك طريقتان لتشغيل إشعار نصي - خدمات مثل Twilio أو PushBullet. إحدى أسهل الطرق التي وجدتها كانت من خلال الحالة الأولية. لقد تطلب الحد الأدنى من الترميز الإضافي وزودني بعرض لوحة القيادة عندما تم الضغط على الزر الخاص بي.

انتقل إلى https://iot.app.initialstate.com وأنشئ حسابًا جديدًا.

تحتاج إلى تثبيت Initial State SDK لـ NodeJS على سطح المكتب / الكمبيوتر المحمول / Raspberry Pi. في موجه الأوامر (لا تنس إدخال SSH في Pi أولاً) ، قم بتشغيل الأمر التالي:

cd / home / pi / node_modules / node-dash-button

تثبيت sudo npm الحالة الأولية

لاختبار جهاز البث ، قم بإنشاء ملف اختبار:

نانو stream_test.js

وانسخ والصق ما يلي (موجود أيضًا هنا):

var IS = يتطلب ("الحالة الأولية") ؛

var bucket = IS.bucket ('NodeJS_SDK_Example'، 'YOUR_ACCESS_KEY_GOES_HERE') ؛ // دفع الحدث إلى الحالة الأولية bucket.push ('Demo State'، 'active') ؛ setTimeout (function () {// Push another event bucket.push ('Demo State'، 'inactive')؛}، 1000) ؛

احفظ البرنامج النصي باستخدام Ctl-x، y.

قبل أن نتمكن من تشغيل هذا البرنامج النصي ، نحتاج إلى إضافة مفتاح وصول فريد إلى السطر الثاني.

في السطر 2 ، سترى سطرًا يبدأ بـ var bucket = IS.bucket (…. ينشئ هذا السطر مجموعة بيانات جديدة باسم "NodeJS_SDK_Example" ويرتبط بحسابك. يحدث هذا الارتباط بسبب المعامل الثاني في نفس سطر. مفتاح الوصول إلى حساب الولاية الأولي الخاص بك عبارة عن سلسلة طويلة من الأحرف والأرقام. إذا انتقلت إلى حسابك الأولي في متصفح الويب الخاص بك ، فانقر فوق اسم المستخدم الخاص بك في الجزء العلوي الأيمن ، ثم انتقل إلى "إعداداتي" ، ستجد مفتاح الوصول الخاص بك هناك.

قم بتشغيل البرنامج النصي التجريبي للتأكد من أنه يمكننا إنشاء دفق بيانات إلى حساب Initial State الخاص بك. قم بتشغيل ما يلي:

العقدة stream_test.js

ارجع إلى حساب Initial State الخاص بك في متصفح الويب الخاص بك. يجب أن تظهر مجموعة بيانات جديدة تسمى "NodeJS_SDK_Example" على اليسار في رف السجل (قد تضطر إلى تحديث الصفحة). انقر فوق هذه المجموعة لعرض بيانات الاختبار.

أنت الآن جاهز لإرسال ضغطات الزر إلى الحالة الأولية!

الخطوة 6: الكود النهائي

الكود النهائي
الكود النهائي

لقد قمنا بالفعل بتثبيت Initial State Node SDK ، لذلك كل ما نحتاج إلى القيام به هو إضافته إلى الكود الخاص بنا!

فيما يلي نسخة معدلة من البرنامج النصي button_test.js الذي استخدمناه سابقًا:

var dash_button = يتطلب ('node-dash-button') ،

dash = dash_button ('xx: xx: xx: xx: xx: xx')، // استبدال مع عنوانك exec = تتطلب ('child_process'). exec؛ var IS = يتطلب ("الحالة الأولية") ؛ var bucket = IS.bucket ('Doorbell'، 'YOUR_ACCESS_KEY') ؛ dash.on ('مكتشف'، function () {console.log ('Button pushed!')؛ bucket.push ('Front Door'، 'Someone is Here!')؛})؛

انسخ هذا البرنامج النصي والصقه في ملف جديد (لا يزال داخل دليل node-dash-button):

sudo نانو جرس الباب. js

ستلاحظ أنه في السطرين 5 و 6 نقوم بتضمين وحدة الحالة الأولية وتقديم معلمات الجرافة الخاصة بنا. تحتاج إلى وضع مفتاح الوصول الفريد الخاص بك من قبل في السطر 6.

السطر 10 هو المكان الذي نرسل فيه البيانات بالفعل إلى الحالة الأولية. في هذه الحالة ، أطلقت اسم "جرس الباب" على الدلو الخاص بي وأنا أقوم ببث "شخص ما هنا!" عند بابي الأمامي. إذا كان لديك العديد من أزرار داش ، فيمكنك إرسالها جميعًا إلى "جرس الباب" في الجرافة ، ولكن قم بتسميتها وفقًا لموقعها (مثل "باب المرآب" و "غرفة النوم" وما إلى ذلك).

احفظ البرنامج النصي باستخدام Ctl-x، y.

لاختبار البرنامج النصي الخاص بك ، قم بتشغيل:

sudo node doorbell.js.

عندما تضغط على الزر الخاص بك ، يجب أن تكون قادرًا على الانتقال إلى صفحة الحالة الأولية الخاصة بك ورؤية دلو جديد يسمى "جرس الباب" في الشريط الجانبي. الآن دعنا نضيف مشغل!

الخطوة 7: ضبط مشغل الرسائل القصيرة

ضبط مشغل الرسائل القصيرة
ضبط مشغل الرسائل القصيرة

"المشغلات" هي إصدار إشعارات الحالة الأولية ومن السهل جدًا إضافتها. فقط انقر فوق "إعدادات" أسفل دلو جرس الباب ، ثم انقر فوق علامة التبويب "المشغلات".

يمكنك تحديد الإشارة التي تريد تشغيلها من القائمة المنسدلة. دلو لدينا لديه واحد فقط - "الباب الأمامي" - لذا اختر ذلك. ثم اختر خيار "التطابق" وأضف الرسالة التي تبثها عند الضغط على الزر - في هذه الحالة "شخص ما هنا!"

أخيرًا ، أضف رقم هاتفك لتلقي رسائل SMS. ستحتاج إلى إدخال رمز التحقق الذي تم إرساله إلى هاتفك في المرة الأولى التي تستخدم فيها هذا الرقم.

تأكد من الضغط على علامة "+" بجوار رقم هاتفك وإلا فلن يتم إنشاء المشغل.

انقر على "تم" أسفل علامة التبويب "المشغلات" لحفظ المشغل.

أنت الآن جاهز لتلقي التنبيهات النصية! اضغط على الزر (أثناء تشغيل النص البرمجي لجرس الباب). يجب أن تحصل على رسالة نصية في غضون 8 ثوانٍ أو أقل!

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

الخطوة 8: تخصيص لوحة القيادة الخاصة بك

إضفاء الطابع الشخصي على لوحة القيادة الخاصة بك
إضفاء الطابع الشخصي على لوحة القيادة الخاصة بك
إضفاء الطابع الشخصي على لوحة القيادة الخاصة بك
إضفاء الطابع الشخصي على لوحة القيادة الخاصة بك

إذا كنت تريد أن تتخيل لوحة معلومات الحالة الأولية ، فإن إضافة الرموز التعبيرية أو تغيير الأسماء بالكامل أمر بسيط للغاية.

لتغيير اسم المربع ، ما عليك سوى النقر بزر الماوس الأيمن فوق المربع وتحديد "تحرير المربع". داخل مربع العنوان الذي يظهر ، يمكنك وضع الاختصار لأي رمز تعبيري. سيؤدي النقر فوق "x" أعلى نافذة التكوين إلى حفظ التغييرات.

يمكنك أيضًا القيام بذلك باسم الحاوية الخاصة بك عن طريق النقر فوق "الإعدادات" أسفل اسم المستودع ثم تحرير حقل الاسم.

يمكنك إضافة صورة خلفية إلى لوحة المعلومات لإضفاء المزيد من الشخصية والسياق على بياناتك.

الخطوة 9: بدء البرنامج النصي من التمهيد

البرنامج النصي الذي تقوم بتشغيله على جهاز الكمبيوتر المنزلي أو Pi هو مفتاح جرس الباب الصامت. إذا حدث شيء مثل انقطاع التيار الكهربائي ، فنحن نريد التأكد من عودة البرنامج النصي وتشغيله.

على جهاز Mac ، سنستخدم خدمة تسمى crontab ومحرر النصوص nano:

محرر env = nano crontab -e

أضف داخل الملف:

reboot nohup sudo node / المستخدمون / اسم المستخدم / node_modules/node-dash-button/doorbell.js &

تأكد من استبدال "UserName" باسمك. إذا قمت بتسمية البرنامج النصي الخاص بك بشيء آخر أو وضعه في دليل مختلف ، فاستبدل /Users/UserName/node_modules/node-dash-button/doorbell.js بالمسار الصحيح. المسار في المثال الخاص بي هو دليل المستخدم الرئيسي متبوعًا بدليل node_modules / node-dash-button. يمكنك بسهولة نسخ اسم مسار الملف باتباع هذه التعليمات.

احفظ الملف باستخدام Ctl-x، y. يمكنك اختبار ما إذا كان يعمل عن طريق إعادة تشغيل جهاز الكمبيوتر الخاص بك.

في نظام التشغيل Windows ، اتبع الإرشادات الواردة هنا لبدء برنامج نصي العقدة عند إعادة التشغيل. تأكد من تحديد مسار البرنامج النصي بالكامل.

على جهاز Raspberry Pi / Linux يعد تشغيل برنامج نصي من التمهيد على Pi أمرًا بسيطًا جدًا. سنستخدم خدمة تسمى crontab:

sudo crontab -e

اختر محرر النصوص المفضل لديك (أحب nano) وفي الجزء السفلي من الملف (تحت جميع التعليقات) ، أضف:

reboot nohup sudo node /home/pi/node_modules/node-dash-button/doorbell.js &

إذا قمت بتسمية البرنامج النصي الخاص بك بشيء آخر أو وضعه في دليل مختلف ، فاستبدل /home/pi/node_modules/node-dash-button/doorbell.js بالمسار الصحيح. المسار في المثال الخاص بي هو دليل Pi الرئيسي متبوعًا بدليل node_modules / node-dash-button.

حفظ الملف! تحتاج إلى إعادة التشغيل حتى تصبح نافذة المفعول ، ولكن إذا كنت تريد أيضًا إعادة التشغيل في حالة انقطاع الاتصال بالإنترنت ، فسنضيف مهمة أخرى إلى crontab في هذه الخطوة التالية.

للتعامل مع قطرات الشبكة ، قررت فقط تنفيذ طريقة لـ Pi لاكتشاف اتصال الشبكة وإعادة التشغيل إذا لم يكن موجودًا.

نحتاج أولاً إلى إنشاء برنامج نصي للتحقق من شبكة WiFi ثم تشغيل إيقاف التشغيل:

قرص مضغوط

sudo nano /usr/local/bin/checkwifi.sh

ضع ما يلي داخل الملف ، وتأكد من استبدال عنوان IP بعنوان IP لجهاز التوجيه الخاص بك:

ping -c4 IP_ADDRESS> / dev / null

إذا [$؟ ! = 0] ثم sudo / sbin / shutdown -r الآن fi

يتحقق برنامج ping من وجود اتصال. إذا عاد مع رمز خروج غير صفري ، يرسل البرنامج النصي أمر إيقاف التشغيل. احفظ واخرج من البرنامج النصي. تأكد الآن من ترتيب أذوناته:

sudo chmod 775 /usr/local/bin/checkwifi.sh

تمامًا مثل نص جرس الباب الخاص بنا ، سنضيف هذا البرنامج النصي إلى crontab:

sudo crontab -e

مكان

* / 5 * * * * / usr / bin / sudo -H /usr/local/bin/checkwifi.sh >> / dev / null 2> & 1

تحت السطر الذي أضفناه سابقًا. سيؤدي هذا إلى تشغيل برنامج checkwifi الخاص بنا كل 5 دقائق. الآن اخرج من crontab وأعد تشغيل Pi:

sudo إعادة التشغيل

يجب أن يتم الإعداد والعمل! يمكنك أيضًا إعداد طريقة لمراقبة العمليات الجارية على Pi باتباع هذا البرنامج التعليمي.

الخطوة 10: الخاتمة

استنتاج
استنتاج

لديك الآن جرس باب صامت لمنع رجال التوصيل من أمازون من إيقاظك! يُرجى إعلامي إذا كان لديك أي أسئلة أو توصلت إلى أي تعديلات فريدة.

موصى به: