תוכן עניינים:
- שלב 1: דרישות
- שלב 2: הלחמה / חיווט
- שלב 3: הגדרת פטל פטל
- שלב 4: הגדרת מסד נתונים
- שלב 5: קוד
- שלב 6: התחבר
וִידֵאוֹ: WeatherCar: 6 שלבים
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-10 13:47
WeatherCar, פרויקט קטן מתוצרת בית שיכול להניע תוך איסוף נתונים שימושיים!
עשיתי את הפרויקט הזה כגמר בשנה הראשונה שלי בהווסט בקורטרייק. לפרויקט זה עדיין אין גימור טוב אך מסמך זה עוסק בכל הפנימי של המכונית הזו, מבלי ליצור את המסגרת המלאה.
שלב 1: דרישות
תזדקק לכל הרכיבים הבאים לפרויקט זה:
- פאי פטל
- מנוע 2 x (12 וולט)
- סרוו
- DHT11
- BMP280
- מודול GPS GY-NEO6MV2
- 4 x טרנזיסטורים NPN
- 2 x נגדים (1k ו- 2k)
- נהג מנוע
- 2 סוללות 6V
- לוח אב טיפוס
- ווסת מתח נמוך
- חוט נחושת מבודד
- כבל שטוח
- כבל מיקרו USB ישן
- דִיקְט
שלב 2: הלחמה / חיווט
בשלב הראשון ניגש ישר לחיבור כל החוטים. (נ.ב. ניתן להשתמש בלוח לחם לבדיקה לפני הלחמת הכל)
סיפקתי תוכנית המראה לך כיצד חיברתי הכל, למרות שלא הצלחתי למצוא את החלק הנכון עבור הנהג שלי. עבור הנהג שלי השתמשתי ב -4 טרנזיסטורים של NPN כדי להמיר את האות של 3.3V לאות של 12V כדי לשלוט על נהג המנוע. הסיבה לכך היא שהשתמשתי בה תומך במתח אחד בלבד (12 וולט כי המנועים שלי הם 12 וולט).
שלב 3: הגדרת פטל פטל
אם עדיין אין לך התקנה, יהיה עליך לעשות זאת תחילה, אחרת תוכל לדלג על שלב זה אם יש לך את התוכניות הדרושות מקטע הקוד האחרון בשלב זה.
ראשית עליך להוריד את גרסת שולחן העבודה של Raspbian, אותה ניתן למצוא כאן:
לאחר שהורדת את זה תצטרך להשתמש באצ'ר או ב- WinDiskImager כדי לשים את קובץ התמונה על כרטיס ה- SD מפי הפטל שלך. (זה יכול לקחת זמן).
בסיום התוכנית, פתח את סייר הקבצים ופתח את הכונן שנקרא "אתחול". כאן תמצא קובץ טקסט "cmdline.txt". פתח את זה והוסף ip = 169.254.10.1 לסוף הקובץ. היזהר לא להוסיף שום קובץ לתוך הקובץ מכיוון שזה עלול לגרום לצרות.
כעת, כאשר ל- PI יש כתובת ip כברירת מחדל, עדיין נצטרך לאפשר ל- SSH להתחבר אליו. אתה יכול לעשות זאת על ידי יצירת קובץ חדש בשם "SSH" ללא כל סיומת, זה יגיד לפאי הפטל לאפשר ssh באתחול הראשון.
בעזרת זה אנו יכולים כעת להתחבר לפאי הפטל באמצעות כבל אתרנט. חבר את הכבל בין המחשב שלך לבין ה- PI פטל. כעת נצטרך לקוח SSH. לשם כך השתמשתי במרק (https://www.putty.org/). פתחו מרק והכניסו 169.254.10.1 כשם מארח. ייתכן שיחלוף זמן מה עד שתוכל להתחבר.
ברגע שאתה מחובר, היכנס באמצעות אישורים אלה:
התחברות: piPassword: פטל
כעת נוכל להגדיר חיבור אינטרנט לשם כך. בצע פקודה זו והחלף את SSID וסיסמת הרשת בשם והסיסמה של ה- wifi שלך.
הד "סיסמא" | wpa_passphrase "SSID" >> /etc/wpa_supplicant/wpa_supplicant/wpa_supplicant.conf
wpa_cli -i wlan0 להגדיר מחדש
כעת, לאחר שיש לנו חיבור לאינטרנט, אנו יכולים להתקין פייתון ותוכניות נחוצות אחרות באמצעות הפקודות הבאות
עדכון sudo apt
sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
python3 -m pip להתקין -שדרוג pip setuptools גלגל וירטואלי
mkdir weathercar && cd weathercar
python3 -m venv-מערכת-אתר-חבילות env
מקור env/bin/activ
python -m pip התקן את mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib flask-socketio
שלב 4: הגדרת מסד נתונים
כעת, כאשר יש לך ל- raspberry pi את כל התוכניות הדרושות, עדיין נצטרך להגדיר את מסד הנתונים. מה שאנחנו יכולים לעשות על ידי התחלת Mysql תחילה
סודו מריאדב
ואז
צור משתמש 'project1-admin'@'localhost' מזוהה על ידי 'adminpassword'; צור משתמש 'project1-web'@'localhost' מזוהה על ידי 'webpassword'; צור משתמש 'project1-sensor'@'localhost' מזוהה על ידי 'sensorpassword';
יצירת קובץ נתונים weathercar_db;
להעניק את כל ההפרטים על מכונית weathercar.* ל- 'project1-admin'@'localhost' עם אפשרות לתענוג; GRANT SELECT, INSERT, UPDATE, DELETE on project1.* ל- 'project1-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON project1.* ל- 'project1-sensor'@'localhost'; זכויות השטחה;
שלב 5: קוד
בשלב זה נשכפל את הקוד הדרוש לפאי הפטל שלך. זה נעשה על ידי כך:
קודם כל וודא שאתה נמצא בספריית הבית שלך על ידי הזנת "cd"
CD
עכשיו נשכפל את המאגר באמצעות
שיבוט git
כעת נוכל לייבא את הגדרות מסד הנתונים באמצעות:
sudo mariadb weathercar_db </weathercar/sql/weathercar_db_historiek.sql sudo mariadb weathercar_db </weathercar/sql/weathercar_db_sensoren.sql
כעת, לאחר שסיימנו את מסד הנתונים, אנו יכולים להמשיך ולהגדיר את השירות שלנו
sudo cp weathercar/conf/project1-*. service/etc/systemd/system/sudo systemctl daemon-reloadsudo systemctl הפעל את project1-*sudo systemctl אפשר project1-*
שלב 6: התחבר
אנחנו כמעט שם, רק עוד שלב. וזה מקבל את כתובת ה- IP שנתנה לנו ה- wifi.
אנו נעשה זאת על ידי הצבת
ip addr
חבורה של שטויות תופיע, אבל אתה אמור להיות מסוגל למצוא "wlan0" ולאחר מכן כמה שורות נוספות "inet 192.168.x.x"
הכנס את כתובת ה- IP הזו לדפדפן שלך ותצא לדרך. אתה מחובר לאתר.