דף הבית » איך ל » בניית מחוון LED עם פטל פטל (לדואל, מזג אוויר, או כל דבר)

    בניית מחוון LED עם פטל פטל (לדואל, מזג אוויר, או כל דבר)

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

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

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

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

    מה אני צריך?

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

    אם אתם מחפשים לעשות את הפרויקט הזה על התקציב, נוכל בביטחון לומר לך כי המודל החדש ביותר פטל פאי הוא מוגזם משמעותי עבור העבודה ואנחנו ממליצים לך לפוצץ את האבק של פטל ישנים יש לך דחף בארון או להרים זול בשימוש אחד off eBay או כמו. תקציב חכם את long-in-the- שן א פטל פייס 1 דגם A או דגם B snagged off eBay עבור $ 10-15 הוא מושלם בכושר עבור פרוייקט זה על פני רכישת חדש $ 35 הנוכחי הדור Pi.

    בנוסף שיש יחידה פונקציונלית Pi עם Raspbian מותקן על זה תצטרך את הדברים הבאים:

    • 1 מודול LedBorg (~ $ 5.00 עם משלוח 4 $ מבריטניה לארה"ב, עובד עם כל דגמי פייס דגמים).
    • 1 Clear Pipberry Pi מקרה תואם עם דגם פי מסוים שלך כמו במקרה זה Raspberry Pi 1 במקרה B.

    הערה: את פי / ברור קפוא במקרה הוא אופציונלי לחלוטין, אבל אם אתה משתמש במקרה אטום אז מחוון LED שלך יהיה מוסתר בפנים. אתה גם צריך לחתוך חור במקרה שלך כדי לאפשר את האור או להשתמש בכבל הרחבה GPIO עם ערכת breakout כמו זה אחד מ Adafruit תעשיות, כדי לקשור את LedBorg כדי שלך פספלרי Pi. תוך שימוש בכבל breakout מוסיף כ 8 $ על חשבון הפרויקט הוא מציע יותר פוטנציאל עבור התאמה אישית של המוצר הסופי, כי אתה יכול בקלות רבה יותר מקום LED בתוך דברים או תחת משהו שאתה רוצה להאיר.

    התקנת LedBorg

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

    התקנת המודול היא הצמד כפי שהוא נועד כדי להתאים ישירות מעל פינים GPIO על פי. ראשית, הכוח למטה שלך Pi לפתוח את המקרה.

    החלק החשוב ביותר של תהליך ההתקנה הוא כי אתה מכוון את המודול כך סמל LedBorg הוא הקרוב ביותר למודול RCA על הלוח פאי פספרי (ולכן הקצה של LedBorg הוא סומק עם הקצוות של הלוח פיי עם התלוי חלק של LedBorg תלוי על לוח פיי ולא את הקצה). ראה את התמונה לעיל.

    בזמן שיש לך את לוח ה- FI פתוח, עכשיו יהיה זמן מצוין כדי לכסות את מחוונים LED על הלוח (ליד יציאות USB), במיוחד אם אתה משתמש במקרה ברור. אתה לא רוצה שזה יהיה מבלבל לקרוא את מחוון LedBorg שלך כי נוריות החיווי של צריכת החשמל ושל הרשת כה בהירות.

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

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

    התקנת תוכנת LedBorg

    PiBorg מספקת חבילת תוכנה נהדרת עבור LedBorg הכוללת גם בקר GUI וכן נהגים לגשת LedBorg משורת הפקודה.

    לפני שנתחיל אתה צריך לוודא שאתה תופס את החבילה הנכונה עבור הגירסה שלך של Rasbian ואת הגרסה # של הלוח שלך Raspberry Pi.

    אם יש לך חורים הרכבה (נמצא על ידי יציאות USB בין הכוח יציאת HDMI) אז זה גרסה 2. אתה גם צריך לדעת את גירסת הליבה של ההתקנה שלך Rasbian. פתח את המסוף והזן את הפקודה הבאה כדי לבדוק:

    uname -r

    ברגע שיש לך את מספר הרוויזיה ואת מספר הקרנל, אתה יכול לבקר את החבילה סעיף כאן כדי לתפוס את הקישור לחבילה שלך. במקרה שלנו אנו משתמשים בלוח גרסה 1 עם הקרנל 3.6.11 כך שנוכל לתפוס את קובץ ה - rsbian 2013-02-09-rev1.zip.

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

    הערה: עליך להחליף את כתובת האתר בפקודה השלישית עם כתובת האתר של החבילה עבור שילוב הלוח / הקרנל שלך.

    mkdir ~ / ledborg-setup
    cd ~ / ledborg-setup
    wget -O setup.zip http://www.piborg.org/downloads/ledborg/raspbian-2013-02-09-rev1.zip
    לפרוס את setup.zip
    chmod + x install.sh
    ./install.sh

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

    לחץ על הסמל LedBorg כדי להפעיל את מעטפת GUI. אתם תטופלו לממשק בחירת הצבע כך:

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

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

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

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

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

    הד "000"> / dev / ledborg

    האופן שבו LedBorg מטפל בערכי RGB הוא ש 0 פירושו שהערוץ כבוי, 1 פירושו שהערוץ הוא חצי הספק, ו- 2 פירושו שהערוץ מלא. כך למשל 001 היה להגדיר את הערוץ האדום ב 0%, ערוץ ירוק ב 0% ואת הערוץ הכחול ב 50% כוח.

    שנה את הערך ל 002 ואת הפלט LED נשאר כחול אבל הופך בהיר יותר כי הערוץ הכחול עכשיו 100% פלט. שנה את הערך ל 202 ואת האדום וכחול בשילוב מלא כוח לעשות צבע מגנטה.

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

    הגדרת LedBorg שלך כמו מחוון גשם

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

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

    לאחר שתקבל את מפתח ה- API שלך, בקר ב- Weather Underground וחיפש את העיר שברצונך לפקח עליה. במקרה שלנו אנחנו הולכים לפקח על סן פרנסיסקו, קליפורניה. כתובת האתר של דף התחזית של San Fransisco היא:

    http://www.wunderground.com/US/CA/San_Francisco.html

    החלק החשוב עבור המטרות שלנו הוא החלק האחרון של כתובת האתר: /CA/San_Francisco.html. אנו נשתמש בזה כדי לערוך את כתובת האתר החזויה עבור כלי ה- API. כתובת האתר הבסיסית היא:

    http://api.wunderground.com/api/YOUR API מפתח KEY / תחזית / q / STATE / CITY.json

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

    ברגע שיש לך את כתובת ה- API עם מפתח ה- API שלך ואת המדינה / העיר מוכנס, תוכל לערוך את סקריפט Python הבא על ידי יצירת מסמך טקסט חדש ב- Pi שלך באמצעות Leafpad והדבקה את הקוד הבא לתוכה:

    ייבוא
    ייבוא

    req = urlopen ('http://api.wunderground.com/api/YOUR API KEY / Forecast / q / STATE / CITY.Json')
    parsed_json = json.load (req)
    pop = int (parsed_json ['Forecast'] ['txt_forecast'] ['expectedday'] [0] ['pop'])

    # להלן ערך באגים.
    # לערוך את חשיש ולשנות
    # מספר שלם ל 0-100 כדי לבדוק
    # תגובה LED.

    # pop = 0

    - "הסיכוי הנוכחי של משקעים הוא . 'פורמט (pop)

    # הגדרת ברירת המחדל היא להדליק את הנורית
    # עבור כל סיכוי לגשם מעל 20%. אתה יכול להתאים
    # הערך ב- "if pop 20:" כרצונך.

    אם pop 20:
    LedBorg = פתוח ('/ dev / ledborg', 'w')
    LedBorg.write ('002')
    דל LedBorg
    - ("גשם!")
    else
    LedBorg = פתוח ('/ dev / ledborg', 'w')
    LedBorg.write ('000')
    דל LedBorg
    ("אין גשם!")

    שמור את הקובץ בשם wunderground.py בספריה / home / pi /. פתח את המסוף והקלד את הפקודה הבאה:

    python wunderground.py

    אם הזנת את מפתח ה- API ואת קודי המדינה / העיר שלך כהלכה, עליך להשיב לבעיה תגובה שנראית כמו:

    אם המשקעים הוא ניבא עבור האזור שלך פלט LedBorg שלך צריך להיראות כך:

    עכשיו מחכה ליום גשום כדי לבדוק כראוי את התסריט יהיה מייגע. אם אין סיכוי לגשם באזור שלך היום ואתה רוצה לראות את הנורית LED למעלה, לערוך את התסריט wunderground.py ולהחליף את הערך "פופ = פופ" ערך מעבר בשורה 13 עם ערך גדול מ -20 כגון 60 כי התחזית שלנו חזר. רק תזכור לשנות את הקו בחזרה "pop = pop" בסיום.

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

    הגדרת LedBorg שלך כמחוון של Gmail

    מי לא אוהב את תיקון הדופמין שמגיע עם הצגת דוא"ל חדש בתיבת הדואר הנכנס שלהם? בחלק זה של המדריך אנחנו הולכים להראות לך איך להשתמש LedBorg כמחוון Gmail חדש. בדיוק כמו בפעם האחרונה, אנחנו הולכים לשלב קלט חיצוני (במקרה זה הזנת Atom במקום API) ו סקריפט פשוט לנהוג LED שלנו.

    אנחנו צריכים להרחיב את הפונקציונליות של ההתקנה פייתון שלנו קצת על ידי התקנת FeedParser, RSS Python / Atom הזנה כלי קריאה. פתח את המסוף והזן את הפקודה הבאה:

    sudo easy_install עדכון

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

    ייבוא

    # הזן את שם המשתמש שלך ב- Gmail
    # וסיסמא. אל תכלול
    # החלק של @ gmail.com
    # שם המשתמש שלך.

    שם משתמש = "שם משתמש"
    password = "password"

    mail = int (feedparser.parse ("https: //" + username + ":" + password + "@ mail.google.com/gmail/feed/atom")["feed"]["fullcount"])

    # להלן ערך באגים.
    # לערוך את חשיש ולשנות
    # מספר שלם ל 0 או 1 כדי לבדוק
    # תגובה LED.

    # mail = 0

    אם דואר> 0:
    LedBorg = פתוח ('/ dev / ledborg', 'w')
    LedBorg.write ('020')
    דל LedBorg
    ("מייל!")
    else
    LedBorg = פתוח ('/ dev / ledborg', 'w')
    LedBorg.write ('000')
    דל LedBorg
    ("אין דואר!")

    שמור את הסקריפט כ- gmailcheck.py. פתח את המסוף והקלד את הפקודה הבאה:

    python gmailcheck.py

    אם יש לך דוא"ל יושב בתיבת הדואר הנכנס שלך ב- Gmail LED יהפוך ירוק תקבל תגובה כזו:

    אם יש לך דואר בתיבת הדואר הנכנס שלך ב- Gmail, LedBorg שלך ייראה כך:

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

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

    הגדרת עבודה Cron להפעלת הסקריפט שלך

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

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

    הד "000"> / dev / ledborg

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

    בסוג הטרמינל:

    sudo crontab -e

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

    אם ברצונך להגדיר את סקריפט הגשם, הזן את השורה הבאה בטבלת cron:

    * / 5 * * * * python /home/pi/wunderground.py

    הקש על CTRL + X כדי לצאת; בחר כן כדי לשמור ולשנות את שולחן cron הקיים. הערך שהכנסנו בטבלת הקרון "* / 5 * * * *" קובע את התסריט להפעלת כל 5 דקות, לתמיד.

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

    * / 1 * * * * python /home/pi/wunderground.py

    ערך זה מפעיל את סקריפט gmailcheck.py בכל דקה עבור הודעת עדכון מהירה יותר.


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

    לבסוף, אני רוצה להודות לכל המשאבים הגדולים הייתי עובד על הפרויקט הזה. זה כבר קצת יותר מעשור מאז הייתי פעיל כותב תוכניות וזה לקח כמה דופק כדי לקבל את האבק והחלודה החוצה. התורמים ב / r / LearnPython עזר לי להתעסק ב פלט ה- API עבור Weather Underground, ללמוד איך מייקל על מיץ 'טק עסקה עם עדכון Atom של Gmail עשה ניתוח זה עבור LedBorg קל, וללמוד את מודולי למידה Python ב קוד האקדמיה היה דרך מצוינת לאסוף את התחביר הבסיסי והמבנה של שפה שלא השתמשתי בה מעולם.