תוכן עניינים:

כיבוי מרחוק או הפעלה מחדש של מחשב באמצעות מכשיר ESP8266: 10 שלבים (עם תמונות)
כיבוי מרחוק או הפעלה מחדש של מחשב באמצעות מכשיר ESP8266: 10 שלבים (עם תמונות)

וִידֵאוֹ: כיבוי מרחוק או הפעלה מחדש של מחשב באמצעות מכשיר ESP8266: 10 שלבים (עם תמונות)

וִידֵאוֹ: כיבוי מרחוק או הפעלה מחדש של מחשב באמצעות מכשיר ESP8266: 10 שלבים (עם תמונות)
וִידֵאוֹ: מדריכים | כיצד לאפס את המכשיר שלכם בקלות (פירמוט) 2024, יולי
Anonim
Image
Image

כדי להיות ברור כאן, אנו סוגרים את המחשב שלך, לא מחשב של מישהו אחר.

הסיפור הולך כך:

חבר שלי בפייסבוק שלח לי הודעות ואמר שיש לו עשרות מחשבים שמריצים חבורה של מתמטיקה, אבל כל בוקר בשעה 3 לפנות בוקר הם ננעלים. מכיוון שהמחשבים נמצאים במרחק של 30 דקות משם, זה מטרד עצום להסיע שתי עיירות (אנחנו גרים בדרום דקוטה) כדי להפעיל את המחשבים מחדש. הוא שאל, האם אוכל לבנות לו מכשיר IoT שיאפשר לו להפעיל מחדש את המחשב הפוגע בנוחות המיטה הנעימה שלו?

לעולם לא לפספס אתגר, הסכמתי להרכיב עבורו משהו. זה הפרויקט הזה.

באמצעות שני רישומי bit-shift, ESP8266 ESP01, קומץ נוריות וכמה אופטו-איזולטורים תוצרת בית, הפרויקט כולו עולה כ -5 $ אם אתה קונה את החלקים מסין ב- eBay. אולי 20 $ מאמזון.

זהו מבנה מורכב למדי עם הרבה הלחמות עדינות. בלי לספור את הזיגוגים וההלחמות שלי, לקח לי את החלק הטוב יותר של 20 שעות לעשות, אבל זה יצא מדהים ועבד בצורה מושלמת.

בואו נתחיל.

שלב 1: לוח אב טיפוס

לוח אב טיפוס
לוח אב טיפוס
לוח אב טיפוס
לוח אב טיפוס

תמיד התחל את כל הפרויקטים עם לוח אב טיפוס. זוהי הדרך הטובה ביותר לקבוע אם יש ברשותך את כל הרכיבים ולפעול כצפוי. הפרויקט הזה קצת מסובך, אז אני מאוד ממליץ לבנות אותו על קרש לחם לפני שמתקדמים קדימה.

החלקים שתזדקקו להם הם:

  • ESP8266 ESP01 אחד (אם כי כל מכשיר ESP8266 יעבוד)
  • שני רגידי משמרות של 8 סיביות, השתמשתי ב- 74HC595N
  • 16 נוריות 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 pullup
  • 02 צף

8 סיביות משמרות (74HC595H)

  • VCC 3.3V
  • OE 3.3V (זהו סיכת ההפעלה)
  • GND GND
  • CLR GND (זה מונע מהסיכה הברורה להיסלק)
  • והנוריות, אלה הולכות לקרקע.

שלב 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

פריסת פרבורד
פריסת פרבורד

פרויקט זה יותקן במרכז מיני נתונים, אז החלטתי פשוט להשתמש בלוח perf עבור העיצוב הסופי. Perfboard עובד מצוין לפרויקטים כאלה וקל לפריסה בעזרת פיסת נייר גרף מותאמת אישית. כאן תראה את הפריסה שלי. כמובן שאתה יכול לבחור לעשות את זה אחרת.

הפרויקט שלי נזקק לשני רישומי משמרות של 8 סיביות, אז התחלתי עם המיקום שלהם באמצע. ידעתי שהמחברים שלי לאופטואיזולטורים יהיו כותרות פשוטות לעכשיו, למרות שזה לא פתרון אידיאלי.

אני אוהב נוריות, וזה צריך להיות LED עבור כל מעגל optoisolator. ידעתי ששלב הבדיקה יהיה קל יותר לאין שיעור אם אוכל לקבל משוב מיידי ישירות על הלוח, אך ידעתי גם שנוריות אלה יגרמו לכאב עצום בהלחמה. והם היו. לא היו לי שום דבר קטן יותר מנורות 5 מ מ, אז הייתי צריך להזיז אותן. העיצוב הסופי שלי עשה תבנית זיג-זג של הקתודות מכיוון שלא רציתי להריץ את האנודות על חוטי הקרקע. זה הוכיח שהוא עיצוב טוב. חוטי הלד מתחברים מעל לרשומות המשמרות של 8 סיביות ופועלים על גבי הלוח עם חוטים מוגנים לפשטות.

לצורך צריכת חשמל, רציתי להריץ אותו מכבל USB ישן כדי להפעיל אותו ישירות מאחד המחשבים. זה יעבוד מצוין מכיוון שיציאות USB מופעלות בדרך כלל גם אם המחשב כבוי. השתמשתי בווסת מתח ליניארי LM317 כדי להפחית את ההספק ל -3.3V. וסת 3.3V היה עובד גם כן, אבל לא היה לי כזה.

כדי להימנע מיותר מדי חוטים חוצים, רצתי כמה חוטים בצד העליון של לוח הפרפ, שאני מנסה להימנע מהם. זכור כי החורים המעבירים מוליכים, לכן השתמש בחוטים מוגנים כדי להימנע מקצרים. חיבורים אלה המתרחשים בחלק העליון של הלוח מוצגים בקווים מקווקים בתרשים שלי.

שלב 5: לוח מולחם

לוח מולחם
לוח מולחם

לוח הלחמה הסופי שלי יצא ממש טוב. כצפוי, נוריות הלד בחלק העליון לקחו הרבה עבודה כדי להלחם בצורה נכונה ללא מכנסיים קצרים. לאחר שהלחמת את הלדים והכותרות, השתמש במולטימטר שלך כדי לקבוע אם יש לך מכנסיים קצרים. כדאי לברר זאת כעת.

חוץ מהנוריות, כל השאר הלך די טוב. הייתי צריך לעשות כמה חיבורים, אבל עם כמה מטופלים, קצת איתור באגים וקצת הלחמות מחדש, הכל יעבוד בסדר.

תראה מהתמונה הזו שחיברתי גם את האופטואזולטורים, בהם השתמשתי בכבל CAT-5 בעל 8 חוטים. הסיבה לכך היא שהוא זול במיוחד, קל לניתוק, והוא מסומן היטב יותר לגבי אותם אופטו-סולטורים בשלב הבא.

שלב 6: הכנת אופטואיזולטורים

ייצור אופטואיזולטורים
ייצור אופטואיזולטורים

כמובן שאינך צריך לייצר אופטו -איזולטורים משלך. גרסאות מסחריות רבות זמינות באגורות ליחידה והן יפעלו טוב יותר מכיוון שהן יניעו את קווי החשמל של המחשב ישירות ללא כל התנגדות. אבל, לא היה לי אופטו -איזולטור, אז נאלצתי להכין את שלי באמצעות LED, נגד, ופוטורסיסטור.

לאחר שאישרתי כי בתוך שרוול של צינורות כיווץ שחורים, ההתנגדות "כבוי" עם פחות ממה שהמדד שלי יכול לקרוא והתנגדות ה"דלקה "הייתה כמה אלפי אוהם, ביצעתי בדיקה אחרונה בלוח אם ישן. לי זה עבד בצורה מושלמת. אני חושד שמחשבים מסוימים עשויים להיות פחות או יותר רגישים, אך בלוחות האם שבדקתי, תצורה זו עבדה מצוין.

תרצה להשתמש בנורית לבנה בהירה באמת כדי להכניס את האור המרבי לפוטורזיסטור. לא ניסיתי הרבה אפשרויות, אבל הנורית הלבנה הבהירה ונגד 220 אוהם בהחלט עובדים טוב.

שלב 7: הגדרת CloudMQTT

הגדרת CloudMQTT
הגדרת CloudMQTT
הגדרת CloudMQTT
הגדרת CloudMQTT
הגדרת CloudMQTT
הגדרת CloudMQTT

כל שירות MQTT, או שירות IoT דומה כמו Blynk, יעבוד, אבל אני בוחר להשתמש ב- CloudMQTT לפרויקט זה. השתמשתי בעבר ב- CloudeMQTT לפרויקטים רבים, ומאחר שפרויקט זה יימסר לחבר, הגיוני ליצור חשבון חדש שניתן גם להעביר אותו.

צור חשבון CloudMQTT ולאחר מכן צור "מופע" חדש, בחר את גודל "החתול החמוד" מכיוון שאנו משתמשים בו רק לשליטה, ללא רישום. CloudMQTT תספק לך שם שרת, שם משתמש, סיסמה ומספר יציאה. (שים לב שמספר היציאה אינו יציאת MQTT הסטנדרטית). העבר את כל הערכים האלה לקוד ESP8266 שלך במיקומים המתאימים, וודא שהמקרה נכון. (ברצינות, העתק/הדבק את הערכים)

אתה יכול להשתמש בחלונית "Websocket UI" ב- CloudMQTT כדי לראות את החיבורים של המכשיר שלך, לחיצות כפתורים ובמקרה המוזר שאתה מקבל שגיאה, הודעת שגיאה.

תזדקק להגדרות אלה בעת הגדרת לקוח ה- Android MQTT גם כן, אז שים לב לערכים אם צריך. יש לקוות שהסיסמה שלך אינה מסובכת מדי להקלדה בטלפון שלך. אינך יכול להגדיר זאת ב- CloudMQTT.

שלב 8: לקוח אנדרואיד MQTT

לקוח אנדרואיד MQTT
לקוח אנדרואיד MQTT
לקוח אנדרואיד MQTT
לקוח אנדרואיד MQTT
לקוח אנדרואיד MQTT
לקוח אנדרואיד MQTT
לקוח אנדרואיד MQTT
לקוח אנדרואיד MQTT

כל לקוח MQTT של אנדרואיד (או אייפון) יעבוד, אבל אני אוהב את MQTT Dash. MQTT Dash קל לשימוש, מגיב מאוד ויש לו את כל האפשרויות שתצטרך.

לאחר ההתקנה, הגדר שרת MQTT, אכלס את השרת, היציאה, שם המשתמש והסיסמה עם ערכי המופע שלך, לא את פרטי ההתחברות שלך ל- CloudMQTT. אתה יכול להשתמש בכל שם לקוח שאתה רוצה.

אם הקלדת הכל נכון, הוא יתחבר אוטומטית לשרת MQTT שלך ויראה לך מסך ריק מכיוון שטרם הגדרת כפתורים, טקסט או הודעות. במסך הריק אתה רואה "+" בפינה השמאלית העליונה, לחץ עליו ולאחר מכן בחר "בחר/כפתור". נוסיף "בחר/כפתור" אחד למחשב, כך 8 או 16 או פחות.

אם קיבלת שגיאת חיבור, אחד הערכים שלך שגוי. תחזור ובדוק שוב

כל מחשב ישתמש בנושא המתאים לערכים שצוין בקוד שלך. אם היית עוקב אחר המוסכמות שלי, הן היו "אשכול/מתלה -01/מחשב/01". עדיף לשנות את הערכים "מופעל" ו"כבוי "כך שיתאימו לקוד שלנו. במקום "0" ו- "1", השתמשו בערך "מופעל" ו"כבוי "בהתאמה. אני ממליץ גם להשתמש ב- QoS (1) מכיוון שאנו מצפים לאישור מהשרת.

לאחר הוספת אחת, תוכל ללחוץ לחיצה ארוכה ולהשתמש באפשרות "שיבוט" כדי ליצור חבורה, ולאחר מכן לשנות את שמם ואת הנושא.

קל מספיק.

שלב 9: קבלת ה- ESP8266 שלך ל- Wifi

קבלת ה- ESP8266 שלך באמצעות Wifi
קבלת ה- ESP8266 שלך באמצעות Wifi

באמצעות מודול ESP8266 Wifi Manager, זוהי משב רוח להעלות את המכשיר שלנו ל- Wifi. אם השתמשת במחלקת SensorBase שלי, היא כבר מובנית. אם לא, פעל לפי ההנחיות בדף מנהל ה- Wifi.

מנהל ה- Wifi ינסה להתחבר ל- SSID שלך בעת האתחול, דבר שהוא אינו יכול מכיוון שמעולם לא סיפרת לו SSID שלך, כך שהוא יכנס אוטומטית למצב נקודת גישה (או מצב AP) ויציג דף אינטרנט פשוט שיבקש את ה- SSID שלך. & סיסמה. באמצעות הטלפון או המחשב הנייד שלך, חבר את הרשת האלחוטית הזמינה לאחרונה בשם SSID "ESP_xxxxxx", כאשר "xxxxxx" הוא רצף אקראי (לא ממש אקראי). (ניתן למצוא הוראות מלאות בדף מנהל ה- Wifi.)

לאחר החיבור, העלה את דפדפן האינטרנט שלך והפנה אותו אל 192.168.4.1, הקלד את ה- SSID והסיסמה שלך ולחץ על שמור.

אתה נמצא כעת באינטרנט, ומכשיר ה- IoT שלך מכיל את החלק "אני" שעובד!

שלב 10: חיבור סופי ובדיקה

חיבור סופי ובדיקה
חיבור סופי ובדיקה

הכל בוצע.

כדי לחבר הכל, אתר את כבל לחצן ההפעלה של המחשב שלך במקום שבו הוא פוגש את לוח האם. אתה אמור לראות שתי שורות כותרות עם חבורה של חוטים ומחברים. בדרך כלל, הם מתויגים די טוב. נתק את המתג וחבר את תקע האופטואזולטור. שמתי כמה תקעי "דופונט" על שלי, כך שהם התחברו בדיוק כמו כבל החשמל. הקוטביות בקצה זה לא משנה אבל וודא שיש לך את הקוטביות של הקצה השני הנכון - זה שעובר ללוח המותאם אישית שלך.

וזה עובד בצורה מושלמת. באמצעות לקוח MQTT Dash (או כלי דומה), תוכל להפעיל מרחוק את המחשבים שלך.

לחץ על כפתור הסימון המתאים באפליקציה שלך, ולאחר שהאפליקציה תשמע משרת MQTT עם הודעת "כבוי", הלחצן ישתנה בחזרה ללא סימון.

זה פועל במשך כמה שבועות ללא בעיות. שמנו לב שצריך להאריך את משך הזמן כדי להוריד את הכפתור למטה במחשבים. סיימנו עם שנייה אחת מלאה. ערך זה יכול להיחשף כערך שניתן להתאמה באמצעות שרת MQTT, או שאתה יכול לחבר את הערך, בהתאם לרצונך.

בהצלחה, וספר לי איך יצא שלך.

מוּמלָץ: