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

[15 دقيقة] Weasley Clock / Who Is Home Indicator - استنادًا إلى TR-064 (تجريبي): 4 خطوات (بالصور)
[15 دقيقة] Weasley Clock / Who Is Home Indicator - استنادًا إلى TR-064 (تجريبي): 4 خطوات (بالصور)

فيديو: [15 دقيقة] Weasley Clock / Who Is Home Indicator - استنادًا إلى TR-064 (تجريبي): 4 خطوات (بالصور)

فيديو: [15 دقيقة] Weasley Clock / Who Is Home Indicator - استنادًا إلى TR-064 (تجريبي): 4 خطوات (بالصور)
فيديو: Principles of Lust (Complete) - Enigma 2024, يوليو
Anonim
Image
Image
[15 دقيقة] Weasley Clock / Who Is Home Indicator - بناءً على TR-064 (تجريبي)
[15 دقيقة] Weasley Clock / Who Is Home Indicator - بناءً على TR-064 (تجريبي)

تحديث: راجع الخطوة 3.

قصة طويلة (TL ؛ DR أدناه): منذ بعض الوقت كتبت نصًا صغيرًا bash-script على جهاز الكمبيوتر الخاص بي والذي من شأنه أن يفحص الشبكة بحثًا عن الأجهزة المسجلة ويقارن أسماء المضيفين الخاصة بهم بقائمة بالأسماء المرتبطة. في كل مرة يقوم فيها الجهاز بتسجيل الدخول أو الخروج من الشبكة ، أتلقى إشعارًا. على هذا النحو ، لدي فكرة عن من هو في المنزل (ليس من الجيد في بعض الأحيان معرفة من هو المنزل لسؤالهم عما إذا كانوا يريدون الانضمام إلى وجبة أو ما شابه ، ولكن يمكن أن يساعدك أيضًا في تجنب المواقف المحرجة). المشكلة هي أن هذه الطريقة ليست موثوقة للغاية. لسوء الحظ ، لا ترد بعض الأجهزة على الأصوات (مثل الهواتف الذكية) ويبدو أنها تدخل في وضع توفير الطاقة ، وبالتالي لا يمكن اكتشافها بشكل موثوق باستخدام أوامر مثل nmap. حاولت التغلب على هذا من خلال طلب 10 سلبيات على الأقل قبل أن أعلن أخيرًا أن الجهاز ترك الشبكة. بشكل عام ، عملت ، ولكن ببطء ، بشكل غير موثوق به وليس بشكل جيد للغاية. وأردت أيضًا أن أكون قادرًا على التحقق من من هو في المنزل ، دون فتح جهاز الكمبيوتر الخاص بي. لكنني لم أرغب في إنشاء محطة الطقس المعتمدة على 10.120.124.812th ESP أو ما شابه (لماذا تريد مراقبة الطقس باستخدام مقياس الحرارة crappy ± 2 ° C عندما يمكنك زيارة بعض مواقع الويب على أي حال؟). لذلك تم وضع الخطة. لسوء الحظ ، اتضح أن ESP يبدو غير مجهز لإجراء اختبار ping بشكل صحيح (والذي كان سيئًا في البداية ، تذكر؟) ناهيك عن إجراء فحص كامل للشبكة. لقد فكرت في كتابة بعض المكتبات لذلك - ولكن نظرًا لأن C ++ الخاص بي محدود للغاية ، فإن هذا هو أول مشروع ESP الخاص بي ولست عبقريًا مع عناصر الشبكة إما أنني ألغيت هذه الفكرة. جهاز التوجيه (العلامة التجارية Fritz! Box) يحتوي بالفعل على واجهة برمجة تطبيقات! ياي!!!! يسمى البروتوكول TR-064. هذا الاسم الملهم ، أليس كذلك؟ بعد إجراء بعض البحث في هذا الأمر ، وجدت وثائق (سيئة إلى حد ما) عبر الإنترنت. استغرق الأمر مني بعض الوقت لحلها. قد أنشر المزيد من التعليمات العملية في الأيام القادمة (وكيفية التواصل مع / اختبار واجهة برمجة التطبيقات هذه باستخدام ملحق متصفح). بمجرد أن فهمت واجهة برمجة التطبيقات ، بدأت في استخدامها من المرساب الإلكتروني الخاص بي. قصة قصيرة طويلة: حصلت على حل duck-tape و wd40 يعمل ويفعل ما أريد (الاستعلام عن واجهة برمجة التطبيقات للأجهزة المتصلة ، ومقارنتها بقائمة عناوين MAC وتبديل مصابيح LED وفقًا لذلك). حل مرن ، ولدى واجهة برمجة التطبيقات هذه الكثير لتقدمه (يمكنك تغيير الإعدادات (تشغيل / إيقاف تشغيل شبكة wifi ، وتغيير كلمة المرور ، وفتح / إغلاق شبكة wifi الضيف ، وتغيير قوة الإشارة) ، وإعادة تشغيل جهاز التوجيه ، والاستعلام عن سرعة الاتصال ، …) - لذلك قررت إنشاء مكتبة TR-064 عالمية! TL ؛ DR ؛ الجهاز الذي يشير عبر مصابيح LED الموجود حاليًا في المنزل. يعمل بشكل رائع ، ليس لديه سكن رائع حتى الآن (مهلاً - هل لاحظت الإصدار التجريبي في العنوان؟). يستخدم بروتوكول SOAP للتواصل مع جهاز التوجيه. كتب مكتبة Arduino لتحقيق ذلك. المعرفة المطلوبة • المعرفة الأساسية بـ Arduino / ESP • إذا قمت بتجميع مثال Blink باستخدام ESP الخاص بك ، فستكون بخير! • إذا لم يكن الأمر كذلك ، فيمكنك اتباع الخطوتين الأوليين من هذا التوجيه • قد كن في متناول يديك ، إذا كنت تريد ترك مرحلة اللوح • قد يكون بعض التصميم ثلاثي الأبعاد ل / أو الأعمال الخشبية مفيدًا لرابط مشروع الإسكان Github [https://github.com/Aypac/Arduino-TR-064-SOAP-Library] كمرجع سريع.

اللوازم

  • ESP8266 أو ESP32 على لوحة التطوير أو مع مبرمج آخر (2 ~ 6 €)
  • كبل USB مناسب للمبرمج
  • محول الطاقة (على سبيل المثال USB أو البطارية ~ 2 يورو)
  • عدد قليل من المصابيح والمقاومات (~ 1 €)
  • (غلاف)

=> حوالي 4-6 يورو للتصميم البسيط. هذا يعني بالنسبة لي أنه يمكنني بسهولة تعليق القليل منها حول المنزل. إذا كنت كسولًا ، فيمكنك أيضًا استخدام لوحة تطوير مزودة بمصابيح LED مضمنة (راجع الخطوة 4 لمزيد من التفاصيل).

الخطوة 1: إعداد جهاز التوجيه الخاص بك (اختياري ، لكن ينصح به)

قم بإعداد جهاز التوجيه الخاص بك (اختياري ، لكن ينصح به)
قم بإعداد جهاز التوجيه الخاص بك (اختياري ، لكن ينصح به)
قم بإعداد جهاز التوجيه الخاص بك (اختياري ، لكن ينصح به)
قم بإعداد جهاز التوجيه الخاص بك (اختياري ، لكن ينصح به)

تم تصميم البروتوكول كبروتوكول عام لأجهزة التوجيه ، لكنني أعرف فقط أن (معظم) أجهزة توجيه Fritz! Box (شائعة جدًا على الأقل في أوروبا) تستخدمه. لا أعرف عن ماركات أخرى. لذا سأفترض أنك تستخدم Fritz! Box. إذا تمكنت من تنفيذ هذا العمل (أو فشلت في القيام بذلك) على أي جهاز توجيه آخر ، فسأكون سعيدًا بإضافته إلى هذا التوجيه (ربما حتى بدء قائمة توافق قصيرة؟).

هذه الخطوة ليست ضرورية ، يمكنك أيضًا استخدام حساب المسؤول الخاص بك ، ولكن لا يُنصح بذلك لأسباب واضحة (قد يتم اعتراضها أو استخراجها من برنامج ESP الخاص بك ، وقد تقوم عن طريق الخطأ بتغيير الأشياء التي لا تريدها ، …) - لذلك أنا أنصحك بذلك.

على أي حال ، ها نحن ذا:

  1. قم بتسجيل الدخول إلى Fritz! Box بكتابة fritz.box في شريط url في متصفحك المفضل.
  2. ابحث عن صفحة إنشاء مستخدم FRITZ! Box جديد (يجب أن تكون متقدمًا يجب أن يكون ضمن النظام ، إذا لم تتمكن من العثور عليه ، فحاول تحديث جهازك).
  3. قم بإنشاء حساب جديد كما ترى في الصورة (باستخدام اسم مستخدم / كلمة مرور مختلفة!).
  4. تسجيل خروج.

الخطوة 2: الكود

Image
Image
الأجهزة (تجريبي)
الأجهزة (تجريبي)
  1. يمكنك الحصول على المكتبة من جيثب.
  2. في الأمثلة ستجد ملفًا يسمى home-index.ino ، وهو رمز هذا المشروع. ضع مجلد الأمثلة في المجلد الرئيسي لمشروع arduino IDE والمجلد الآخر في مجلد المكتبات في نفس المجلد الرئيسي للمشروع.
  3. (إعادة) ابدأ IDE.
  4. افتح home-index.ino في IDE وأدخل الإعدادات الخاصة بك. يجب أن يكون واضحا تماما ما يذهب إلى أين. إذا كان لديك أي سؤال أخبرني!
  5. الآن يمكنك تجميعها ونقلها إلى ESP الخاص بك!

الخطوة 3: الأجهزة (تجريبي)

الأجهزة (تجريبي)
الأجهزة (تجريبي)
الأجهزة (تجريبي)
الأجهزة (تجريبي)
الأجهزة (تجريبي)
الأجهزة (تجريبي)

نعم … هذه هي الخطوة ، حيث ما زلت بحاجة إلى المزيد من العمل. لكني أعتقد أن هناك ما يكفي من المواد في الويب لمعرفة شيء ما:) الإعداد كما في الصور هو مجرد صمام ثنائي بمقاوم ~ 100 أوم متصل بـ GPIO {5 ، 4 ، 0 ، 2} ، وهي D1 ، دبابيس D2 و D3 و D4 (بهذا الترتيب) في لوحة MCU ESP8266 الخاصة بي والكابل البرتقالي الصغير الذي يأخذ الكاثودات إلى GND (تم وضع علامة G على لوحي) ، إذا كنت كسولًا ، يمكنك فعل ما تراه في الصورة الثانية. ما عليك سوى استخدام لوحة تطوير مزودة بمصابيح LED مضمنة (مثل "ESP-202" ، انظر الصور - حوالي 3.50-5.00 يورو بما في ذلك الشحن). يمكنك بعد ذلك فقط توصيله بطاقة USB أو استخدام حزمة البطارية المرفقة ، ورسم واجهة على قطعة من الورق وإلصاقها بالحائط. تم. بالنسبة إلى هذه اللوحة المحددة ، المنافذ هي:

int userPins [numUser] = {5، 4، 2، 14، 16} ؛

من الأعلى إلى الأسفل.

الخطوة 4: التوقعات / المراجع

هذا ما ما زلت أخطط له: 1. صنع مسكن لطيف (من الواضح) 2. إضافة واجهة مستخدم رسومية لطيفة لإدارة المستخدمين / LEDs / MACs / الأجهزة المعروفة 3. تحسين المكتبة (انظر Github لذلك) 4. الإصلاح: أحيانًا مصابيح LED رد فعل بطيء (يستغرق الأمر قليلاً حتى ينطفئ ، بعد ترك الجهاز) بدون سبب واضح 5. قم بتثبيت الشيء في الردهة وربما أكثر من ذلك بقليل حول المنزل ، أود الحصول على بعض المدخلات منكم يا رفاق! وكما هو الحال دائمًا ، يسعدني حقًا أن أرى الآخرين يبنون أشياء سيئة كما فكرت ، لذا يرجى تخصيص دقيقة للتعليق ونشر الصور!:):) بعض المراجع الأخرى سأربط بعض الأشياء هنا ، والتي قد تساعدك: • مرجع TR-064 • شخص ما يعبث بالصدفة و TR-064 (من الجيد الحصول على فهم لواجهة برمجة التطبيقات) • هاري بوتر ويكيبيديا: دخول Weasley Clock • يقوم بعض اللاعبين ببناء ساعة Weasly جميلة ولكنها معقدة * _ * تعتمد على تطبيق لهاتفك يأخذ موقعك. إذا كنت في مناطق محددة مسبقًا ، فسيتم تشغيل الضوء وفقًا للساعة. بالنسبة لي ، كان هذا الأمر معقدًا للغاية وكان في العديد من الأماكن حيث يمكن أن يتعطل / يفشل: • يجب تحديث التطبيقات • يجب على الجميع استخدام هذه التطبيقات • والتعامل مع التأثير على الخصوصية • التطبيق يعمل فقط مع الإنترنت الاتصال • يجب عليك استخدام خادم وسيط لربط الاتصال (إلا إذا كنت ترغب في إعداد esp كخادم وفتح شبكتك المنزلية لحركة المرور الخارجية - نعم ، جهاز IOT آخر غير آمن متصل مباشرة بالإنترنت!) قد تنقطع الخدمة الوسيطة بلا اتصال ذات يوم / تغير واجهة برمجة التطبيقات الخاصة بها ، • … أنت بحاجة إلى المزيد من البرامج. المزيد من البرامج يعني المزيد من الأماكن لارتكاب خطأ ؛) لكنهم قاموا بعمل رائع وإذا كنت تريد القيام بشيء من هذا القبيل ، توجه إلى موقعهم ، إنه أمر رائع حقًا!

موصى به: