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

EasyTalk: תקשורת קלה ולוח שנה לידך: 6 שלבים
EasyTalk: תקשורת קלה ולוח שנה לידך: 6 שלבים
Anonim
EasyTalk: תקשורת קלה ולוח שנה לידך
EasyTalk: תקשורת קלה ולוח שנה לידך
EasyTalk: תקשורת קלה ולוח שנה לידך
EasyTalk: תקשורת קלה ולוח שנה לידך

שמי קובי מרצ'ל, אני לומד בהווסט, בלגיה ואני סטודנט מולטימדיה ותקשורת (MCT). לצורך המשימה האחרונה שלי בשנה הראשונה, הייתי צריך לייצר מכשיר IoT.

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

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

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

שלב 1: חומרים

חומרים
חומרים
חומרים
חומרים
חומרים
חומרים

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

  • Raspberry Pi 4 דגם B - 4GB
  • פיבו קופה 4 - נינג'ה
  • 12 x רצועות Jumperwires פרימיום - 40 סטוקים - M/M - 20 ס"מ
  • 6 x רצועות Jumperwires פרימיום - 40 חבטות - M/F - 20 ס"מ
  • כותרת ערימה 2 x 36 פינים
  • כותרת קופסת זכר 40 פינים
  • 40 פינים כבל Regenboog GPIO
  • ערכת מודול תצוגה גרפית בגודל 2.42 אינץ 'בגודל 128X64 OLED
  • רמקול Kleine Metalen עם Draadjes - 8 אוהם 0.5W
  • Adafruit מונו 2.5W Class D אודיו Versterker
  • כבל Aux Jack 3.5 מ"מ
  • כפתור לחיצה רגעי של 7 מ"מ
  • Tuimelschakelaar
  • חיישן PIR Bewegings
  • חיישן טמפרטורה דיגיטלי DS18B20
  • Grove - Lucht kwaliteit sensor v1.3
  • גרוב - I2C ADC
  • פטל Pi 4 USB-C Voeding
  • Flexibel מיני סטטיבית
  • נגדי 470 אוהם
  • נגד, 7K אוהם
  • צינורות לכווץ חום
  • 6 x ברגים M2 x 6 מ"מ
  • 6 x ברגים M2 x 8 מ"מ
  • 3 x ברגים M2 x 16 מ"מ
  • אלומיניום בויס 3 מ"מ

הכנתי גם Bill Of Materials (BOM) כדי שתוכל לראות כמה שילמתי עבור כל החומרים והיכן קיבלתי אותם.

שלב 2: פטל פטל

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

הורד את מערכת ההפעלה Raspberry Pi Desktop והתקן אותה ב- Raspberry Pi שלך. עליך להפעיל SPI, I2C ו- One Wire ב- raspi-config. אני מציע להשבית כמה דברים גם באפשרויות האתחול בכדי לגרום לזה לאתחל מהר יותר. חוץ מזה אני משתמש בכמה ספריות שאתה צריך להתקין עם pip כדי לגרום לזה לעבוד.

התקנת pip3:

  • adafruit-circuitpython-ssd1305
  • ics
  • בקבוק
  • בקבוקי-קורס
  • Flask-JWT-Extended
  • mysql-connector-python

אתה צריך גם apache2 כדי להקים אתר, כאן אנו משתמשים ב- apt:

sudo apt להתקין apache2 -y

עליך להגדיר חיבור אלחוטי מכיוון שאינך יכול לקבל כבל UTP ב- Raspberry Pi כאשר הוא נמצא במקרה.

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

שלב 3: חיווט

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

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

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

מאגר מידע
מאגר מידע

מכשיר זה עושה שימוש במסד נתונים MySQL מנורמל כדי לאחסן בו את כל המידע שלו ולהציג זאת באתר ובמכשיר עצמו. יצרתי אותו ב- MySQL Workbench.

ישנם 5 טבלאות במאגר המידע הזה.

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

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

משתמשי שולחן (= משתמשים) שומרים את המשתמשים. הם יכולים להיכנס באמצעות הסיסמה שלהם ולציין כינוי שמופיע עם הודעה בעת שליחה למכשיר.

Table Historiek (= היסטוריה) משמש לאחסון ערכי החיישן וההודעות הנשלחות למכשיר.

ולבסוף שולחנות קישורים (= כתובות אתרים) מאחסנות את כל כתובות האתר של לוח השנה החיצוני.

שלב 5: קוד

קוד
קוד
קוד
קוד
קוד
קוד

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

קוד החזית מוכנס לתיקיית HTML המוגדרת כברירת מחדל מ- apache2. אתה יכול למצוא תיקיה זו ב-/var/www/html.

עבור backend, עליך ליצור תיקייה בתיקיית הבית שלך ולשים את כל הקוד שם.

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

ls/sys/bus/w1/התקנים

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

הדבר השני שעלינו לשנות הוא בקובץ config.py, שנה את הסיסמה של מסד הנתונים.

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

sudo cp EasyTalk.service/etc/systemd/system/EasyTalk.service

לאחר מכן הפעל אותו:

sudo systemctl הפעל את EasyTalk.service

ואז הפעל אותו כך שהוא יתחיל בעת האתחול

sudo systemctl אפשר EasyTalk.service

שלב 6: מארז

מקרה
מקרה
מקרה
מקרה
מקרה
מקרה
מקרה
מקרה

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

תצטרך גם כמה מודגשים כדי לדפוק הכל.

  • 6 x ברגים M2 x 6 מ"מ
  • 6 x ברגים M2 x 8 מ"מ
  • 3 x ברגים M2 x 16 מ"מ

אני אהיה כנה. לקח לי 4-5 שעות לבנות את הדבר הזה. מכיוון שהוא כל כך קטן, הכל פשוט מתאים וקשה לדפוק את האומץ לפעמים אבל זה עובד אם אתה עושה את זה בזהירות.

תכננתי גם לוח PCB להחלפת לוח הלחם, תחילה עליך להלחם את הכותרות ו -5 נגדים (4 x 470 אוהם, 1 x 4.7K אוהם).

כשיש לך את ה- PCB, אני מציע להתחיל בכבלי הלחמה לכל מה שאמור להתחבר ל- PCB.

בסיום זה, אתה תברג את צג ה- OLED למקומו ויחבר אליו את הלוח המודפס. הצג מכיל את ה- PCB. אתה משתמש בברגים של 6 מ מ בשביל זה.

לאחר מכן אתה דופק את חיישן איכות האוויר לאן שהוא אמור להגיע, אבל זה קצת מסובך כי ה- ADC מתחבר אליו. כדי לעשות זאת כמו שצריך כדי ששני הרכיבים לא ייגעו זה בזה, אתה משתמש בברגים של 16 מ"מ עם צינורות אלומיניום 3 x 5 מ"מ שאתה צריך לנסר. עשיתי את זה עם שני ברגים כי לא הצלחתי להגיע לשלישי. אתה מחבר את 4 החוטים לאן שהם אמורים לעבור על הלוח המודרני.

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

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

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

לאחר מכן, פשוט חבר את כבל הכותרת של GPIO מה- PCB ל- Raspberry Pi ובדוק אם הכל עובד לפני סגירת המכסה.

בחלק התחתון יש חור שאפשר לחבר בו חצובה אבל זה אופציונלי.

זהו זה! אני מקווה שנהנית לקרוא את המאמר הזה! -קובי

מוּמלָץ: