תוכן עניינים:
וִידֵאוֹ: Beargardian: 5 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:16
היי חברים לבית הספר הייתי צריך רעיון לפרויקט. אז חשבתי שזה חייב להיות פרויקט עם פטל הפטל וזה מקומי. פתאום עלה לי רעיון מצוין ואל תשאל אותי איך אני משיג את הרעיון הזה אבל חשבתי על שדרוג של צג תינוקות. רק תחשבו שנייה על הרעיון הזה, לרוב המסכים לתינוקות יש רק את הפונקציה להאזין לחדר של התינוק.
התכונות
- מופע אור קטן עם צבעים מתכווננים
- מצלמה שמציגה לך תמונות חיות
- רמקול להשמעת מוזיקה
- חיישנים ללכוד את תנועת התינוק
- כל מה שמופיע באתר
מידע קצר
תן לי להסביר זאת בגרסה קצרה. אז אנחנו צריכים אתר אינטרנט ולפרויקט הזה אני משתמש בבקבוק, אנחנו צריכים גם מסד נתונים ואני משתמש ב- mysql, גם סקריפט שמריץ את החומרה וזה עם פייתון (3) וכאחרון אנחנו צריכים התקנת שרת. זה יהיה nginx ב- PI.
מה אנחנו צריכים
- ה- Raspberry Pi 3
- המנוע החורג 28BYJ
- שבב המנוע החורג ULN2003 צעד צעד
- RGB מנורה עם 3 נגדים 330Ohm
- מצלמת Pi NoIR V2
- החיישן הקולי HC-SR04
- מודול המיקרו מבית ardiuno
- ה- MAX98357A
- רמקול 8 אוהם
- ואל תשכח לקנות דוב
הגדרת פטל פאי ----------------------------------------------- -------------------------------------------------- --------------------------
בהתחלה עלינו להתקין את ה- Pi. התחל כבר להתחבר באמצעות מרק, אם אין לך מרק אני ממליץ לך להוריד את זה, פשוט הקלד את ה- IP הסטטי של ה- Pi עם ssh ותלך עם זה. אם אתה צריך להתקין את ה- Raspberry Pi אז קיבלתי חדשות רעות, אני לא מסביר את זה בפרויקט הזה.
התקן חבילות
עדכון sudo apt
sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3
סביבה וירטואלית
python3 -m pip להתקין -שדרוג pip setuptools גלגל וירטואלי
mkdir {שם התיקייה של הפרויקט שלך} && cd {שם התיקייה של הפרויקט שלך} python3 -m venv-system-site-packages env מקור env/bin/activ python -m pip התקן את mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask- MySQL mysql-connector-python passlib
כעת עליך לשכפל את מאגר git בתיקיית הפרויקט שלך
github.com/NMCT-S2-Project-I/Project-I.git
אם אתה מסתכל בתיקיית הפרויקט שלך אתה צריך לראות 5 תיקיות
- conf
- env
- חיישן
- sql
- אינטרנט
מאגר מידע
sudo systemctl סטטוס mysql
ss -lt | grep mysql sudo mysql
צור משתמש במסד הנתונים עם כל ההרשאות והפוך את מסד הנתונים שלך
צור 'משתמש' משתמש '@localhost' המזוהה על ידי 'סיסמה';
צור שם מסד הנתונים שלך; להעניק את כל ההרשאות על שם הנתונים שלך.* ל'משתמש '@' localhost 'עם אפשרות מענק;
קבצי conf עבור השרת
ב- uwsgi-flask.ini אתה משנה 'module = …' ל- 'module = web: app' ואת הנתיב לרשת הווירטואלית שלך שיצרת. בקבצים האחרים עליך לשנות את הנתיבים לנתיבים המוחלטים בפועל של הספרייה שלך.
ברגע שהבנת את זה אתה יכול להגדיר את הקבצים במקום הנכון.
sudo cp conf/project1-*. service/etc/systemd/system/
sudo systemctl daemon-reload sudo systemctl הפעל פרוייקט 1-* פרוייקט סטטוס sudo systemctl1-*
עכשיו אנחנו צריכים להגדיר את זה זמין
sudo cp conf/nginx/etc/nginx/sites-available/project1
sudo rm/etc/nginx/sites-enabled/default sudo ln -s/etc/nginx/sites-available/project1/etc/nginx/sites-enabled/project1 sudo systemctl restart nginx.service sudo nginx -t
אם הכל הלך טוב, יהיה לך עולם שלום עם הפקודה הזו
wget -qO - localhost
בוצע ! ובכן זה עבור החלק לאפשר להפעיל את המערכת שלך על …
שלב 1: חיבור החומרה לפי
באמצעות BCM
אודיו MAX98357A
- BCK ל- GPIO 18
- נתונים ל- GPIO 21
- LRCK ל- GPIO 19
אוֹר
- אדום ל- GPIO 17
- ירוק עד GPIO 27
- כחול ל- GPIO 22
מודול מנוע ULN2003
- סיכה 1 ל- GPIO 5
- סיכה 2 ל- GPIO 6
- סיכה 3 ל- GPIO 13
- סיכה 4 ל- GPIO 26
מיקרו
D0 ל- GPIO 21
חיישן קולי
- טריג ל- GPIO 16
- הד ל- GPIO 20
שלב 2: קידוד התוכניות העיקריות
אני לא נכנס לפרטים כאן, אבל אתה יכול לבדוק את הקוד שלי ב- github.
מלכתחילה הכנתי את ה- html ו- css שלי, אינדקס, התחברות, רישום, מסך הבית, מוסיקה, addmusic, addbear, light, מצלמה, הגדרות מצלמה, חיישן, דף לוח מחוונים. קבצי html חייבים להיות בתבניות ובקבצי css בתיקייה סטטית/css. אתה יכול להתאים אישית את ה- CSS באופן מלא כרצונך.
אם עשית את החלק הזה עליך להתקין את הבקבוקון שלך. הבקבוק קל לשימוש רק דוגמה לעולם שלום
בקבוק יבוא # בהתחלה
מיבוא הבקבוק * @app.route ('/') index index (): החזר render_template ('index.html')
עכשיו בקוד שלי זה כבר מלא, הדבר היחיד שאתה צריך לעשות הוא לשנות את המשתמש והסיסמה למסד הנתונים שלך ממך וכמובן ליצור את אותו מסד הנתונים שאתה גם יכול למצוא ב- github.
שלב 3: יצירת מסד הנתונים
למעריצים האמיתיים אני הולך לספר לכם כיצד ליצור את אותו מסד נתונים.
אז ראשית עלינו ליצור את מסד הנתונים אם לא עשית זאת בשלב הראשון.
צור מסד נתונים beargardian;
ברגע שעשית זאת אתה יוצר את הטבלאות בספסל העבודה של mysql או ב- phpadmin
בטבלת משתמשים יש
- תעודת זהות של משתמש
- שם פרטי
- שם משפחה
- אימייל
- שם בייבי
- סיסמא עם sha1
- תיקיית משתמשים
- playmusic (int)
- פנס (int)
- הקלטת השמעה (int)
לשולחן המוזיקה יש
- musicID
- שִׁיר
- נָתִיב
- תיקיית משתמשים
- סטָטוּס
- כרך
שולחן הקלטות יש
- מזהה הקלטה
- נָתִיב
- תיקיית משתמשים
- זְמַן
- יְוֹם
בטבלת הצבעים יש
- colorID
- אָדוֹם
- ירוק
- כָּחוֹל
- בְּהִירוּת
- תעודת זהות של משתמש
לשולחן הדוב יש
- bearID (עשרוני (8))
- null ברירת מחדל של userID
- שם דוב
שולחן חיישן יש
- sensorID
- מֶרְחָק
- מיקרו
- bearID
- זְמַן
- יְוֹם
- זמן שינה
אז עכשיו יצרת את מסד הנתונים בהצלחה, בואו נלך לחומרה.
שלב 4: קידוד חומרה
אציג מעט קוד ואגיד לך מדוע עשיתי זאת כך.
ראשית השתמשתי בשרשור, מהו חובה מוחלטת בפרויקט זה. מה זה השחלה, המממ שאלה טובה! איום טוב בפייתון הוא הפעלת תוכנות מרובות בבת אחת. אז אם אתה למשל משנה את הצבע אתה יכול גם להקליט. זה קל לשימוש אל תדאג.
יבוא _threaddef function_name (משהו, something_else): קוד להפעלה
_thread.start_new_thread (שם פונקציה, tuple_with_the_functions_variables)
אם הסתכלת על התוכנית שלי ראית logger.info ('…'). זוהי פונקציית ההדפסה אבל הרבה יותר טובה, כי ב- Pi אי אפשר להדפיס דברים אז אני אכין קובץ ומדפיס אותו שם. יו יכול להגדיר את קובץ היומן באמצעות קוד זה.
logger = logging.getLogger (_ שם _) logger.setLevel (logging. INFO) # צור מטפל בקבצים = logging. FileHandler ('logger.log') handler.setLevel (logging. INFO)
# צור פורמט רישום
formatter = logging. Formatter (' %(שעון הזמן) s - %(שם) s - %(הודעה) s') handler.setFormatter (פורמט)
# הוסף את המטפלים ללוגר
logger.addHandler (מטפל)
logger.info ('הפעלת חומרה / n ---------------------------------------')
בהמשך הקוד עצמו אני מסביר הכל.
מוּמלָץ:
כיצד לבצע אנטנת BiQuade כפולה 4G LTE שלבים פשוטים: 3 שלבים
כיצד להפוך אנטנת 4G LTE BiQuade כפולה לשלבים קלים: לרוב לא עמדתי בפני, אין לי עוצמת אות טובה לעבודות היום-יומיות שלי. לכן. אני מחפש ומנסה סוגים שונים של אנטנות אבל לא עובד. לאחר בזבוז זמן מצאתי אנטנה שאני מקווה לייצר ולבדוק, כי זה עקרון הבנייה לא
עיצוב משחק בקפיצה ב -5 שלבים: 5 שלבים
עיצוב משחק בקפיצה ב -5 שלבים: פליק הוא דרך פשוטה מאוד ליצור משחק, במיוחד משהו כמו פאזל, רומן חזותי או משחק הרפתקאות
זיהוי פנים ב- Raspberry Pi 4B בשלושה שלבים: 3 שלבים
זיהוי פנים ב- Raspberry Pi 4B בשלושה שלבים: במדריך זה אנו הולכים לבצע זיהוי פנים ב- Raspberry Pi 4 עם Shunya O/S באמצעות ספריית Shunyaface. Shunyaface היא ספריית זיהוי/זיהוי פנים. הפרויקט שואף להשיג את מהירות הזיהוי והזיהוי המהירה ביותר עם
מהדורת ליל כל הקדושים של Arduino - מסך קופץ זומבים (שלבים עם תמונות): 6 שלבים
מהדורת ליל כל הקדושים של Arduino - מסך פופ -אאוט של זומבים (צעדים עם תמונות): רוצה להפחיד את החברים שלך ולעשות רעש צורח בהלווין? או סתם רוצה לעשות מתיחה טובה? המסך הקופץ הזה של זומבים יכול לעשות זאת! במדריך זה אלמד אותך כיצד ליצור זומבים קופצים בקלות באמצעות Arduino. ה- HC-SR0
כיצד להתקין תוספים בוורדפרס בשלושה שלבים: 3 שלבים
כיצד להתקין תוספים בוורדפרס בשלושה שלבים: במדריך זה אראה לך את השלבים החיוניים להתקנת תוסף וורדפרס לאתר שלך. בעיקרון אתה יכול להתקין תוספים בשתי דרכים שונות. השיטה הראשונה היא באמצעות ftp או דרך cpanel. אבל אני לא אפרט את זה כיוון שזה באמת משלים