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

إيقاف التشغيل عن بُعد أو إعادة تشغيل الكمبيوتر باستخدام جهاز ESP8266: 10 خطوات (بالصور)
إيقاف التشغيل عن بُعد أو إعادة تشغيل الكمبيوتر باستخدام جهاز ESP8266: 10 خطوات (بالصور)

فيديو: إيقاف التشغيل عن بُعد أو إعادة تشغيل الكمبيوتر باستخدام جهاز ESP8266: 10 خطوات (بالصور)

فيديو: إيقاف التشغيل عن بُعد أو إعادة تشغيل الكمبيوتر باستخدام جهاز ESP8266: 10 خطوات (بالصور)
فيديو: المباحث يوضح كيف يراقبون هاتفك 2024, يوليو
Anonim
Image
Image

لكي نكون واضحين هنا ، نحن نغلق جهاز الكمبيوتر الخاص بك ، وليس جهاز كمبيوتر شخص آخر.

ويروى من هذا القبيل:

راسلني أحد أصدقائي على Facebook وقال إن لديه عشرات أجهزة الكمبيوتر التي تدير مجموعة من الرياضيات ، ولكن كل صباح في الثالثة صباحًا ، يتم إغلاقها. نظرًا لأن أجهزة الكمبيوتر تبعد 30 دقيقة ، فمن المزعج للغاية قيادة مدينتين (نعيش في ساوث داكوتا) لتشغيل أجهزة الكمبيوتر. سأل ، هل يمكنني أن أبني له جهاز إنترنت الأشياء يسمح له بإعادة تشغيل الكمبيوتر المخالف من سريره المريح؟

لم يفوتني التحدي أبدًا ، وافقت على وضع شيء ما له. هذا هو ذلك المشروع.

باستخدام اثنين من نوبات البت المسجلة ، ESP8266 ESP01 ، وحفنة من مصابيح LED ، وبعض البصريات محلية الصنع ، يكلف المشروع بأكمله حوالي 5 دولارات إذا اشتريت الأجزاء من الصين على موقع eBay. ربما 20 دولارًا من أمازون.

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

هيا نبدأ.

الخطوة 1: نموذج المجلس

مجلس النموذج الأولي
مجلس النموذج الأولي
مجلس النموذج الأولي
مجلس النموذج الأولي

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

الأجزاء التي ستحتاجها هي:

  • واحد ESP8266 ESP01 (على الرغم من أن أي جهاز ESP8266 سيعمل)
  • اثنين من سجلات التحول 8 بت ، استخدمت 74HC595N
  • 16 مصباح LED ، استخدمت مصابيح LED بيضاء بغطاء من القش تعمل عند 3.3 فولت. إذا كنت تستخدم الآخرين ، فقد تحتاج إلى مقاومات.
  • ثلاثة مقاومات 3k3 أومبولدوون
  • أسلاك توصيل ولوح توصيل

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

اتبع مخطط الأسلاك الوارد في الخطوة التالية. الأسلاك واضحة ومباشرة.

نظرًا لأن ESP8266 يعمل عند 3.3 فولت ، تأكد من تشغيله بشكل مناسب

الخطوة 2: المخطط باستخدام Will-CAD

مخطط باستخدام Will-CAD
مخطط باستخدام Will-CAD

التخطيطي واضح ومباشر. نحن نتبع السلك القياسي لسجل التحول 8 بت. نظرًا لأنني أستخدم سجلي تحول 8 بت ، يجب ربطهما معًا على دبابيس "الساعة" و "المزلاج".

نظرًا لأن ESP01 يحتوي فقط على دبابيس GPIO ، نحتاج إلى إعادة استخدام TX & RX كمخرجات ، والتي تعمل بشكل جيد لأغراضنا. يمكنك استخدام ESP-12 أو إصدار آخر به أكثر من دبابيس GPIO إذا كنت تريد المزيد من التحكم. لكن هذا سيضيف 2 دولار أخرى إلى تكلفة المشروع - وهو مجرد كلام مجنون.

نحتاج إلى الاحتفاظ بسجلات التحول 8 بت الخاصة بنا ودبابيس ESP01 مرتفعة عند التمهيد ، حتى لا يقومون بأشياء غريبة أو يدخلون في وضع البرنامج. لقد استخدمت ثلاثة مقاومات 3k3 ، وستعمل القيم الأكبر أو الأصغر أيضًا. تم اشتقاق هذه القيمة من الأدلة التي تتحدث عن الاستفادة من المسامير البديلة في ESP01.

ESP01 (ESP8266)

  • TX على مدار الساعة 3k3 pullup
  • RX مزلاج دبوس 3k3 سحب
  • 00 تسلسل البيانات 3k3 pullup
  • 02 عائم

سجل التحول 8 بت (74HC595H)

  • VCC 3.3 فولت
  • OE 3.3V (هذا هو دبوس التمكين)
  • GND GND
  • CLR GND (هذا يحافظ على الدبوس الواضح من التنظيف)
  • ومصابيح LED ، تذهب إلى الأرض.

الخطوة 3: كود ESP8266

كود ESP8266
كود ESP8266

كود ESP8266 واضح ومباشر. لسوء الحظ ، فإن المحرر في Instructables عديم الفائدة إلى حد ما ، لذا سترغب في الحصول على الكود مباشرة من Github.

مشروع "Racks-reboot":

github.com/bluemonkeydev/arduino-projects/…

تتوفر فئة "SensorBase" هنا. مطلوب إذا كنت تريد "استخدام" الكود الخاص بي:

github.com/bluemonkeydev/arduino-projects/…

هناك بعض الأشياء التي يجب ملاحظتها. الكود موثق جيدًا.

  1. أنا مطور كسول للغاية ، لذلك وضعت كل كود ESP8266 القابل لإعادة الاستخدام في فئة تسمى "SensorBase". يمكنك أن تجد ذلك على جيثب أيضًا الرابط أعلاه.
  2. يجب عليك كتابة خادم وسيط MQTT واسم المستخدم وكلمة المرور والمنفذ. يمكن العثور على هؤلاء قليلاً عند إنشاء خدمة CloudMQTT.
  3. لست بحاجة إلى اتباع تنسيق بناء جملة الموضوع الخاص بي. ومع ذلك ، أوصي باتباعها.
  4. لا يوجد شيء ذكي حول هذا الرمز. إنه عملي جدا.

الخطوة 4: تخطيط بيرفبورد

تخطيط بيرفبورد
تخطيط بيرفبورد

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

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

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

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

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

الخطوة 5: لوح ملحوم

مجلس ملحوم
مجلس ملحوم

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

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

سترى من هذه الصورة أنني قمت بتوصيل أجهزة البصريات أيضًا ، والتي استخدمت كبل CAT-5 بثمانية أسلاك. والسبب هو أنه رخيص للغاية ، وسهل لصق ، ومميز بشكل جيد أكثر عن أجهزة optoisolators في الخطوة التالية.

الخطوة 6: صنع Optoisolators

صنع Optoisolators
صنع Optoisolators

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

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

سترغب في استخدام مصباح LED أبيض ساطع حقًا للحصول على أقصى قدر من الضوء في المقاوم الضوئي. لم أجرب العديد من الخيارات ، لكن مصباح LED الأبيض الساطع ومقاوم 220 أوم يعملان بشكل جيد بالتأكيد.

الخطوة 7: إعداد CloudMQTT

إعداد CloudMQTT
إعداد CloudMQTT
إعداد CloudMQTT
إعداد CloudMQTT
إعداد CloudMQTT
إعداد CloudMQTT

ستعمل أي خدمة MQTT ، أو خدمة إنترنت الأشياء المماثلة مثل Blynk ، لكنني اخترت استخدام CloudMQTT لهذا المشروع. لقد استخدمت CloudeMQTT للعديد من المشاريع في الماضي ، وبما أنه سيتم تسليم هذا المشروع إلى صديق ، فمن المنطقي إنشاء حساب جديد يمكن نقله أيضًا.

قم بإنشاء حساب CloudMQTT ثم قم بإنشاء "مثيل" جديد ، اختر حجم "Cute Cat" لأننا نستخدمه فقط للتحكم ، بدون تسجيل. ستوفر لك CloudMQTT اسم الخادم واسم المستخدم وكلمة المرور ورقم المنفذ. (لاحظ أن رقم المنفذ ليس منفذ MQTT القياسي). انقل كل هذه القيم إلى كود ESP8266 الخاص بك في المواقع المقابلة ، مع التأكد من صحة الحالة. (بجدية ، انسخ / الصق القيم)

يمكنك استخدام لوحة "Websocket UI" على CloudMQTT لرؤية اتصالات جهازك ، ودفع الأزرار ، وفي السيناريو الغريب ، ظهور رسالة خطأ أو خطأ.

ستحتاج إلى هذه الإعدادات عند تكوين عميل Android MQTT أيضًا ، لذا لاحظ القيم إذا كنت بحاجة إلى ذلك. نأمل ألا تكون كلمة مرورك معقدة للغاية بحيث لا يمكن كتابتها على هاتفك. لا يمكنك تعيين ذلك في CloudMQTT.

الخطوة 8: MQTT Android Client

عميل MQTT Android
عميل MQTT Android
عميل MQTT Android
عميل MQTT Android
عميل MQTT Android
عميل MQTT Android
عميل MQTT Android
عميل MQTT Android

سيعمل أي عميل MQTT يعمل بنظام Android (أو iPhone) ، لكني أحب MQTT Dash. MQTT Dash سهل الاستخدام وسريع الاستجابة ويحتوي على جميع الخيارات التي ستحتاجها.

بمجرد التثبيت ، قم بإعداد خادم MQTT ، وقم بتعبئة الخادم والمنفذ واسم المستخدم وكلمة المرور بقيم المثيل الخاص بك ، وليس معلومات تسجيل الدخول الخاصة بك إلى CloudMQTT. يمكنك استخدام أي اسم عميل تريده.

إذا قمت بكتابة كل شيء بشكل صحيح ، فسوف يتصل تلقائيًا بخادم MQTT الخاص بك ويعرض لك شاشة فارغة نظرًا لأنك لم تقم بإعداد أي أزرار أو نص أو رسائل حتى الآن. على الشاشة الفارغة ، ترى "+" في الزاوية اليمنى العليا ، انقر فوقه ، ثم حدد "تحديد / زر". سنضيف "Select / Button" واحدًا لكل جهاز كمبيوتر ، أي 8 أو 16 أو أقل.

إذا حصلت على DID خطأ في الاتصال ، فلديك واحدة من القيم خاطئة. ارجع وتحقق مرة أخرى

سيستخدم كل كمبيوتر الموضوع الذي يتوافق مع القيم المحددة في التعليمات البرمجية الخاصة بك. إذا اتبعت اصطلاحاتي ، فستكون "الكتلة / Rack-01 / computer / 01". سيكون من الأفضل تغيير قيمتي "تشغيل" و "إيقاف تشغيل" لمطابقة الكود الخاص بنا. بدلاً من "0" و "1" ، استخدم القيمتين "on" و "off" على التوالي. أوصي أيضًا باستخدام QoS (1) لأننا نتوقع تأكيدًا من الخادم.

بعد إضافة واحدة ، يمكنك الضغط لفترة طويلة واستخدام خيار "استنساخ" لإنشاء مجموعة ، ثم تغيير الاسم والموضوع.

سهل بما فيه الكفاية.

الخطوة 9: الحصول على ESP8266 على شبكة Wifi

الحصول على ESP8266 على شبكة Wifi
الحصول على ESP8266 على شبكة Wifi

باستخدام وحدة ESP8266 Wifi Manager ، من السهل الحصول على جهازنا على Wifi. إذا استخدمت صنف SensorBase الخاص بي ، فهو مدمج بالفعل. إذا لم يكن كذلك ، فاتبع التعليمات الموجودة على صفحة Wifi Manager.

سيحاول Wifi Manager الاتصال بـ SSID الخاص بك عند التمهيد ، وهو الأمر الذي لا يمكنه ذلك لأنك لم تخبره مطلقًا بـ SSID الخاص بك ، لذلك سينتقل تلقائيًا إلى وضع نقطة الوصول (أو وضع AP) ويقدم صفحة ويب بسيطة تطلب SSID الخاص بك & كلمه السر. باستخدام هاتفك أو الكمبيوتر المحمول ، قم بتوصيل الشبكة اللاسلكية المتوفرة حديثًا باسم SSID "ESP_xxxxxx" ، حيث يكون "xxxxxx" عبارة عن تسلسل عشوائي (ليس عشوائيًا حقًا). (يمكن العثور على التعليمات الكاملة على صفحة Wifi Manager.)

بمجرد الاتصال ، قم بإحضار متصفح الويب الخاص بك وأشره إلى 192.168.4.1 ، واكتب SSID وكلمة المرور ، وانقر فوق حفظ.

أنت الآن على الإنترنت ، وجهاز إنترنت الأشياء الخاص بك به جزء "أنا" يعمل!

الخطوة 10: التوصيل والاختبار النهائي

التوصيل والاختبار النهائي
التوصيل والاختبار النهائي

كله تمام.

لتوصيل كل شيء ، حدد موقع كبل زر الطاقة بجهاز الكمبيوتر الخاص بك حيث يلتقي باللوحة الأم. يجب أن ترى صفين من الرؤوس مع مجموعة من الأسلاك والموصلات. عادة ، يتم تصنيفها بشكل جيد. افصل المفتاح الخاص بك وقم بتوصيل قابس optoisolator. لقد وضعت بعض مقابس "Dupont" على لي ، لذا تم توصيلها تمامًا مثل كابل الطاقة. لا يهم القطبية في هذه النهاية ، لكن تأكد من أن لديك قطبية الطرف الآخر صحيحة - التي تنتقل إلى لوحتك المخصصة.

وهو يعمل بشكل مثالي. باستخدام عميل MQTT Dash (أو أداة مماثلة) ، يمكنك تشغيل أجهزة الكمبيوتر الخاصة بك عن بُعد.

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

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

حظًا سعيدًا ، واسمحوا لي أن أعرف كيف انتهى الأمر.

موصى به: