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

Home_X: 5 שלבים
Home_X: 5 שלבים

וִידֵאוֹ: Home_X: 5 שלבים

וִידֵאוֹ: Home_X: 5 שלבים
וִידֵאוֹ: The Cinematic Orchestra - 'To Build A Home' 2024, יולי
Anonim
בית_X
בית_X

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

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

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

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

שלב 1: חומרים: מה אתה צריך

  • פאי פטל
  • DHT22
  • גרוב - חיישן איכות אוויר
  • גרוב - חיישן גז (MQ2)
  • לוח לחם
  • פטל פי סנדלר T
  • חוטי מגשר זכר/נקבה
  • נוריות 5 מ"מ
  • נגדים
  • עץ וכלים
  • מנוע סרוו
  • GrovePi+

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

רשימה מפורטת של חלקים עם קישור לחנויות ניתנת להלן ב- BOM.

שלב 2: חיווט

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

השתמשתי ב- Fritzing לחיווט כדי לקבל סקירה נעימה של האופן שבו החיווט שלי צריך להתבצע. אני עצמי השתמשתי ב- GrovePi+ עבור 2 מהחיישנים שלי. אם אתה מתכנן לעשות זאת ללא GrovePi+ בצע את תכנית Fritzing. חיישני I אינם עובדים עבורך, נסה להשתמש בסיכות שונות.

תוכל למצוא את קובץ Fritzing למטה.

שלב 3: מסד נתונים באמצעות MySQL

מסד נתונים באמצעות MySQL
מסד נתונים באמצעות MySQL

אחת המשימות המהותיות ביותר שהיינו צריכים ליישם הייתה החיבור למסד נתונים של MySQL.

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

לאחר מכן מסד הנתונים שולח את הנתונים לאתר כך שהמשתמש יוכל לראות אותם גם שם.

להלן תוכל למצוא את קובץ ה-.xml שלי שבו יש לך סקירה כללית של אופן הפעולה של מסד הנתונים, אך תחילה עליך להתקין את MySQL ולבקבוק ב- Raspberry Pi.

קידוד החיישנים קרה דרך pycharm אז וודא שהוא מותקן גם כן (במחשב שלך).

ראשית עליך לבדוק אם קיימים עדכונים ולהתקין חבילות, כך:

sudo apt-get update && sudo apt-get upgrade

sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3

כעת אנו הולכים להשתמש בסביבה וירטואלית:

me@my-rpi: ~ $ python3 -m pip להתקין-שדרוג pip setuptools גלגל virtualenvme@my-rpi: ~ $ mkdir project1 && cd project1 me@my-rpi: ~/project1 $ python3 -m venv --system- חבילות אתר env me@my-rpi: ~/project1 $ source env/bin/activ (env) me@my-rpi: ~/project1 $ python -m pip התקן את mysql-connector-python argon2-cffi Flask Flask-HTTPAuth בקבוק- MySQL mysql-connector-python passlib

זה אמור לספר לך ש- mariadb.service פעיל.

כעת, ב pycharm עבור אל VCS> ייבוא מבקרת גרסאות> GitHub en clone

לאחר מכן הגדר את תצורת הפריסה עבור הספרייה שיצרת זה עתה, למשל. /home/me/project1.

לאחר שתעשה זאת, עבור אל הגדרות המתורגמן והגדר את הסביבה הווירטואלית שזה עתה עשית, למשל. /home/me/project/env/bin/python. יש למלא גם מיפוי נתיבים.

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

sudo systemctl סטטוס mysql

כעת עלינו ליצור משתמשים למסד הנתונים שלנו, כך:

סודו מריאדב

צור משתמש 'project-admin'@'localhost' המזוהה על ידי 'adminpassword'; צור משתמש 'פרויקט-אינטרנט'@'localhost' המזוהה על-ידי 'סיסמת אינטרנט'; צור משתמש 'project-sensor'@'localhost' המזוהה על ידי 'sensorpassword'; יצירת פרויקט DATABASE;

להעניק את כל הפרויקטים על הפרויקט.* ל- 'project-admin'@'localhost' עם אופציית GRANT; GRANT SELECT, INSERT, UPDATE, DELETE ON project.* ל- 'project-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON project.* ל- 'project-sensor'@'localhost'; זכויות הדחה;

עכשיו כדי לראות את מסד הנתונים שלנו ב- pycharm עלינו ליצור חיבור.

אנו יכולים לעשות זאת על ידי מעבר אל תצוגה> כלי Windows> מסד נתונים ולחיצה על כפתור ה"פלוס "הירוק.

מקור נתונים> MySQL ולחץ (אם קיים) על כפתור הורד מנהל ההתקן המופיע.

לאחר מכן עבור אל SSH/SSL ובדוק SSH. מלא את המארח/משתמש/סיסמה עבור ה- pi והשתמש ביציאה 22 אם עדיין לא מלא.

אם אתה רוצה שאגרוף יזכור את הסיסמה שלך סמן את תיבת הסימון "זכור סיסמה".

בכרטיסייה "כללי", מלא את localhost ב- host, פרויקט במסד הנתונים והשתמש ב- project-admin עם הסיסמה בכדי לבדוק את החיבור.

כדי להפוך את מסד הנתונים לשמיש כעת עליך להריץ את.sql שאני מציב להלן. נסה להשתמש באפשרות הייבוא, אם אינך יכול לייבא קובץ dump, עליך להוסיף את הטבלאות באופן ידני.

לאחר שתעשה זאת עליך למצוא את ספריית conf עם שני קבצי.service. שם תשנה כל סלב שתמצא עם שם המשתמש בו אתה משתמש ב- pi שלך. כמו כן, הקבוצה צריכה להיות www-data.

השלב הבא הוא הפעלת שירותים אלה ב- pi שלך, כך:

sudo cp conf/project-*. service/etc/systemd/system/

sudo systemctl daemon-reload

sudo systemctl להתחיל פרויקט-*

פרוייקט סטטוס sudo systemctl-*

אתה אמור לראות שני שירותים פעילים כשהכל הולך לפי התוכנית.

השלב האחרון הוא הפעלת nginx.

בדוק תחילה אם יש apache2 ב- pi שלך, אם התקנת את זה, מחק אותו או השבת אותו.

בקובץ nginx תחילה עליך לשנות uwsgi_pass ולאחר מכן להריץ פקודות אלה.

sudo cp conf/nginx/etc/nginx/sites-available/project

sudo rm/etc/nginx/sites-enabled/default

sudo ln -s/etc/nginx/sites-available/project1/etc/nginx/sites-enabled/project

sudo systemctl הפעלה מחדש של nginx.service

sudo systemctl סטטוס nginx.service

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

אתה יכול להפעיל שירותים כך שהם יפעלו אוטומטית כאשר ה- pi יתחיל.

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

שלב 4: קידוד

סִמוּל
סִמוּל
סִמוּל
סִמוּל

אתה יכול להוריד את הקוד דרך Github:

github.com/NMCT-S2-Project-I/project-i-Tib…

הקוד לחיישנים כלול בקובץ sensor.py.

אל תשכח לשנות את שמי לשמך (או למשתמש ממה שאתה משתמש ב- pi שלך) בקבצי השירות, כך שהם יוכלו לפעול כמו שצריך ולמקם את הקוד שלי בקבצים שכבר קיימים ב- Pycharm שלך.

שלב 5: דיור

דיור
דיור
דיור
דיור
דיור
דיור
דיור
דיור

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

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

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

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

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

בהצלחה.

מוּמלָץ: