תוכן עניינים:
- שלב 1: שלב 1: הרכבת החלקים שלך
- שלב 2: שלב 2: חיווט ואלקטרוניקה
- שלב 3: שלב 3: התקנת תוכנת מערכת הפעלה
- שלב 4: שלב 4: עדכן את תצורת JSON
וִידֵאוֹ: תאורת הוקי ליד ה NHL ליד המיטה: 4 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:17
מבוא
"NHL Light" מיועד לאוהדי הוקי שרוצים לעקוב אחר קבוצתם, אך אינם יכולים לצפות בכל משחק. התכונה הטובה ביותר היא שהיא מדמה ציון שערים עם קרן הוקי (מותאמת לקבוצה שלך) ואור.
בנוסף לקרן ההוקי והאור, ל- "NHL Light", יש תצוגה המספקת את הציון הנוכחי או האחרון של המשחק, זמן המשחק או הזמן של המשחק הבא, והתאריך והשעה הנוכחיים.
"NHL Light" פועל על רשימת חלקים פשוטה, שקל להרכיב אלקטרוניקה וקוד הזמין באופן חופשי.
מאפיינים
- תצורה מבוססת דף אינטרנט לבחירת הצוות וה- wifi שלך
- משחק אור וקרן כאשר הקבוצה שלך מבקיעה (גם כשאתה הקבוצה החוץ)
- משחק צליל כדי להכריז על תחילת המשחק
- מנגן צליל כדי להודיע על סיום המשחק
- מספק זמן ותאריך של המשחק הבא, אם אין משחק בעיצומו.
- מציג את זמן המשחק והתקופה הנוכחיים, אם המשחק מתנהל.
- מציג את התאריך והשעה הנוכחיים.
שלב 1: שלב 1: הרכבת החלקים שלך
לפניכם רשימת חלקים.
-
Raspberry Pi W*
- אֲמָזוֹנָה
- אני מעדיף להשיג את שלי מ- Microcenter, אך ניתן למצוא אותו באינטרנט בפחות מקומות במקומות אחרים.
- $10
- כרטיס SD (מינימום 4GB)*
- רמקול - אמזון - $ 2 *
- מגבר - PAM8403* - אמזון - ~ $ 1 כל אחד
- אור - אמזון - ~ $ 5
-
מארז - $ 1*
- של מייקל
- אני ממליץ על מארז עץ קטן מחנות המלאכה של מייקל, אבל אשאיר לך!
-
I2C 2004 LCD - 3-7 $
- אֲמָזוֹנָה
- הקוד תומך בשלושה סוגי LCD, אך I2C 2004 הוא זה שהסתמכתי עליו כערך וגודל הטובים ביותר. (אפשר גם SSD1306)
- 2 טרנזיסטורים - 2N2222A- אמזון
- חוטים / הלחמה שונים 12V
- ספק כוח - אמזון
- ממיר 12V -> 5V באק - אמזון
*קיימת גמישות בכל הנוגע לבחירת חלק זה.
הערה: אתה יכול להתחיל ברוב הפרויקט הזה רק עם פטל הפטל שלך בזמן שאתה מחכה לפריטים אחרים שישלחו.
שלב 2: שלב 2: חיווט ואלקטרוניקה
-
הרכיבו אור
- החיווט לאור הוא לרוץ 12 + לאור.
- הפעל שלילי מהאור דרך אחד הטרנזיסטורים.
- פולט הטרנזיסטור יורד לקרקע.
- אספן הטרנזיסטור עובר ל- Pi Raspberry.
-
להרכיב צליל
- הפעל את הצליל הימני או השמאלי מה- PI למגבר
- הפעל +5V למגבר
- הפעל את הקרקע למגבר אל הטרנזיסטור השני.
- הפעל את פולט המעבר השני לקרקע
- הפעל את אספן הטרנזיסטור ל- Raspberry Pi
- הרכיב חיווט ל- PI
-
זוהי הוראת ה- pinout של ה- PI (חלקן ניתנות להגדרה באמצעות ה- JSON)
-
LCD
- 3 - SDA
- 5 - SCL
- 5 - VCC (+5)
- AMP 8 (GPIO 14)
- אור 10 (GPIO15)
- צליל נכון - GPIO 18
-
שלב 3: שלב 3: התקנת תוכנת מערכת הפעלה
-
הכינו את ה- Raspberry Pi W
- פטל הפטל חייב להיות בעל גרסה עדכנית של Raspbian (או דביאן אחר).
- מומלץ לעקוב אחר ההנחיות הבאות:
- הקפד לכלול קובץ wpa_supplicant wifi.
- שים קובץ ssh על כרטיס ה- sd כדי לאפשר גישה ל- ssh.
-
הכנת תוכנת צד שלישי:
- הפכתי את התהליך הזה לאוטומטי למשוך את כל הכלים הדרושים של צד שלישי, אבל אל תהסס להפעיל אותם באופן ידני ולבדוק כדי לוודא שאף צעד לא ייכשל.
- הורד והפעל את הסקריפט הבא:
להלן פירוט של מה שעושה סקריפט ההתקנה להקמת מערכת ההפעלה. עדיף להריץ שורות אלה באופן ידני, כך שתוכל לעקוב אחר שגיאות.
כותרת סקריפט:
ניתן לקרוא ל- #!/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 המניע את הטרנזיסטור למגבר
מוּמלָץ:
שעון מכתב מעורר MP3 ליד המיטה: 6 שלבים (עם תמונות)
שעון מכתבים מעורר MP3 ליד המיטה: לפרויקט זה רציתי להכין שעון מילה מעורר נוח ופונקציונלי ליד המיטה. התנאים המוקדמים האישיים שלי לשעון מעורר ליד המיטה הם: ניתנים לקריאה בכל תאורה, בעוד שהם לא מסנוורים בלילה שירי אזעקה MP3 מושכים
תאורת המסתורין (תאורת לילה): 4 שלבים
תאורת המסתורין (תאורת לילה): וזה פרויקט קטן ומהנה שקל לבצע, הפרויקט הזה הוא הפניה מ- https://www.instructables.com/id/Arduino-Traffic-L…, אבל אני כבר שינה הרבה מבנה של האתר המקורי, .אני מוסיף עוד לד ואני משתמש בקופסת הנעליים לארוז אותו
שעון ליד המיטה המחובר לילדים: 12 שלבים
שעון ליד המיטה המחובר לילדים: בהתאם להנחיות אלה, תוכל לבנות שעון המופעל על ידי תנועה ויציג תאריך, שעה ואירוע הרלוונטי של היום. הוא יראה מצב לילה כאשר הגיע הזמן לישון וכאשר ילדים יתעוררו הם יכולים לזכור במהירות מה
מיני מנורת לילה / מנורה ליד המיטה: 5 שלבים
מיני מנורת לילה / מנורת לילה ליד המיטה: ראשית, עלי לומר שזה בהשראת מנורת ה- LED העצמאית של חברת Sunbanks. במקום להשתמש בבירו כדי להרחיק את הלייד מהשולחן השתמשתי בפרספקס ברור כדי להקרין את האור מהבסיס. הפרויקט הקטן הזה הוא אב טיפוס
תאורת עמעום- לשעוני המיטה וכו ': 4 שלבים (עם תמונות)
עמעום תאורה- לשעוני המיטה וכו ': יחידה זו נוצרה בגלל שאשתי התלוננה שהיא לא יכולה לראות את שעון חדר השינה כשהחדר שינה בחושך, והיא לא רצתה להדליק את האורות כדי להעיר אותי . אשתי לא רצתה אור מסנוור על השעון, מספיק אור