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

כיצד לשלוט על שקעים באמצעות פטל פטל: 6 שלבים
כיצד לשלוט על שקעים באמצעות פטל פטל: 6 שלבים

וִידֵאוֹ: כיצד לשלוט על שקעים באמצעות פטל פטל: 6 שלבים

וִידֵאוֹ: כיצד לשלוט על שקעים באמצעות פטל פטל: 6 שלבים
וִידֵאוֹ: Ethan Frome Audiobook by Edith Wharton 2024, יולי
Anonim
כיצד לשלוט על שקעים באמצעות פטל פטל
כיצד לשלוט על שקעים באמצעות פטל פטל
כיצד לשלוט על שקעים באמצעות פי פטל
כיצד לשלוט על שקעים באמצעות פי פטל
כיצד לשלוט על שקעים באמצעות פטל פטל
כיצד לשלוט על שקעים באמצעות פטל פטל

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

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

פרויקט זה משתמש בשקעים המבוקרים בתדר רדיו במהירות 433MHz יחד עם משדר RF המחובר לפאי הפטל שלך. השקעים מגיעים עם שלטים שיכולים להפעיל/לכבות שקעים, אבל זה לא כיף! במקום זאת נשתמש בשרת אינטרנט הפועל על פי הפטל המאפשר לכל מי שמחובר לרשת להפעיל או לכבות שקעים מסוימים. חזית אינטרנט לפרויקט זה היא אידיאלית מכיוון שכל התקן המחובר לאינטרנט ברשת שלך יכול לשמש כשלט.

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

אספקה

  • פטל פטל (השתמשתי ב- RPi 3 דגם B+)
  • משדר ומקלט 433MHz (השתמשתי בזה)
  • שקעי 433MHz (השתמשתי בזה)
  • מגשרים נקבה לנקבה (קניתי את החבורה הזו)
  • מחשב או מכשיר כף יד המסוגל לגשת לאינטרנט

שלב 1: הגדר את ה- Raspberry Pi שלך

הגדר את ה- Raspberry Pi שלך
הגדר את ה- Raspberry Pi שלך

התחל בהתקנת הגרסה העדכנית ביותר של Raspbian ב- Raspberry Pi החדש שלך. אם אתה מתכנן להשתמש ב- Pi קיים (מה שאתה יכול לעשות לגמרי), כל שעליך לעשות הוא לוודא שיש לך Python 3 ב- Pi שלך, מכיוון שבזה כתוב כל קוד המקור שאני מספק. כדי לעשות זאת, הקלד

python3

לתוך שורת הפקודה. אם יש לך Python 3, אתה אמור לראות את מסוף הפיתון פתוח. צא מהטרמינל על ידי סגירה או הקלדה

יְצִיאָה()

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

sudo pip3 להתקין בקבוק

אם אין לך פיפ מותקן ב- Pi שלך, יהיה עליך להקליד

sudo apt-get להתקין python3-pip

אני מעדיף להתפתח ב- Raspberry Pi שלי מהנוחות של המחשב השולחני שלי. אם גם אתה מעדיף אפשרות זו, עליך להתקין איזושהי סביבה ל- SSH לתוך ה- Pi. PuTTY יעבוד, אבל אני מעדיף להיות בעל ממשק משתמש (גרפי משתמש גרפי), מה שגורם לך להיראות כאילו אתה ישירות על ה- Pi. עבור אפשרות GUI, תרצה להתקין את VNC Viewer על המחשב עליו אתה מתכוון לעבוד. ישנן גם הגדרות שתצטרך להתאים ב- Pi שלך. הוראות לשינוי ההגדרות ניתן למצוא כאן.

שלב 2: חיבור החומרה שלך

חיבור החומרה שלך
חיבור החומרה שלך

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

pinout

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

מקלט (שבב גדול):

  • GND - כל סיכת טחון ייעודית
  • DATA - פין 11
  • DER - לא מחובר
  • +5V - כל סיכה +5V המיועדת
  • ------
  • +5V - כל סיכה +5V המיועדת
  • GND - כל סיכת טחון ייעודית
  • GND - לא מחובר
  • ANT - לא מחובר

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

מַשׁדֵר:

  • P - סיכה 3.3V
  • DA - סיכה 7
  • G - כל סיכת טחון ייעודית
  • AN - לא מחובר

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

שלב 3: הוספת הקוד

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

השפות המעורבות כאן הן:

  • פִּיתוֹן
  • CSS
  • Javascript
  • HTML
  • JQuery/אייאקס

Python משמש בשרת הבקבוקים וב

RxTx.py

קובץ, המטפל בהעברת הקוד ובקבלה. CSS משמש ליצירת סגנון דף האינטרנט. מי רוצה אתר משעמם !? Javascript משמש בכל טיפול באירוע (לחיצה על כפתור וכו '). HTML הוא אבן הבניין המרכזית של דף האינטרנט. לבסוף, JQuery/Ajax משמשת לתקשורת בין דף האינטרנט לבין מגמת ה- Python.

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

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

Outlet Switch-> comm-- DataRW.py-- keys.py-- RxTx.py-> דף אינטרנט-- סטטי ----- favicon.ico ----- style.css-- תבניות ----- index.html ----- schedul.html-- app.py-- data.file

אתה יכול לשים את תיקיית Outlet Switch בכל מקום ב- Pi שלך. כאשר אתה מוכן להפעיל את שרת האינטרנט שלך, פתח את הטרמינל ב- Pi שלך ו-

CD

(שנה ספרייה) לספריית דפי האינטרנט. לאחר מכן הקלד

python3 app.py

לתוך הטרמינל. אם לא היו שגיאות, אתה צריך להיות טוב ללכת!

נ.ב. אנא התאזר בסבלנות אם אתה נתקל באגים. ניסיתי למעוך את כולם לפני ההעלאה.

שלב 4: תן לזה זריקה

תן לזה זריקה!
תן לזה זריקה!

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

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

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

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

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

שלב 5: איתור באגים וקובץ RxTx.py

איתור באגים וקובץ RxTx.py
איתור באגים וקובץ RxTx.py
איתור באגים וקובץ RxTx.py
איתור באגים וקובץ RxTx.py
איתור באגים וקובץ RxTx.py
איתור באגים וקובץ RxTx.py
איתור באגים וקובץ RxTx.py
איתור באגים וקובץ RxTx.py

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

  • ודא שיש לך מותקן matplotlib ב- Pi שלך. אתה יכול לעשות זאת על ידי הקלדת הדברים הבאים במסוף של הפי:

    • python3

    • לייבא matplotlib

    • אם אתה מקבל שגיאה, עליך להתקין את matplotlib.
    • צא ממעטפת הפיתון באמצעות

      יְצִיאָה()

  • כדי להתקין matplotlib, הקלד

    sudo pip3 התקן matplotlib

  • לתוך הטרמינל
  • הורד את הקובץ המצורף test.py והנח אותו לצד קובץ RxTx.py ב- Pi שלך
  • פתח את מסוף הפיתון ושנה את ספריית התיקייה comm.
  • סוּג

    python3 test.py

  • כאשר כתוב "** התחלת הקלטה **", לחץ והחזק את לחצן הפעלה או כיבוי בשלט הרחוק עד לסיום ההקלטה.
  • התוכנית תטען נתון matplotlib שנראה דומה לאמור לעיל. הגדל עד שתראה את האות החוזר על עצמו כפי שמוצג בתמונות למעלה.
  • ספרו את הסכום הלוגי 1 והלוגי 0 עבור כל הודעה, כאשר הודעה היא איטרציה אחת של האות החוזר ונראה לעיל. אם סך הכל 25, סביר להניח שקובץ RxTx.py אינו אשם. אם אתה נתקל במשהו אחר מ -25, הקפד להגיב למטה, ואעצב מחדש את הקובץ RxTx.py כך שיהיה פתוח יותר (או שאתה מוזמן לנסות זאת).

מה אם אני לא רואה אות שחוזר על עצמו?

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

שלב 6: תהנה

אתה יודע שיש לך אפשרות להפעיל/לכבות שקעים מהטלפון, הטאבלט, המחשב או מכשיר אחר המאפשר אינטרנט שלך! ספרו לי מה דעתכם בתגובות!

מוּמלָץ: