فهرست مطالب:

خاموش کردن یا راه اندازی مجدد کامپیوتر با دستگاه ESP8266: 10 مرحله (همراه با تصاویر)
خاموش کردن یا راه اندازی مجدد کامپیوتر با دستگاه ESP8266: 10 مرحله (همراه با تصاویر)

تصویری: خاموش کردن یا راه اندازی مجدد کامپیوتر با دستگاه ESP8266: 10 مرحله (همراه با تصاویر)

تصویری: خاموش کردن یا راه اندازی مجدد کامپیوتر با دستگاه ESP8266: 10 مرحله (همراه با تصاویر)
تصویری: نحوه ساخت رله Wi-Fi 4 کانال ESP8266 ESP01 | ESP01 اتوماسیون خانگی | RemoteXY | FLProg 2024, جولای
Anonim
Image
Image

برای روشن شدن اینجا ، ما کامپیوتر شما را خاموش می کنیم ، نه کامپیوتر شخص دیگری.

داستان اینچنین پیش می رود:

یکی از دوستان من در فیس بوک به من پیام داد و گفت که ده ها کامپیوتر دارد که چندین ریاضی را اجرا می کنند ، اما هر روز صبح ساعت 3 صبح ، آنها قفل می کنند. از آنجا که رایانه ها 30 دقیقه فاصله دارند ، رانندگی دو شهر (ما در داکوتای جنوبی زندگی می کنیم) برای دوچرخه سواری رایانه ها یک مزاحمت بزرگ است. او پرسید ، آیا می توانم برای او یک دستگاه اینترنت اشیا بسازم که به او اجازه می دهد رایانه متخلف را از راحتی تختخواب دنج خود راه اندازی مجدد کند؟

هرگز برای از دست دادن یک چالش ، موافقت کردم که چیزی را برای او آماده کنم. این همان پروژه است.

با استفاده از دو شیفت بیتی ثبت شده ، ESP8266 ESP01 ، تعداد معدود LED ها و برخی از دستگاههای نوری ایزولاتور خانگی ، اگر قطعات را از چین در eBay خریداری کنید ، کل پروژه حدود 5 دلار هزینه دارد. شاید 20 دلار از آمازون.

این یک ساختار نسبتاً پیچیده با لحیم کاری خوب است. بدون در نظر گرفتن پیچ و مهره هایم و لحیم کاری مجدد ، قسمت بهتری از ساخت آن 20 ساعت طول کشید ، اما این کار شگفت انگیز بود و کاملاً کار کرد.

شروع کنیم.

مرحله 1: تابلوی نمونه اولیه

تابلوی نمونه اولیه
تابلوی نمونه اولیه
تابلوی نمونه اولیه
تابلوی نمونه اولیه

همیشه همه پروژه ها را با نمونه اولیه نان بورد شروع کنید. این بهترین راه برای تعیین این است که آیا همه اجزا را دارید و طبق انتظار عمل می کنید. این پروژه کمی پیچیده است ، بنابراین توصیه می کنم قبل از حرکت به جلو آن را روی تخته نان بسازید.

قطعات مورد نیاز شما عبارتند از:

  • یک ESP8266 ESP01 (اگرچه هر دستگاه ESP8266 کار می کند)
  • دو ثبت کننده شیفت 8 بیتی ، من از 74HC595N استفاده کردم
  • 16 LED ، من از LED های سفید کلاه حصیری استفاده کردم که در 3.3V کار می کنند. اگر از دیگران استفاده می کنید ، ممکن است به مقاومت نیاز داشته باشید.
  • سه مقاومت 3k3-ohmpulldown
  • سیم های جامپر و تخته نان

شما همچنین باید حداقل یک دستگاه نوری بینایی را بسازید. من از لوله کوچک کننده سیاه ، یک LED سفید روشن ، یک مقاومت 220 اهمی و یک مقاومت در برابر عکس استفاده کردم. مقاومت 220 اهمی را به کاتد LED لحیم کرده و سپس 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 کشش
  • پین چفت و بست RX 3k3
  • 00 داده های سریال 3k3 کشش
  • 02 شناور

8-Shift Register (74HC595H)

  • VCC 3.3V
  • 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" قرار دادم. پیوند بالا را می توانید در Github نیز بیابید.
  2. شما باید سرور ، نام کاربری ، رمز عبور و پورت کارگزار MQTT خود را وارد کنید. هنگامی که ما سرویس CloudMQTT را ایجاد می کنیم ، می توانید آنها را کمی پایین تر پیدا کنید.
  3. لازم نیست قالب نحو موضوع من را دنبال کنید. با این حال ، توصیه می کنم آن را دنبال کنید.
  4. هیچ چیز هوشمندانه ای در مورد این کد وجود ندارد. بسیار عملگرا است.

مرحله 4: چیدمان Perfboard

طرح چوبی
طرح چوبی

این پروژه در یک مرکز داده کوچک نصب می شود ، بنابراین تصمیم گرفتم برای طراحی نهایی فقط از پرف برد استفاده کنم. Perfboard برای پروژه هایی مانند این عالی عمل می کند و با استفاده از یک تکه کاغذ گراف سفارشی طرح بندی آن آسان است. در اینجا طرح من را مشاهده خواهید کرد. البته ، شما ممکن است تصمیم بگیرید که این کار را متفاوت انجام دهید.

پروژه من به دو رجیستر شیفت 8 بیتی نیاز داشت ، بنابراین من با موقعیت آنها در وسط شروع کردم. من می دانستم که اتصالات من به optoisolators در حال حاضر هدرهای زن ساده ای هستند ، اگرچه این یک راه حل ایده آل نیست.

من LED ها را دوست دارم ، و این برای داشتن یک مدار برای هر مدار نوری وصدا لازم بود. می دانستم اگر بتوانم بازخورد فوری را مستقیماً روی صفحه دریافت کنم ، مرحله آزمایش بی نهایت آسان تر خواهد بود ، اما همچنین می دانستم که این LED ها باعث لحیم شدن درد زیادی می شوند. و آنها بودند. من چیزی کمتر از LED های 5 میلی متری نداشتم ، بنابراین مجبور شدم آنها را تکان دهم. طرح نهایی من الگوی زیگزاگ کاتدها را ایجاد کرد زیرا نمی خواستم آندها را روی سیم های زمین اجرا کنم. این نشان داد که طراحی خوبی است. سیم های LED در بالای ثبت شیفت 8 بیتی به هم متصل می شوند و برای سادگی در بالای صفحه با سیم های محافظ اجرا می شوند.

برای برق ، می خواستم آن را از کابل USB قدیمی اجرا کنم تا مستقیماً از یکی از رایانه ها تغذیه شود. این به خوبی کار می کند زیرا پورت های USB معمولاً حتی در صورت خاموش بودن کامپیوتر تغذیه می شوند. من از تنظیم کننده ولتاژ خطی LM317 برای کاهش قدرت به 3.3V استفاده کردم. تنظیم کننده 3.3V نیز کار می کرد ، اما من آن را نداشتم.

برای جلوگیری از عبور بیش از حد سیم ها ، چند سیم را در قسمت بالای تخته پرف اجرا کردم ، که سعی می کنم از آنها جلوگیری کنم. به خاطر داشته باشید که سوراخ ها رسانا هستند ، بنابراین از سیم های محافظ برای جلوگیری از شورت استفاده کنید. ارتباطاتی که در بالای صفحه انجام می شود ، در نمودار من با خطوط خط کشی نشان داده شده است.

مرحله 5: تخته لحیم شده

تخته لحیم شده
تخته لحیم شده

تخته لحیم شده نهایی من واقعاً خوب بود. همانطور که انتظار می رفت ، LED های بالا کار زیادی را انجام دادند تا بدون هیچ شورت به درستی لحیم شوند. بعد از اینکه LED ها و هدرها را لحیم کردید ، از مولتی متر خود برای تعیین اینکه آیا شورت دارید استفاده کنید. بهتر است همین الان بدانید.

بجز LED ها ، بقیه موارد بسیار خوب پیش رفتند. من مجبور شدم چند اتصال را دوباره انجام دهم ، اما با برخی از بیماران ، برخی اشکال زدایی و کمی لحیم کاری مجدد ، همه چیز خوب کار می کند.

از این عکس خواهید دید که من نوری را نیز متصل کرده ام ، که از کابل 8 سیم CAT-5 استفاده کردم. دلیل آن این است که بسیار ارزان است ، به راحتی قابل اتصال است و به خوبی مشخص شده است-در مرحله بعد بیشتر در مورد این نوریذلات کننده ها توضیح دهید.

مرحله ششم: ساخت نوریذوب کننده

ساخت نوریذوب کننده
ساخت نوریذوب کننده

البته ، نیازی به ساخت دستگاه اپتیواسولاتور خود ندارید. بسیاری از نسخه های تجاری به ازای هر سکه در دسترس هستند و بهتر عمل می کنند زیرا آنها مستقیماً بدون هیچ گونه مقاومت در خطوط برق رایانه حرکت می کنند. اما ، من هیچ نوری بینایی ندارم ، بنابراین مجبور شدم دستگاه خود را با استفاده از LED ، مقاومت و مقاومت در برابر عکس بسازم.

پس از تأیید اینکه در یک آستین لوله جمع کننده سیاه ، مقاومت "خاموش" با کمتر از متر من قابل خواندن بود و مقاومت "روشن" چند هزار اهم بود ، آخرین آزمایش را روی مادربرد قدیمی انجام دادم. برای من کاملاً کار کرد. من فکر می کنم برخی از رایانه ها ممکن است کم و بیش حساس باشند ، اما در مادربردهایی که آزمایش کرده ام ، این پیکربندی به خوبی کار می کند.

شما می خواهید از یک LED سفید روشن استفاده کنید تا حداکثر نور را به مقاومت در برابر نور وارد کنید. من گزینه های زیادی را امتحان نکردم ، اما LED سفید روشن و مقاومت 220 اهم قطعاً خوب کار می کنند.

مرحله 7: راه اندازی CloudMQTT

راه اندازی CloudMQTT
راه اندازی CloudMQTT
راه اندازی CloudMQTT
راه اندازی CloudMQTT
راه اندازی CloudMQTT
راه اندازی CloudMQTT

هر سرویس MQTT یا سرویس IoT مشابه مانند Blynk کار می کند ، اما من استفاده از CloudMQTT را برای این پروژه انتخاب می کنم. من در گذشته برای بسیاری از پروژه ها از CloudeMQTT استفاده کرده ام و از آنجا که این پروژه به یک دوست واگذار می شود ، ایجاد یک حساب جدید منطقی است که قابل انتقال نیز باشد.

یک حساب CloudMQTT ایجاد کنید و سپس یک "نمونه" جدید ایجاد کنید ، اندازه "Cute Cat" را انتخاب کنید زیرا ما فقط از آن برای کنترل استفاده می کنیم ، بدون ورود به سیستم. CloudMQTT نام سرور ، نام کاربری ، رمز عبور و شماره پورت را در اختیار شما قرار می دهد. (توجه داشته باشید که شماره پورت درگاه استاندارد MQTT نیست). همه این مقادیر را در کدهای ESP8266 خود در مکان های مربوطه منتقل کنید تا از صحت مورد اطمینان حاصل شود. (به طور جدی ، مقادیر را کپی/جایگذاری کنید)

می توانید از پنل "Websocket UI" در CloudMQTT برای مشاهده اتصالات دستگاه ، فشار دادن دکمه ها و در سناریوی عجیب ، دریافت خطا ، پیام خطا استفاده کنید.

هنگام پیکربندی مشتری MQTT Android نیز به این تنظیمات نیاز خواهید داشت ، بنابراین در صورت نیاز به مقادیر توجه کنید. امیدوارم رمز عبور شما آنقدر پیچیده نباشد که بتوانید در تلفن خود تایپ کنید. شما نمی توانید آن را در CloudMQTT تنظیم کنید.

مرحله 8: MQTT Android Client

MQTT Android Client
MQTT Android Client
MQTT Android Client
MQTT Android Client
MQTT Android Client
MQTT Android Client
MQTT Android Client
MQTT Android Client

هر مشتری MQTT Android (یا iPhone) کار می کند ، اما من MQTT Dash را دوست دارم. MQTT Dash آسان برای استفاده است ، بسیار پاسخگو است و همه گزینه های مورد نیاز شما را دارد.

پس از نصب ، یک سرور MQTT راه اندازی کنید ، سرور ، پورت ، نام کاربری و رمز عبور را با مقادیر نمونه خود پر کنید ، نه اطلاعات ورود خود را به CloudMQTT. می توانید از هر نام مشتری که می خواهید استفاده کنید.

اگر همه چیز را به درستی تایپ کرده اید ، به طور خودکار به سرور MQTT شما متصل می شود و صفحه خالی به شما نشان می دهد زیرا هنوز هیچ دکمه ، متن یا پیام را تنظیم نکرده اید. در صفحه خالی ، "+" را در گوشه سمت راست بالا مشاهده می کنید ، روی آن کلیک کرده و سپس "انتخاب/دکمه" را انتخاب کنید. ما یک "انتخاب/دکمه" به هر رایانه اضافه می کنیم ، بنابراین 8 یا 16 یا کمتر.

اگر با خطای اتصال مواجه شدید ، یکی از مقادیر آن اشتباه است. برگردید و دوباره بررسی کنید

هر رایانه از موضوعی استفاده می کند که با مقادیر مشخص شده در کد شما مطابقت دارد. اگر از قراردادهای من پیروی می کردید ، آنها "cluster/rack-01/computer/01" بودند. بهتر است مقادیر "روشن" و "خاموش" را متناسب با کد ما تغییر دهیم. به جای "0" و "1" ، به ترتیب از مقادیر "روشن" و "خاموش" استفاده کنید. من همچنین توصیه می کنم از QoS (1) استفاده کنید زیرا انتظار تأیید از سرور را داریم.

پس از افزودن یکی ، می توانید گزینه "clone" را طولانی فشار داده و از آن برای ایجاد دسته ای استفاده کنید ، سپس نام و موضوع آنها را تغییر دهید.

به حد کافی ساده است.

مرحله 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 و رمز عبور خود را وارد کرده و روی ذخیره کلیک کنید.

شما اکنون در اینترنت هستید و دستگاه IoT شما بخش "I" را کار می کند!

مرحله 10: اتصال و آزمایش نهایی

اتصال و آزمایش نهایی
اتصال و آزمایش نهایی

همه انجام شد.

برای اتصال همه چیز ، کابل دکمه پاور کامپیوتر خود را در جایی که با مادربرد ملاقات می کند ، قرار دهید. باید دو ردیف سرصفحه با دسته ای سیم و کانکتور مشاهده کنید. به طور معمول ، برچسب آنها بسیار خوب است. سوئیچ خود را از برق بکشید و پلاگین optoisolator را وصل کنید. من برخی دوشاخه های "Dupont" را روی سرم گذاشتم ، بنابراین آنها درست مانند کابل برق وصل شدند. قطبی بودن در این مورد مهم نیست ، اما مطمئن شوید که قطبیت انتهای دیگر را درست انتخاب کرده اید - یکی که به صفحه سفارشی شما می رود.

و کاملاً کار می کند. با استفاده از سرویس گیرنده MQTT Dash (یا ابزار مشابه) ، می توانید رایانه های خود را از راه دور تغذیه کنید.

دکمه بررسی مربوطه را در برنامه خود فشار دهید و هنگامی که برنامه با پیام "خاموش" از سرور MQTT تماس گرفت ، دکمه به حالت علامت برمی گردد.

این چند هفته است که بدون هیچ مشکلی اجرا می شود. ما متوجه شدیم که مدت زمان پایین آوردن دکمه روی رایانه ها باید افزایش یابد. 1 ثانیه کامل به پایان رسید. این مقدار را می توان به عنوان یک مقدار قابل تنظیم از طریق سرور MQTT نشان داد ، یا بسته به خواسته خود می توانید مقدار را سخت سیم کشی کنید.

موفق باشید ، و به من اطلاع دهید که وضعیت شما چگونه بود.

توصیه شده: