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

החלף, יציאה אוטומטית עם מדידת זרם בזמן אמת: 6 שלבים
החלף, יציאה אוטומטית עם מדידת זרם בזמן אמת: 6 שלבים

וִידֵאוֹ: החלף, יציאה אוטומטית עם מדידת זרם בזמן אמת: 6 שלבים

וִידֵאוֹ: החלף, יציאה אוטומטית עם מדידת זרם בזמן אמת: 6 שלבים
וִידֵאוֹ: More Equal Animals - by Daniel Larimer - audiobook read by Chuck MacDonald 2024, נוֹבֶמבֶּר
Anonim
החלף, יציאה אוטומטית עם מדידת זרם בזמן אמת
החלף, יציאה אוטומטית עם מדידת זרם בזמן אמת
החלף, יציאה אוטומטית עם מדידת זרם בזמן אמת
החלף, יציאה אוטומטית עם מדידת זרם בזמן אמת
החלף, יציאה אוטומטית עם מדידת זרם בזמן אמת
החלף, יציאה אוטומטית עם מדידת זרם בזמן אמת
החלף, יציאה אוטומטית עם מדידת זרם בזמן אמת
החלף, יציאה אוטומטית עם מדידת זרם בזמן אמת

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

המרכיבים הדרושים לפרויקט זה הם:

אספקה

לפני שנתחיל אלה הדברים שבהחלט תצטרך לבנות תיבת Switch-IT כמו שלי. אספקה זו תעלה בסביבות 50 עד 100 יורו בהתאם לאזור שלך ולמחירים הנוכחיים.

חוּמרָה

מכשירי חשמל

  • פטל פי 4
  • כרטיס זיכרון SD של 16 ג'יגה-בתים (או יותר)
  • ארדואינו אונו
  • מחלף רמה 5V-3.3V
  • מודול ממסר 5V
  • ACS712 20A - מודול נוכחי
  • מודול IR-מקלט 1838 37.9 קילוהרץ
  • שלט IR (אני משתמש באחד Elegoo)
  • RGB קתודה נפוצה
  • נגדים 3 * 330Ω
  • לחץ על הכפתור
  • RFID-RC522
  • LCD 1602A-1
  • שקע לקיר ניקו
  • מד פוט 10K Ω
  • 230 - 5V - 7A ספק כוח

כבלים

  • כבל USB-B ל- USB-A
  • כבל חשמל USB-C
  • כבל אתרנט

שׁוֹנִים

  • מגשר זכר-נקבה
  • מגשר זכר-זכר
  • פח הלחמה
  • צינור מתכווץ

חלקים ספציפיים למארז (אופציונלי)

  • 50 * אגוזים ונועזים
  • מארז מתכת 40x40x5 ס"מ עם מכסה
  • קלטת דו צדדית
  • מרווחים בגובה 6 * 1 ס"מ
  • מחזיק לד
  • סרט וולקרו
  • מדריכי כבלים

תוֹכנָה

  • balenaEtcher:
  • מֶרֶק
  • רסבי
  • קוד Visual Studio
  • Arduino IDE

שלב 1: הגדרת Rasbian

הגדרת רסביה
הגדרת רסביה
הגדרת רסביה
הגדרת רסביה

קודם כל, נבהב את רסביאן לכרטיס ה- SD. אנו נעשה זאת באמצעות balenaEtcher.

  1. פתח את balenaEtcher
  2. בחר את התמונה הראסבית
  3. בחר את כרטיס ה- SD שלך
  4. לחץ על Flash והמתן מספר דקות עד שהוא מהבהב

הוספת APIPA בספריית האתחול: נשתמש בכתובת APIPA כדי לתכנת ולהגדיר הגדרות ב- RPI. כדי לעשות זאת:

  1. גישה לספריית האתחול בכרטיס ה- SD
  2. פתח את "cmdline.txt"
  3. הוסף "169.254.10.1" בסוף המסמך ושמור אותו
  4. הוסף קובץ בשם "ssh" לספריית האתחול (אל תיתן הרחבה לקובץ הזה)
  5. לאחר שתעשה זאת תוכל להוציא את כרטיס ה- SD מהמחשב האישי שלך.

מקבל את ה- RPI באמצעות PuTTy

כעת נוכל לחבר את כרטיס ה- SD ל- RPI שלנו, לחבר את ה- RPI למחשב האישי שלך באמצעות כבל אתרנט.

כדי להתחבר ל- RPI נשתמש ב- PuTTy עם כתובת APIPA שלנו.

  1. פתח את PuTTy
  2. מלא את כתובת ה- APIPA שלנו בשם המארח (169.254.10.1)
  3. ודא שהיציאה היא 22 ו- SSH נבחר
  4. עכשיו אתה יכול לפתוח את החיבור
  5. שם המשתמש המוגדר כברירת מחדל הוא: pi
  6. עם סיסמת ברירת מחדל: פטל

הגדרות raspi-config

פתח את raspi-config באמצעות:

sudo raspi-config

  • שנה את סיסמת המשתמש
  • באפשרויות הלוקליזציה בחר את אזור הזמן שלך
  • הגדר WiFi באמצעות אפשרויות רשת ולאחר מכן אפשרות Wi-Fi שבה עליך למלא את ה- SSID והסיסמה שלך.

התקן את פייתון 3

בפרויקט זה אנו משתמשים ב- Python, לכן נקבע את ברירת המחדל ל- Python3 של Python2 תוך שימוש בפקודות הבאות

עדכון-חלופות-התקן/usr/bin/python python /usr/bin/python2.7 1

עדכון-חלופות-התקן/usr/bin/python python/usr/bin/python3 2

חבילות Python

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

pip להתקין בקבוק

pip להתקין Flask_cors pip להתקין Flask_socketio pip להתקין Python-mysql-connecton

מאגר מידע

בהמשך נתקין את מערכת ניהול מסדי הנתונים שלנו (MariaDB) נעשה זאת באמצעות:

sudo apt להתקין mariadb-server

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

כדי להגדיר תן למסד הנתונים סיסמה השתמש בפקודה:

sudo mysql_secure_installation

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

כעת, לחץ על "Y" 3 פעמים כדי: להסיר משתמשים אנונימיים, לא לאפשר כניסה שורשית מרחוק ולהסיר את מסד הנתונים של הבדיקה. לבסוף, לחץ שוב על "Y" כדי לטעון את ההרשאות מחדש.

כעת MariaDB וכל החבילות הדרושות מותקנות בהצלחה.

שלב 2: לתפוס את הקוד ולהגדיר אותו

לתפוס את הקוד ולהגדיר אותו
לתפוס את הקוד ולהגדיר אותו
לתפוס את הקוד ולהגדיר אותו
לתפוס את הקוד ולהגדיר אותו

כעת לאחר שהתקינו את כל החבילות נוכל לתפוס את הקוד.

הקוד זמין ב- Github כך שתוכל לשכפל אותו באמצעות:

שיבוט git

זהו החזית

שיבוט git

זהו סוף הגב

התקנת מסד הנתונים עצמו

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

mysql

צור switchit מסד נתונים צא מ- mysql -u root -p switchit <Your_Path_to_Backend_Repo/switchit.sql

התקנת Apache

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

apt -get להתקין apache2 -y

לאחר מכן החלף את הקבצים ב-/var/ww/html בקבצים בתיקייה מהתיקייה הקדמית.

אם הכל הלך טוב אתה אמור להיות מסוגל להתחבר לאתר שלך באמצעות כתובת APIPA: 169.254.10.1 בדפדפן שלך.

שלב 3: תקשורת ארדואינו

תקשורת ארדואינו
תקשורת ארדואינו

כדי לקרוא את החיישן הנוכחי שלנו ואת חיישן ה- RFID שלנו אנו משתמשים בארדואינו, לשם כך השתמש בקוד הארדואינו המופיע להלן. העלה אותו באמצעות כבל USB-A ל- USB-B ותוכנת arduino IDE. כאשר מעלים אותו, החלק הארדואינו נעשה.

כעת עלינו למצוא את שם המכשיר הטורי ב- PI. לשם כך וודא כי ב- /boot/config.txt "enable_uart = 1" מוגדר כראוי. ודא גם כי "console = serial0, 115200" מוסר מתוך cmdline.txt.

לאחר מכן בדוק את היציאות באמצעות

ls -l /dev

אז אחד השמות הסידוריים צריך להיות הארדואינו. מלא את השם הזה בפונקציית arduinocom ב- app.py

ser = serial. Serial ('/dev/ttyS0', 9600)

עשה זאת רק אם התקשורת הסדרתית אינה פועלת.

שלב 4: חיווט Switch-it

חיווט Switch-it
חיווט Switch-it
חיווט Switch-it
חיווט Switch-it

חיבור הכל די פשוט אם כי עליך לזכור את הדברים הבאים:

  • היזהר בשקע החשמל, 230 וולט יכול להיות קטלני.
  • הקפד להשתמש בממיר רמות לתקשורת בין ה- RPI ל- Arduino.
  • לפני הלחמת ה- RGB, הקפד להשתמש בסיכה האדומה והירוקה. בדוק זאת מראש!
  • בדוק אם שום דבר אינו קצר לפני הפעלת המעגל.

שלב 5: הפעלת הקוד

עכשיו הכל מחובר כהלכה נוכל להריץ את התוכנית שלנו.

כדי לגרום לו לפעול אוטומטית בעת האתחול צור קובץ באמצעות:

סודו ננו myscript.service

לאחר מכן הדבק (הקפד להשתמש בספריית app.py משלך:

[יחידה] תיאור = Switchit After = network.target [Service] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory = // שינוי לספריית app.py // StandardOutput = erft StandardError = יורש הפעלה = תמיד משתמש = pi [התקן] WantedBy = multi-user.target

לאחר מכן לחץ על "ctrl + X" והעתק אותו אל/etc/systemd/system.

לאחר מכן הפקודה follwing לגרום לו לפעול באופן אוטומטי:

sudo systemctl אפשר myscript.service

תוכל למצוא מידע נוסף על זה באתר RaspBerry Pi.

אתחל וסיים

כעת הפעל מחדש את ה- PI שלך באמצעות:

sudo reboot -h עכשיו

כך יוצרים את Switch-it!

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

שלב 6: (אופציונלי) הדיור

(אופציונלי) הדיור
(אופציונלי) הדיור
(אופציונלי) הדיור
(אופציונלי) הדיור
(אופציונלי) הדיור
(אופציונלי) הדיור
(אופציונלי) הדיור
(אופציונלי) הדיור

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

מוּמלָץ: