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

תאורת הוקי ליד ה NHL ליד המיטה: 4 שלבים (עם תמונות)
תאורת הוקי ליד ה NHL ליד המיטה: 4 שלבים (עם תמונות)

וִידֵאוֹ: תאורת הוקי ליד ה NHL ליד המיטה: 4 שלבים (עם תמונות)

וִידֵאוֹ: תאורת הוקי ליד ה NHL ליד המיטה: 4 שלבים (עם תמונות)
וִידֵאוֹ: Part 3 - Ann Veronica Audiobook by H. G. Wells (Chs 08 -10) 2024, נוֹבֶמבֶּר
Anonim
Image
Image
תאורת הוקי ליד מיטת NHL ו LCD
תאורת הוקי ליד מיטת NHL ו LCD

מבוא

"NHL Light" מיועד לאוהדי הוקי שרוצים לעקוב אחר קבוצתם, אך אינם יכולים לצפות בכל משחק. התכונה הטובה ביותר היא שהיא מדמה ציון שערים עם קרן הוקי (מותאמת לקבוצה שלך) ואור.

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

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

מאפיינים

  1. תצורה מבוססת דף אינטרנט לבחירת הצוות וה- wifi שלך
  2. משחק אור וקרן כאשר הקבוצה שלך מבקיעה (גם כשאתה הקבוצה החוץ)
  3. משחק צליל כדי להכריז על תחילת המשחק
  4. מנגן צליל כדי להודיע על סיום המשחק
  5. מספק זמן ותאריך של המשחק הבא, אם אין משחק בעיצומו.
  6. מציג את זמן המשחק והתקופה הנוכחיים, אם המשחק מתנהל.
  7. מציג את התאריך והשעה הנוכחיים.

שלב 1: שלב 1: הרכבת החלקים שלך

שלב 1: הרכיב את החלקים שלך
שלב 1: הרכיב את החלקים שלך

לפניכם רשימת חלקים.

  1. Raspberry Pi W*

    1. אֲמָזוֹנָה
    2. אני מעדיף להשיג את שלי מ- Microcenter, אך ניתן למצוא אותו באינטרנט בפחות מקומות במקומות אחרים.
    3. $10
  2. כרטיס SD (מינימום 4GB)*
  3. רמקול - אמזון - $ 2 *
  4. מגבר - PAM8403* - אמזון - ~ $ 1 כל אחד
  5. אור - אמזון - ~ $ 5
  6. מארז - $ 1*

    1. של מייקל
    2. אני ממליץ על מארז עץ קטן מחנות המלאכה של מייקל, אבל אשאיר לך!
  7. I2C 2004 LCD - 3-7 $

    1. אֲמָזוֹנָה
    2. הקוד תומך בשלושה סוגי LCD, אך I2C 2004 הוא זה שהסתמכתי עליו כערך וגודל הטובים ביותר. (אפשר גם SSD1306)
  8. 2 טרנזיסטורים - 2N2222A- אמזון
  9. חוטים / הלחמה שונים 12V
  10. ספק כוח - אמזון
  11. ממיר 12V -> 5V באק - אמזון

*קיימת גמישות בכל הנוגע לבחירת חלק זה.

הערה: אתה יכול להתחיל ברוב הפרויקט הזה רק עם פטל הפטל שלך בזמן שאתה מחכה לפריטים אחרים שישלחו.

שלב 2: שלב 2: חיווט ואלקטרוניקה

שלב 2: חיווט ואלקטרוניקה
שלב 2: חיווט ואלקטרוניקה
שלב 2: חיווט ואלקטרוניקה
שלב 2: חיווט ואלקטרוניקה
  1. הרכיבו אור

    1. החיווט לאור הוא לרוץ 12 + לאור.
    2. הפעל שלילי מהאור דרך אחד הטרנזיסטורים.
    3. פולט הטרנזיסטור יורד לקרקע.
    4. אספן הטרנזיסטור עובר ל- Pi Raspberry.
  2. להרכיב צליל

    1. הפעל את הצליל הימני או השמאלי מה- PI למגבר
    2. הפעל +5V למגבר
    3. הפעל את הקרקע למגבר אל הטרנזיסטור השני.
    4. הפעל את פולט המעבר השני לקרקע
    5. הפעל את אספן הטרנזיסטור ל- Raspberry Pi
  3. הרכיב חיווט ל- PI
  4. זוהי הוראת ה- pinout של ה- PI (חלקן ניתנות להגדרה באמצעות ה- JSON)

    1. LCD

      1. 3 - SDA
      2. 5 - SCL
      3. 5 - VCC (+5)
    2. AMP 8 (GPIO 14)
    3. אור 10 (GPIO15)
    4. צליל נכון - GPIO 18

שלב 3: שלב 3: התקנת תוכנת מערכת הפעלה

  1. הכינו את ה- Raspberry Pi W

    1. פטל הפטל חייב להיות בעל גרסה עדכנית של Raspbian (או דביאן אחר).
    2. מומלץ לעקוב אחר ההנחיות הבאות:
    3. הקפד לכלול קובץ wpa_supplicant wifi.
    4. שים קובץ ssh על כרטיס ה- sd כדי לאפשר גישה ל- ssh.
  2. הכנת תוכנת צד שלישי:

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

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

כותרת סקריפט:

ניתן לקרוא ל- #!/bin/sh -e #באמצעות #curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: הפוך את התסריט הזה לאוטומטי במשהו כמו: curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: הגדרת wifi # TODO: הגדרת סיסמה ומפתחות מורשים # הערות:

עדכון תוכנה ברמת מערכת ההפעלה:

#apt-get stuff (apt-get update && apt-get -y upgrade)> /dev /null apt-get dist-upgrade -y #General Dev apt-get install -y git build-essential python-dev python-pip python-smbus libasound2-dev nodejs # GPIO apt-get install -y raspi-gpio python-imaging python-smbus libasound2-dev # networking apt-get install -y bridge-utils hostapd dnsmasq apt-get clean -y

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

#networking setupecho nhllight>/etc/hostname #TODO: תקן את/etc/hosts #TODO: התקנה br0 mkdir/etc/hostapd/ #הערה: התקנה אחרת מתבצעת באמצעות קבצי התצורה והקליפה כלפי מטה כחלק מהעדכון

עדכן את ספריות הצומת והצומת

#update nodecd/tmp export nodeversion = 8.9.0 #wget https://nodejs.org/dist/v7.4.0/node-v7.4.0-linux-… #wget https://nodejs.org/dist/v7. 4.0/node-v7.4.0-linux-… wget https://nodejs.org/dist/v7.4.0/node-v7.4.0-linux-… tar -xvf node-v $ {nodeversion} -linux-armv6l. tar.xz cd node-v $ {nodeversion} -linux-armv6l rm -f *.md rm -f LICENSE cp -R */usr/local/rm -R/tmp/node-v $ {nodeversion} -linux- armv6l rm /tmp/node-v${nodeversion}-linux-armv6l.tar.xz #TODO: לעשות סימ קישור לצומת בינארי? apt -get remove -y -purge nde node nodejs

#Node setupmkdir/opt/nhl mkdir/opt/nhl/logs mkdir/opt/nhl/horn mkdir/opt/nhl/node_modules/

צומת עדכון

#התקן את התלות של הצומת לספריית nhl לייצא NODE_PATH =/usr/local/lib/node_modules

#HACK - TODO - תקן את זה הצולע שלא יתקין בעולם

cd/opt/nhl npm התקן צולע # צולע, הוא צולע, לא מתקין גלובלי cp -R/opt/nhl/node_modules/צולע $ NODE_PATH npm התקן רמקול # לא מתקין גלובלי cp -R/opt/nhl/node_modules/רמקול $ NODE_PATH npm להתקין i2c-bus #להתקין ברחבי העולם cp -R/opt/nhl/node_modules/i2c-bus $ NODE_PATH npm להתקין oled-i2c-bus #לא להתקין גלובלי cp -R/opt/nhl/node_modules/oled-i2c-bus $ NODE_PATH npm install lcd #wont install globally cp -R/opt/nhl/node_modules/lcd $ NODE_PATH npm install lcdi2c #wont install globally cp -R/opt/nhl/node_modules/lcdi2c $ NODE_PATH

npm להתקין oled-font-5x7 #לא להתקין ברחבי העולם

cp -R/opt/nhl/node_modules/oled-font-5x7 $ NODE_PATH

npm להתקין onoff #לא להתקין ברחבי העולם

cp -R/opt/nhl/node_modules/onoff $ NODE_PATH

#npm להתקין pm2 #לא להתקין ברחבי העולם

#cp -R/opt/nhl/node_modules/pm2 $ NODE_PATH #npm להתקין אקספרס #להתקין באופן גלובלי #cp -R/opt/nhl/node_modules/express $ NODE_PATH

# כל המודולים הגלובליים

npm להתקין express -body -parser child_process pm2 -g

משוך את הקוד האחרון:

#pull git codecd/opt/nhl #JSON הוא wget ליצירה חד פעמית -no -cache -O /opt/nhl/nhl_config.json https://raw.githubusercontent.com/wga22/nodejs/ma… #wget -O /opt/nhl/NHL_work.js https://raw.githubusercontent.com/wga22/nodejs/ma… #call סקריפט אוטומטי להתקנת כל השאר עבור NHL curl -sL https://raw.githubusercontent.com/wga22/nodejs /מא… | sudo -E bash -

הורד את הקרניים!

#pull hornscd/opt/nhl/horn curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash -

עדכן את קבצי התצורה של Raspberry pi - - ייתכן שיהיה עליך לשנות עבור המערכת שלך

#עדכוני קובץconfig#הוספת צליל cp /boot/config.txt /boot/config.txt.bak printf '\ ndtoverlay = pwm-2chan, pin = 18, func = 2, pin2 = 13, func2 = 4' >> / boot/config.txt #turn on i2c printf '\ n / ndtparam = i2c1 = on / n' >> /boot/config.txt printf '\ n / ndtparam = i2c_arm = מופעל / n' >>/boot/config. טקסט

#TODO: האם יש צורך בכך? Cp /etc /modules /etc/modules.bak printf '\ ni2c-dev / ni2c-bcm2708 / n' >> /etc /modules

amixer cset numid = 1

#TODO: הגדרת עוצמת הקול, 60%?

הפוך את האוטומציה לאוטומטית, כגון אתחול ועדכוני קוד:

# עדכון rc.local# הערה: הזזת הקובץ, מכיוון שתקן אחד כולל "יציאה" בשורה האחרונה, כך שלא ניתן לצרף mv /etc/rc.local /etc/rc.local.bak touch /etc/rc.local chmod u+x /etc/rc.local printf '#!/bin/sh'> /etc/rc.local printf '\ n /etc/bootup_nhl.sh> /tmp/rclocal.log' >>/etc/rc.local printf '\ n יציאה 0' >> /etc/rc.local

#TODO: צריך להוסיף משהו לביצוע עדכוני התוכנה הרגילים מדי שבוע ככה# אולי פשוט להעתיק את הקובץ הזה ישירות לתיקייה rc.weekly? rm /etc/cron.weekly/nhl_updater printf '#!/bin/sh / ncurl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash -'> /etc/cron.weekly/nhl_updater chmod u+x /etc/cron.weekly/nhl_updater

דברים אחרים, כמו הגדרת אזור זמן:

ln -sf/usr/share/zoneinfo/America/New_York/etc/localtime

משתנה סביבת עדכון עם node_path

cp/etc/environment /etc/environment.bak printf '\ nexport NODE_PATH =/usr/local/lib/node_modules / n' >>/etc/environment #TODO: הגדר זאת עבור הצומת self.ipaddress = process.env. NODEJS_IP; #TODO: self.port = process.env. NODEJS_PORT || 80;

השתמש ב- PM2 להגדרת שרת הצמתים:

#TODO: התקנת בדיקה PM2cd /tmp /npm התקנה -g pm2 pm2 הפעלה cd /opt /nhl pm2 הפעלה NHL_work.js --node-args = "-max_old_space_size = 100 expose-gc" pm2 start webserver.js --node -args = "-max_old_space_size 100M" pm2 שמור pm2 הפעלה יציאה 0

שלב 4: שלב 4: עדכן את תצורת JSON

הגדר את קובץ התצורה של JSON לצוות שאתה מעדיף וכו '. קובץ זה ממוקם ב- /opt /nhl GO CAPITALS! קובץ JSON config

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

להלן הסבר על כל ערך אפשרי:

  • myteam: זהו קוד 3 האותיות של הצוות שאליו ברצונכם לעקוב
  • איתור באגים: הערכים האפשריים הם 1 (נכון) או 0 (לא נכון), והם ישלטו על כמות ההתחברות שנכתבה.
  • פלט: זוהי השיטה שבה יש להציג ציונים/פרטים. ערכים אפשריים הם:

    • lcd: זהו lcd 2004
    • קונסולה: זה יכתוב רק למסוף (להפעלת שורת הפקודה)
    • oled: תמיכה בתצוגת oled SSD6404
  • אור: ישנם שני סוגים של אורות הנתמכים

    • אזעקה: זה יניע GPIO יחיד להפעלה/כיבוי של טרנזיסטור
    • רב לד: תומך בצבעים רב-צבעיים או מרובי נורות
    • אין: אין אור מצורף
  • מגבר: זהו ה- GPIO המניע את הטרנזיסטור למגבר

מוּמלָץ: