תוכן עניינים:
- שלב 1: דרישות מוקדמות:
- שלב 2: התקן את פייתון ופיפ
- שלב 3: התקן את MPG123 ו- Adafruit Blinka
- שלב 4: כוונן את עוצמת הקול ל -50% ב- Alsamixer
- שלב 5: קצת שיעורי בית: מצא 5 תחנות רדיו שכדאי להקשיב להן
- שלב 6: אופציונלי: גירוד כתובות אתרים באמצעות Vtuner
- שלב 7: הגדר את הכפתורים שלנו
- שלב 8: זהה את סיכות ה- GPIO שלנו
- שלב 9: קוד
- שלב 10: בדוק בארגז החול שלנו
- שלב 11: הגדר את הקוד שלנו להפעלה אוטומטית בעת אתחול
- שלב 12: בדוק שוב
- שלב 13: קופסא ואנחנו סיימנו
וִידֵאוֹ: שמירה על רדיו אינטרנט פשוט וקל: KISSIR: 13 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:11
לפעמים זה פשוט צריך להיות מישוש. ללא ממשק מסוג כלשהו. רק לחצנים.
פטל פאי כנגן רדיו אינטרנט אינו דבר חדש, ויש הרבה הוראות כיצד ליצור נגן רדיו אינטרנט באמצעות פטל פטל עם או בלי צג להזרמת תחנות אינטרנט מרחבי העולם. אם היית בוחר ללכת ללא ראש (ללא צג), עדיין היית זקוק לאמצעי להתממשק עם נגן הפי, בדרך כלל ממשק אינטרנט אם לא אמצעי תקשורת ישיר למארח, כגון ssh. ההנחיה הזו תהיה שונה במקצת; נשתמש בלחיצת כפתור פשוטה לשליחת פקודות ל- pi, ובכך נמנע את הצורך בממשק אינטרנט ומסך LCD. נשמע מספיק קל, נכון (?)
נתחיל בעיצוב בסיסי מאוד באמצעות לחצנים מקודדים בצבע, כל צבע ייצג תחנת רדיו אינטרנטית. נציג קוד פיתון כלשהו ללחיצת כפתור: העיתונות תבצע פקודה להפעלת תחנת רדיו אינטרנט מקודדת מראש באמצעות MPG123, כלי שורת פקודה מעולה להפעלת אודיו בפאי שלנו.
אין צורך להתקדם את כישורי הפיתון שלך. למעשה ממש עברתי מ"העולם העולמי "לכתיבת זה, וכפי שתראו, שאלתי הרבה קוד - כך שאם אוכל לעשות זאת ולתעד אותו במידה מסוימת, לא תהיה למישהו אחר בעיה.
בוא נלך!
אספקה:
חומרים נחוצים
- Raspberry pi/ pi zero w עם כל התיקונים: ספק כוח, כרטיס SD ו- Raspbian או Raspbian lite.
- אינטרנט וגישה לאינטרנט
- מחשב נוסף לביצוע גלישה באינטרנט ויכולת SSH לפאי הפטל
- ממיר דיגיטלי לאנלוגי (DAC) - אופציונלי אבל אתה תהיה אסיר תודה.
- מַגבֵּר
- רמקולים
- חיבור חוט ומגשרים
- מלחם והלחמה
- לוח פרפר לכפתורים
- כפתורי מישוש: פתוחים בדרך כלל- אחד לכל ז'אנר מוזיקה, לחצן הפעלה ולחצן השתקה אופציונלי (מומלץ 7 כפתורים)
- יחידת דיור לכל האמור לעיל (אופציונלי אך מסודר)
שלב 1: דרישות מוקדמות:
נתחיל בהנחה שכבר הגדרת את פאי ה- DAC, ה- DAC והמגבר שלך וגם נניח שיש לך גישה לאינטרנט. בשל כמות אפשרויות ציוד השמע, העדפות ואפשרויות להאזנת שמע, אנו מניחים שההגדרה שלך כבר הושלמה: אמור להיות צליל שיוצא מהרמקולים שלך לפני שתתחיל בפרויקט זה. נצטרך גם ssh ל- pi פטל, לכן באמצעות תצורה של pi, ודא שהממשקים מופעלים ב- ssh. אני אשתמש ב- Raspbian lite, וממליץ לך להתקין מחדש את העותק האחרון על כרטיס SD חדש המיועד לפרויקט זה. אם יצליח נבנה מתקן עצמאי שניתן להשאירו מופעל 24/7 כמכשיר האזנה ייעודי.
שלב 2: התקן את פייתון ופיפ
אני מעדיף ssh ל- pi באמצעות מחשב אחר, ולבצע את כל הפונקציות הנדרשות באמצעות הפעלת ssh, אך אני מניח שאפשר להתקין את ה- pi לראשונה למסך, מקלדת ועכבר ולעבוד ישירות על ה- pi עד שהוא עובדים ולאחר מכן נפרס כעצמאי.
ראשית ניתן לבצע בדיקת תחזוקה שגרתית של מערכת וגרסת הפייתון שלנו:
עדכון sudo apt-get
sudo apt-get upgrade
ודא שמותקן פייתון. בהפעלה מסוף הקלד את השורות הבאות בשורת הפקודה:
פיתון -גרסה
אם אתה רואה פייתון 2.7.13 (או קודם לכן) בוא נתקין את פייתון 3.+:
sudo apt-get להתקין python3
sudo apt-get להתקין python-pip
sudo apt-get להתקין python3-pip
sudo pip3 install -שדרוג pip
שלב 3: התקן את MPG123 ו- Adafruit Blinka
כעת, לאחר שהבסיס הונח, רק כמה התקנות נוספות:
MPG123 היא תוכנת האודיו שתנגן את המוסיקה שלנו. ההתקנה ממש פשוטה:
sudo apt-get להתקין mpg123
עשיתי הרבה מחקר ומצאתי תבנית מצוינת באתר Adafruit על הפעלת קבצי קול באמצעות לחיצות כפתורים, כך שבמקום להתחיל מהתחלה, אפשר להמשיך במסלול שאנשים ב- Adafruit כבר בלטו לנו. התוכנית שלהם מבקשת שנתקין את Adafruit Blinka:
$ sudo pip3 התקן adafruit-blinka
לפני שנמשיך הלאה, בואו נבצע בדיקה מהירה כדי לוודא שיש לנו את הגדרת Alsa:
משחק -גרסה
התוצאות שלנו צריכות לקרוא: גרסה 1.1.3 מאת ירוסלב קייסלה
שלב 4: כוונן את עוצמת הקול ל -50% ב- Alsamixer
כעת ננקט אמצעי זהירות והתאם את עוצמת הקול שלנו ל -50% כדי להימנע מהפתעות מחרישות אוזניים:
בשורת הפקודה, הקלד alsamixer:
מיקסר
אם אנו מסתכלים על מסך של אדום וירוק אדום, או 100% נפח מקסימלי, מומלץ להוריד את עוצמת הקול ל -50% כדי לחסוך את עור התוף. תמיד נוכל להתאים מאוחר יותר (למעלה או למטה) במידת הצורך.
שלב 5: קצת שיעורי בית: מצא 5 תחנות רדיו שכדאי להקשיב להן
נצטרך תחנה אחת לכל כפתור. למעשה, נזדקק לכתובת האתר לתחנה. לחיצה על הכפתור תתקשר לכתובת האתר של תחנת הרדיו באינטרנט בקוד קוד פשוט של שורה אחת. עם זאת אנו מקדימים את עצמנו כך שיש לנו שיעורי בית לעשות; מצא 5 תחנות רדיו וכתובות האתר שלהן. מציאת 5 תחנות רדיו אינה קשה, אך מציאת כתובות האתר שלהן עשויה להיות מסובכת. אני אסביר מדוע בעוד דקה.
SomaFm * הוא מקור מצוין להתחיל איתו, במיוחד אם עדיין אין לך מושג למה אתה רוצה להאזין. יש להם מגוון רחב של אפשרויות מוזיקה אקלקטיות, שאף אחת מהן לא בעיניי פוגעת, אין פרסומות, והחלק הטוב ביותר: הם חולקים בגלוי את כתובת האתר שלהם. כדי לתפוס את כתובת האתר, לחץ על תמונת התחנה שבה אתה מעוניין, ובסרגל הניווט בצד שמאל לחץ על "קישורי זרם ישיר". משם, מצא את קטע ה- MP3 וגרד את כתובת האתר של קצב ההשמעה הגבוה ביותר (כלומר 128 פעימות 64). הדבק את כתובת האתר לעורך טקסט או פנקס רשימות לעת עתה.
כדוגמה, כדי לגרד את סלעי חג המולד, כתובת האתר תהיה: (איננו זקוקים לתיאור השרת)
ice4.somafm.com/xmasrocks-128-mp3
זה נהיה קצת יותר מסובך מחוץ לעולם של SomaFm. תחנות רבות משתמשות במתווך בין המאזין לתחנה, בין אם זה לצורך פרסום, שיווק או אולי מעקב - ואני בדרך כלל מנסה להימנע מתחנות מסוג זה. מכיוון שהמתווכים מעדיפים שתקשיב לתחנה דרכם, בדרך כלל די קשה למצוא את כתובת האתר; וכאן נכנס Vtuner.
*אני אצטער אם לא אבקש ממך לשקול תרומה לתחנת הרדיו האהובה עליך, מכיוון שרבות מהתחנות מסתמכות אך ורק על תמיכת מאזינים.
שלב 6: אופציונלי: גירוד כתובות אתרים באמצעות Vtuner
עכשיו מגיע החלק המהנה …. בעמוד הבית של Vtuner, עיין בקישור הענק של רשימת התחנות שלהם בפינה הימנית העליונה. בחר ז'אנר מוזיקה שמעניין אותך ולאחר מכן מיין לפי המהירות המהירה ביותר, שם תראה רשימת תחנות. בחר תחנה שאתה חושב שאתה עשוי לאהוב, לחץ על כפתור הקישור או הפעל וטעום את המוזיקה. אם זה לא בשבילך, אל תדאג, חזור על התהליך עד שנמצא אחד שמתאים להנאה ארוכת טווח. בצילום המסך שלי בחרתי בגרסת האימפולס הדיגיטלי של מוזיקת קאנטרי ובמסך הבא שמתי לב שהיא משחקת מחוץ לקרואטיה. מוזיקת קאנטרי מקרואטיה נשמעת מעניינת למדי.
אני אוהב את זה. אבל איך אני משיג את כתובת האתר? כל שעליך לעשות הוא לבצע לחיצה ימנית על הרווח הלבן מימין לתמונת התחנה, מתחת לשם התחנה, ובחר "הצג מקור דף" וגלול מטה לשורה 150 בערך. אנו מחפשים את השורה שאומרת "// נסה לטפל ב- icecast ". והכתובת נמצאת מיד מתחת!
orion.shoutca.st:8110/stream
די חלקלק!
חזור על שלב זה עד שיהיו לנו לפחות 5 תחנות ברשימה.
אופציונלי כפול: למידה נוספת, אם אתה יכול למצוא 5 ז'אנרים של מוסיקה שאתה מעוניין בהם (בניגוד ל -5 תחנות), בנה רשימה של תחנות רדיו עבור כל ז'אנר ושמור את הרשימות כקבצי טקסט. נחזור לזה מאוחר יותר.
שלב 7: הגדר את הכפתורים שלנו
החלק החשוב ביותר! מסירים את האבק של הלחמה הישנה או לפחות מחברים אותו ואופים את האבק. הגיע הזמן להלחם. אני משתמש ב -4 לחצני לחיצה רגעיים, שנפתחים בדרך כלל. אני אבנה מערך של כפתורים (תמונה משמאל), ואצמיד אותם ללוח פרפ. קשה להבחין בתמונה, אך הכיוון של שיני הכפתורים פועל כולם צפון-דרום. בצד ימין, אתה יכול לראות היכן ניהלתי מעקה קרקע עבור חוטי הקרקע שלי והצמדתי כמה כבלי מגשר זכר לצד הנגדי של כל כפתור. במקום להיות בעל 7 חיבורי קרקע, המסילה תאפשר לנו לחלוק חיבור קרקע אחד ל- pi לכולם. התוצאה הסופית היא לוח ופלים עדין שיהיה מותקן בחלקו העליון של הרדיו באמצעות כמה ברגים דרך חורי הטייס המסופקים. רק צמרות הכפתורים יופיעו דרך החריץ שחתכתי מהחלק העליון. מכיוון שהמשטח העליון שלי הוא בעובי של 1/4 אינץ 'בלבד, אני רוצה להיזהר לא להבריז יותר מדי. הדבק עשוי להיות מועיל בכדי לשמור על לוח הפרפסים מחובר לרדיו.
שלב 8: זהה את סיכות ה- GPIO שלנו
בהוראה היחידה שלי, הצגתי שימוש חדש עבור כובעי הקול הישנים של Google AIY גרסה 1. במדריך הלא פופולרי (או פופולרי למדי), הזכרתי כמה התרשמתי מעיצוב הכובע עצמו. יש לי כמה שוכבים, אז אני אבנה אב טיפוס באמצעות הכובע מכיוון שיש בו גם את ה- dac וגם את המגבר.
בואו נזהה כעת שישה סיכות שיארחו את לחיצות הכפתורים שלנו. אבקש ממך להתמקד בצד השמאלי של כובע ה- AIY של Google, שם כתוב "סרווס". יש עמוד של 6 עיניים לסיכה שבה אני מצרף והלחמתי את כפתורי הזכר שלי מהשלב הקודם שלנו. אם אתה עובד בלי הכובע הקולי של Google, אין לך מה לדאוג - התמונה מימין תנחה אותך. בכל מקרה נעבוד עם סיכות gpio (BCM) 26, 06, 13, 05, 12, ו -24 מלמעלה למטה (או 0-5). GPIO #24 יהיה שמור ללחצן השהיה אופציונלי.
אל תשכח לצרף גם את חיבור הארקה.
שלב 9: קוד
אני בספק אם הקוד ישתנה מכאן, אולם לגרסה האחרונה של קוד הפיתון אנא בקר ב- github שלי. צירפתי עותק החל מה- 2019-12-18 בשם pytiful3.py.
זה לא הקוד היעיל ביותר שתראו אי פעם, והוא די מילולי, אבל הוא מבצע את העבודה.
נתחיל ביצירת ארגז חול לשחק בו. ממדריך הבית שלנו, צור ספרייה על פטל הפטל שלנו שנקראת kissir:
מקדיר קיסיר/
והעתק את תוכן הקובץ pytiful3.py לספרייה על ידי פתיחת הקובץ לדוגמה בעורך טקסט, ושימוש
sudo nano kissir/pytiful3.py
העתק / הדבק את תוכן הקובץ בסקריפט הפיתון החדש שלנו. אל תשכח לשמור את העבודה שלנו באמצעות Ctrl-x, Y והזן.
אם אתה רוצה סיור מהיר בתסריט, אנו מייבאים את מודולי הפייתון שאנו נזדקק להם, ולאחר מכן אנו מגדירים את הכפתורים שלנו ומקצים סיכת gpio לכל אחד משבעת הלחצנים. יהיו 5 תחנות רדיו (אתה מוזמן לערוך לפי העדפת התחנה שלך), כפתור עצירה ולחצן כיבוי. בעוד הלולאה האמיתית פועלת ופועלת עד ללחיצה על כפתור, אשר ברוב המקרים יעצור כל הפעלה קיימת של mpg123 ותתחיל לנגן את התחנה שהוקצתה ללחצן שנלחץ. כפתור ההשהיה/עצירה הוא לא ממש כפתור השהייה אלא יותר מתג הרג מכיוון שאיננו יכולים להשהות את רדיו האינטרנט. רדיו אינטרנט לא מחכה לאיש.
שלב 10: בדוק בארגז החול שלנו
לפני שנפרס את הרדיו, בעודנו בפגישת ssh שלנו, נווט אל תיקיית kissir שבה מאוחסן התסריט שלנו. אנו יכולים פשוט להריץ את התסריט משורת הפקודה באופן ידני על ידי הקלדה:
python3 pytiful3.py
אם הציצת קודם בקוד, כנראה שמת לב שהשארתי כמה הצהרות מודפסות כדי שנוכל לדעת מה קורה. אם הכל הסתדר כראוי, תהיה לנו הודעה המציינת "לחץ על כפתור". זה אומר לנו שהתסריט שלנו פועל והוא עבר בדיקת קוד מקדימה. הניסיון הראשוני שלי היה לולאה אינסופית של "מוסיקה מושהית - לחץ על כפתור כדי להמשיך", וגיליתי שכפתור ההשהיה שלי מחובר להיות סגור תמיד במקום פתוח בדרך כלל. אני מקווה שהיה לך מזל טוב יותר עם שלב ההלחמה.
Ctrl-C יעצור את התסריט אם עליך להפסיק.
אז אם תראה "לחץ על כפתור", למה אנו מחכים? בחר כל אחד מחמשת לחצני תחנות הרדיו שלנו.
רוב הסיכויים שתשמעו רמקול פופ ליזום השמעת המוסיקה, ואני לא יכול לעזור בזה כרגע. Mpg123 מאפשר סיומת "-טעינה 1" לאחר כתובת התחנה בפקודה os.system, אולם לא יכולתי לדעת אם זה משנה. זה אמור לאפשר חיץ קל.
עוד קצת קוד שאולי תהית לגביו: יש דגל "-f 7000" לאחר קריאת mpg123. זה מקטין את עוצמת הקול למרחק רב של עוצמת הקול המרבית. נפח מלא יהיה 32K. כפי שאני מבין, סולם עוצמת הקול אינו קנה מידה לינארי, כך שאני לא יכול לומר שהוא רק חמישית מהנפח המקסימלי, אבל עדיין חזק מאוד. הייתי צריך לעשות את זה כי כרטיס הקול שלי - כרטיס הקול הקולי של Google AIY, לפעמים לא משחק טוב עם Alsamixer.
המשך לבחור כפתורים לבחירתך, נשען, הרגע ותהנה מהנוחות של האזנה לעת עתה.
שלב 11: הגדר את הקוד שלנו להפעלה אוטומטית בעת אתחול
אז אם הכל פועל היטב ונהנית מהמיזם של שורת הפקודה של ארגז החול, זה זמן טוב להפוך את טעינת הסקריפט לאוטומטית. ודא שאתה עדיין בספריית kissir והנח את קוד הסקריפט בפח המשתמש:
sudo cp pytiful3.py/usr/local/bin/
הפוך אותו להפעלה:
sudo chmod +x /usr/local/bin/pytiful3.py
כתוב סקריפט של מעטפת להפעלה בעת ההפעלה:
סודו ננו pytiful3.sh
והכנס את הטקסט הבא:
#! /bin/sh ### BEGIN INIT INFO # מספק: pytiful3.py # Required-Start: $ remote_fs $ syslog # Required-Stop: $ remote_fs $ syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 ### END INIT INFO # ודא שרמת עוצמת הקול אינה רועשת TODO # בצע פונקציות ספציפיות כאשר מתבקש ממערכת המערכת "$ 1" בהתחלה) הד "התחלת pytiful3.py" /usr/local/bin/pytiful3.py &;; עצור) הד "עצירת pytiful3.py" pkill -f /usr/local/bin/pytiful3.py;; *) הד "שימוש: /etc/init.d/pytiful3.sh {start | stop}" יציאה 1;; יציאת esac 0
העבר אותו ל- init.d:
sudo mv pytiful3.sh /etc/init.d/
הפוך אותו להפעלה:
sudo chmod +x /etc/init.d/pytiful3.sh
רשום את הסקריפט להפעלה בעת ההפעלה:
ברירות מחדל של sudo update-rc.d pytiful3.sh
שלב 12: בדוק שוב
כעת, לאחר שטעינת התסריט שלנו מופעלת להפעלה, זכור כי כל שינויים שאנו מבצעים צריכים להעביר לפח המשתמש, והתסריט היפה שלנו, kissir/pytiful3.py, הוא רק יתום כעת. אבל בצד הבהיר, עדיין יש לנו ארגז חול לשחק בו. כנראה שאמשיך לשחק עם התסריט, לערוך שינויים ולשמור אותו כגרסה חדשה בעתיד הקרוב. זה עדיין פרויקט עובד.
בואו נעשה אתחול מחדש, נחכה שה- pi יופעל מחדש, ולאחר כדקה נלחץ שוב על כפתור.
אם עוצמת השמע שלך נמוכה מאוד, זכור שיש לנו עוצמת מיקסר גם ב- 50%, כך שנוכל להעלות אותה בהתאם משורת הפקודה.
בתור התחלה, דבר אחד שצריך הוא ערך נפח גלובלי, במקום לשנות את רמת עוצמת הקול 5 פעמים שונות.
היי, מה עם הרשימה של תחנות הרדיו שיצרנו בשלב מס '6? ובכן, מסתבר של- MPG123 יש פקודת בחירה אקראית. זה פשוט כמו בניית רשימה של כתובות אתרים לתחנות, ובמקום לקרוא לכתובת אתר של תחנת רדיו אחת, פשוט השתמש
"btn1234_choice = random.choice (btn1234)", מיד לאחר זיהוי רשימת התחנות שלנו, כאשר btn1234_choice היא הרשימה שלנו. אל תשכח להשתמש בסוגריים מרובעים סביב רשימת התחנות שלנו המופרדות בפסיקים. קריאת הפקודה בתהליך משנה משמיעה את הבחירה האקראית שלנו:
subprocess.call (['mpg123', '-q', btn1234_choice, "-טעינה 1"])
שלב 13: קופסא ואנחנו סיימנו
אם הגעת לשלב זה, העבודה הושלמה! ברכותינו - הרגע בניתם נגן רדיו אינטרנט עצמאי.
בהתאם לציוד שיש לך (רמקולים, dac ומגבר), ייתכן שאתה תוהה כיצד להסתיר כמה מהחוטים המונחים. אולי עוד הוראה ליום אחר, אבל אם אתה מתכנן להכין יחידת דיור שתוכל להכניס אליה כמה מהחוטים, אני ממליץ לתת לעצמך הרבה מקום נוסף.
כפי שאתה יכול לראות בתמונות למעלה - למעשה הכנתי שני קיסירים, האחד בעזרת שרידי תקלה דבקת בניסיון הראשון שלי (מהומור מעוות מגיע לוחות מעוותים). היחידה השנייה משתמשת בממריצי קול ולא ברמקולים קונבנציונאליים, ואם קלטת את שם המכשיר באחד מצילומי המסך שלי, קראתי לו slimbox.
מצאתי את הפרויקט הזה כיפי למדי. בשתי הפעמים. בהחלט לא פרויקט קשה, אולי מעט זמן אך מתגמל מאוד. אני מקווה שתיהנו גם מההקשבה שלכם.
מוּמלָץ:
לוח המחוונים של COVID-19 (פשוט וקל): 4 שלבים
לוח המחוונים של COVID-19 (פשוט וקל): בכל מקום יש התפרצות אדירה של נגיף ה- COVID-19 החדש. היה צורך לעקוב אחר התרחיש הנוכחי של COVID-19 במדינה. אז בהיותי בבית, זה היה הפרויקט שחשבתי עליו: " לוח מידע " - דא
נקודת גישה ESP8266 NodeMCU (שרת אינטרנט) עבור שרת אינטרנט עם חיישן טמפרטורה DT11 והדפסת טמפרטורה ולחות בדפדפן: 5 שלבים
נקודת גישה ESP8266 NodeMCU (AP) עבור שרת אינטרנט עם חיישן טמפרטורה DT11 וטמפרטורת הדפסה ולחות בדפדפן: שלום חברים ברוב הפרויקטים בהם אנו משתמשים ב- ESP8266 וברוב הפרויקטים אנו משתמשים ב- ESP8266 כשרת אינטרנט כך שניתן יהיה לגשת לנתונים ב כל מכשיר באמצעות wifi על ידי גישה לשרת האינטרנט המתארח על ידי ESP8266 אך הבעיה היחידה היא שאנחנו צריכים נתב עובד עבור
פשוט וקל ירי ספיידרמן: 12 שלבים
פשוט וקל ספיידרמן-יריות אינטרנט: ראית סרט ספיידרמן? ספר קומיקס של ספיידרמן? משהו שקשור במעורפל לספיידרמן? ספיידרמן לכאורה נמצא בכל מקום. למה שלא תעשה יורה אינטרנט פשוט? לאחר קצת תרגול, יצרתי עיצוב מחומרי בית שניתן ליצור
רדיו אינטרנט/ רדיו אינטרנט עם Raspberry Pi 3 (ללא ראש): 8 שלבים
רדיו אינטרנט/ רדיו אינטרנט עם Raspberry Pi 3 (ללא ראש): HI האם אתה רוצה אירוח רדיו משלך דרך האינטרנט אז אתה נמצא במקום הנכון. אנסה לפרט כמה שיותר. ניסיתי כמה דרכים שרובן היו זקוקות לכרטיס קול אשר לא היססתי לקנות. אבל הצליח למצוא
מעמד למחשב נייד פשוט וקל לחיקך: 4 שלבים
מעמד למחשב נייד פשוט וקל לחיקיך: הסתכלתי סביב בהמון חנויות למעמד למחשב נייד שמקבל זרימת אוויר למחשב הנייד, אך כזה שבו אוכל להשתמש בו באמת על ברכי. לא מצאתי שום דבר שהוא מה שרציתי, אז החלטתי להכין לבד