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

סקייט-או-מטר: 7 שלבים (עם תמונות)
סקייט-או-מטר: 7 שלבים (עם תמונות)

וִידֵאוֹ: סקייט-או-מטר: 7 שלבים (עם תמונות)

וִידֵאוֹ: סקייט-או-מטר: 7 שלבים (עם תמונות)
וִידֵאוֹ: אני רוצה שווארמה 🌯 2024, יולי
Anonim
סקייט-או-מטר
סקייט-או-מטר

אני סטודנט ב- Howest Kortrijk. כדי להציג את כישורינו בפני הלקטורים הדרושים לנו לבניית פרויקט, בחרתי ליצור מד מרחק ומד מהירות עבור הסקייטבורד שלי בעזרת סורק RFID. במדריך זה אני מסביר איך עשיתי את הפרויקט הזה.

עלה לי הרעיון הזה כי אני אוהב להחליק ולהפליג. בזמן שאני משייט יהיה נוח לראות כמה מרחק עברתי ולראות את המהירות שלי.

זכור כי מדובר באב טיפוס.

שלב 1: רכיבים

רכיבים

השתמשתי ברכיבים הבאים ליצירת פרויקט זה:

  • סקייטבורד
  • פוטנציומטר
  • LCD
  • חיישן אפקט הול
  • נגד 10k אוהם
  • פאי פטל
  • ארדואינו ננו
  • חוט מגשר (נקבה לזכר)
  • חוט מגשר (פטל פאי)
  • חוט מגשר (זכר לזכר)
  • PCB
  • סורק RFID
  • תג RFID
  • מקור אנרגיה

עיין ב- BillOfMaterials לקישורים ומחיר

שלב 2: חיווט

תִיוּל
תִיוּל

לאולם יש 3 סיכות: VCC, GND ופלט. הקרקע עוברת ל- GND. ה- VCC ל- 3.3V והפלט בדוגמה זו עובר ל- GPIO 26. נגד של 10K אוהם מושך את הפלט גבוה.

אני משתמש בתקשורת טורית דרך ה- USB בין פטל הפאי לנאדו הארדואינו כדי לקרוא את התגים. זה לא בתמונה, אבל חובה!

D9 RST (איפוס) D10 SDA (SS) (SPI SS) D11 MOSI (SPI MOSI) D12 MISO (SPI MISO) D13 SCK (SPI SCK) GND GND3.3V 3.3V

שלב 3: תוכנית מסדי נתונים

תוכנית מסדי נתונים
תוכנית מסדי נתונים

למסד הנתונים שלי יש 3 טבלאות:

  • משתמשים
  • מוֹשָׁב
  • נתונים

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

שלב 4: הגדר את Arduino Nano

הגדר את Arduino Nano
הגדר את Arduino Nano
הגדר את Arduino Nano
הגדר את Arduino Nano
הגדר את Arduino Nano
הגדר את Arduino Nano

ראשית הכנס את ה- nano הארדואינו למחשב באמצעות כבל ה- USB. בחר את הארדואינו הנכון ואת יציאת ה- USB הנכונה להעלות.

בשלב הבא עלינו להוסיף את הספרייה שבה אני משתמשת לקריאת תג ה- RFID. הורד את 'rfid-master' ועבור לשרטט, כלול ספרייה ולאחר מכן הוסף ספריית. ZIP. עבור אל ה- zip שהורדת זה עתה והשתמש בזה, הוא יתקין באופן אוטומטי. לאחר ההורדה העריכה 'RFID_Read.ino' שלי לחץ על ctrl + O הוסף באותו זמן ועבור לקובץ זה ופתח אותו.

אם ביצעת את כל השלבים האלה למעלה תוכל לאמת את הקובץ. אם זה באג בפעם הראשונה, פשוט נסה זאת פעם נוספת. אם זה מצליח אתה יכול להעלות אותו לארדואינו שלך. באמצעות קיצור הדרך ctrl+shift+m תוכל לפתוח את הצג הטורי. אתה יכול לבדוק את הקובץ כאן. אם הבדיקה הצליחה ניתן לנתק את הארדואינו ולחבר אותו ליציאת USB של פטל הפאי

שלב 5: הגדר את ה- Raspberry Pi

בשלבים אלה אנו הולכים להגדיר את פטל הפאי כמסד נתונים ושרת אינטרנט.

בדוגמה זו אני משתמש במשתמש 'אני' אם אתה משתמש במשתמש אחר אתה צריך לשנות קבצי הגדרות, שמור על זה!

1. צור משתמש:

צור משתנה

pieter@rpipieter: ~ $ user = אני

הפיכת המשתמש לסודו והוספה לכל הקבוצות

קבוצות = $ (id pi -Gn | sed 's /^pi // g' | sed 's / /, /g') sudo useradd $ {user} -s /bin /bash -m -G $ {groups} sudo sed "s/^pi/$ {user}/" /etc/sudoers.d/010_pi-nopasswd | sudo tee "/etc/sudoers.d/011_${user}-nopasswd" sudo passwd $ {user}

היכנס לחשבון

pieter@rpipieter: ~ $ su - me

סיסמא: אני@my-rpi: ~ $

2. התחבר עם ה- WiFi

me@rpipieter: ~ $ sudo -iroot@rpipieter: ~# echo 'Password' | wpa_passphrase 'שם רשת' >> /etc/wpa_supplicant/wpa_supplicant.conf root@rpipieter: ~# wpa_cli -i wlan0 להגדיר מחדש את השורש@rpipieter: ~# יציאה

בדוק אם האינטרנט פועל

root@rpipieter: ~# wget google.com

3. להפוך את פאי הפטל לעדכני והתקנת חבילות נחוצות

me@my-rpi: ~ $ sudo apt update

me@my-rpi: ~ $ sudo apt שדרג אותי@rpipieter: ~ $ sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3 gitme@my-rpi: ~ $ sudo אתחל מחדש -ה עכשיו

4. שיבוט את מאגר github שלי

me@rpipieter: ~ $ git שיבוט

me@rpipieter: ~ $ cd skate-o-meter/skateometer/

5. יצירת הסביבה הווירטואלית

בזמן ביצוע הפקודות האלה יותקנו הרבה חבילות, זה עלול לקחת זמן.

me@rpipieter: ~/skate-o-meter/skateometer $ python3 -m pip להתקין-שדרוג pip setuptools גלגל virtualenv

me@rpipieter: ~/skate-o-meter/skateometer $ python3 -m venv-system-site-packages env (env) me@rpipieter: ~/skate-o-meter/skateometer $ python -m pip להתקין mysql- מחבר-פייתון argon2-cffi בקבוק בקבוק- HTTPAuth בקבוק- MySQL mysql-מחבר-פייתון passlib pysjial pyjwt RPi. GPIO

6. יצירת בסיס הנתונים והמשתמשים

אנו משתמשים במסד הנתונים mysql

pieter@rpipieter: ~/skate-o-meter/skateometer $ cd

pieter@rpipieter: ~ $ sudo mysql

לאחר מכן העתק, הדבק את זה

GRANT SELECT, INSERT, UPDATE, DELETE ON *. * TO 'som-data'@'localhost'; הגדר סיסמה עבור 'som-data'@'localhost' = PASSWORD ('sensor9810'); בחר * מתוך mysql.user; צור משתמש 'som-admin'@'localhost' המזוהה על ידי 'admin9810'; צור משתמש 'som-web'@'localhost' המזוהה על ידי 'web9810'; צור משתמש 'som-sensor'@'localhost' המזוהה על ידי 'sensor9810'; צור DATABASE skateometerdb; להעניק את כל ההפרטים על skateometerdb.* ל- 'som-admin'@'localhost' עם אפשרות GRANT; GRANT SELECT, INSERT, UPDATE, DELETE on skateometerdb.* ל- 'som-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE on skateometerdb.* ל- 'som-sensor'@'localhost'; זכויות הדחה;

בשלב הבא נוסיף את ערכת מסד הנתונים הקיימת עם יחסים.

me@rpipieter: ~/skate-o-meter/skateometer $ sudo mysql <sql/skateometerdb_dump-withoutdata.sql

7. שירותים

כאן אנו מעתיקים את קבצי התצורה שלנו וטוענים מחדש את התיקיה כדי שנוכל לאפשר את השירותים

me@rpipieter: ~/skate-o-meter/skateometer $ sudo cp conf/som-*. service/etc/systemd/systemme@rpipieter: ~/skate-o-meter/skateometer $ sudo systemctl daemon-reload

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

me@rpipieter: ~/skate-o-meter/skateometer $ sudo systemctl אפשר som-flask.service

נוצר symlink /etc/systemd/system/multi-user.target.wants/som-flask.service → /etc/systemd/system/som-flask.service. me@rpipieter: ~/skate-o-meter/skateometer $ sudo systemctl אפשר som-data.service נוצר symlink /etc/systemd/system/multi-user.target.wants/som-data.service →/etc/systemd/ system/som-data.service. me@rpipieter: ~/skate-o-meter/skateometer $ sudo systemctl start som-data.service me@rpipieter: ~/skate-o-meter/skateometer $ sudo systemctl start som-flask.service

8. NGINX

me@rpipieter: ~/skate-o-meter/skateometer $ sudo cp conf/nginx/etc/nginx/sites-available/skateometerme@rpipieter: ~/skate-o-meter/skateometer $ sudo rm/etc/nginx/sites -enabled/default me@rpipieter: ~/skate-o-meter/skateometer $ sudo ln -s/etc/nginx/sites-available/skateometer/etc/nginx/sites-enabled/skateometerme@rpipieter: ~/skate-o -meter/skateometer $ sudo systemctl הפעלה מחדש של nginx.service

שלב 6: דיור + אולם

דיור + אולם
דיור + אולם

דיור

תחילה עשיתי חור בסקייטבורד שלי עבור ה- LCD, הפוטנציומטר והזמזם. לאחר מכן הלחנתי את ה- LCD, הפוטנציומטר והזמזם על הלוח. אחר כך השתמשתי ב- jumperwire ל- RPI, זה עם 40 סיכות. שמתי צד אחד בפאי הפטל ואת החצי השני חתכתי, את הצד הזה נשתמש כדי להלחם. בקובץ 'כבל rpi' אתה יכול לראות היכן עליך להלחם איזה חוט.

עבור המעטפת השתמשתי בקופסת עיקול ישנה, שמתי בה כמה חורים עבור כבל רשת וכדי שהג'ופרוויר יגיע לארגז.

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

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

חיישן אפקט הול

תחילה קידחתי חור בגלגל שלי והכנסתי לתוכו מגנט.

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

שלב 7: הפעלת האפליקציה

שלב 1:

חבר את הפטל ואת בנק החשמל.

שלב 2:

המתן עד שתתחיל התוכנית, תוכל לעקוב אחר זאת על גבי ה- LCD. תראה את כתובת ה- IP, עבור לכתובת ה- IP הזו.

שלב 3:

צור משתמש, תוכל לעשות זאת על ידי רישום. עליך לסרוק את התג כדי לראות את ה- UID שלך של התג על ה- LCD.

שלב 4:

אם יצרת משתמש תוכל לסרוק את התג שלך והפעלה תתחיל.

שלב 5:

צא לשייט מסביב

שלב 6:

סרוק שוב את התג כדי לעצור את ההפעלה

שלב 7:

התחבר כדי לראות את ההפעלה שלך ונתונים מפורטים מההפעלה

מוּמלָץ: