- התקנה ותצורה של 'Motion' לקבלת עדכון וידאו:
- הגדרת בקבוקי ב- Raspberry Pi לשליטה ברובוט באמצעות דף אינטרנט:
- קוד HTML לדף אינטרנט:
- רובוט מעקב
- דיאגרמת מעגל והתקנה:
- איך לפעול:
בפגישת DIY זו אנו בונים מכונית רובוטית למעקב מבוקר באינטרנט באמצעות פטל pi ומצלמת רשת. זה יכול להיות כלי אבטחה ומרגל שימושי וזול, שיש לו אפשרויות רבות הניתנות להגדרה וניתן לבנות אותו תוך מספר שעות. בפרויקט IoT זה אנו משתמשים בעיקר ב- Raspberry Pi, מצלמת רשת USB ושני מנוע DC עם שלדת רובוט לבניית מכונית רובוטית זו.
מעליה מותקנת מצלמת רשת, דרכה נקבל עדכון וידאו חי והקטע המעניין כאן הוא שנוכל לשלוט ולהעביר את הרובוט הזה מדפדפן אינטרנט דרך האינטרנט. מכיוון שניתן לשלוט באמצעות דף אינטרנט, פירוש הדבר שאפשר לשלוט בו גם באמצעות דף אינטרנט במובייל. בנינו דף אינטרנט ב- HTML המכיל קישורים שמאלה, ימינה, קדימה, אחורה, ולחיצה עליו נוכל להזיז את הרובוט לכל כיוון. כאן השתמשנו ב- "Motion" לקבלת עדכון וידאו חי ממצלמת USB והשתמשנו ב- "Flask" לשליחת פקודות מדף האינטרנט ל- Raspberry Pi באמצעות פיתוןלהזיז את הרובוט, שמוסברים בפירוט בחלק הבא של הדרכה זו. יש לנו מערכת Raspbian Jessie OS מותקנת על לוח ה- Raspberry Pi שלנו. אתה יכול לבדוק מאמר זה כדי להתקין את מערכת ההפעלה Raspbian ולהתחיל לעבוד עם Raspberry Pi.
התקנה ותצורה של 'Motion' לקבלת עדכון וידאו:
Motion (תוכנת מעקב) היא תוכנת CCTV גלאי תנועה עם קוד פתוח בחינם, שפותחה עבור לינוקס. זה מזהה את התנועה ולהתחיל להקליט וידאו שלה. עם 'Motion' המותקן ב- Raspberry Pi שלך, אתה יכול להפוך את Raspberry Pi שלך באופן קסום למצלמת אבטחה. הוא משמש לקבלת עדכוני וידאו בשידור חי, להכנת קטעי וידאו בזמן הצילום ולצילומי תמונות במרווח קבוע. הוא מקליט ושומר את הווידאו בכל פעם שהוא מזהה תנועה או הפרעה כלשהי באזור התצוגה. ניתן לצפות בפיד וידאו חי בדפדפן האינטרנט על ידי הזנת כתובת ה- IP של Pi יחד עם הנמל.
יצרנו הדרכה מפורטת על שימוש בתנועה עם Raspberry Pi ומצלמת USB, כאן אנו מסבירים בקצרה את התקנתה ב- Raspberry pi עבור הרובוט שלנו כדי לשלוח הזרמת וידאו חי לדף האינטרנט.
כאן אתה צריך להריץ רק כמה פקודות כדי להתחיל לקבל את עדכון הווידאו הראשון ברשת. לפני כן, בדוק כראוי כי ה- Raspberry Pi שלך מחובר לאינטרנט, באמצעות LAN או Wi-Fi ולאחר מכן בצע את השלבים הבאים:
שלב 1: ראשית הפעל את הפקודה למטה כדי לעדכן את מערכת ההפעלה Raspbian ב- Raspberry Pi:
עדכון sudo apt-get
שלב 2: לאחר מכן התקן את ספריית 'Motion' באמצעות הפקודה הבאה:
sudo apt-get להתקין תנועה
שלב 3: הגדר כעת את שד התנועה ל- yes על ידי עריכת הקובץ: / etc / default / motion כך שהוא יפעל תמיד. ערוך קובץ זה באמצעות עורך 'ננו' עם 'סודו' כמו להלן:
סודו ננו / וכו '/ ברירת מחדל / תנועה
לאחר מכן שמור את הקובץ על ידי לחיצה על 'CTRL + X', ואז על 'Y' ועל Enter.
שלב 4: כעת עלינו להגדיר את ההרשאה לספריית היעד (/ var / lib / motion /), בה Motion שומרת את כל הקלטות הווידאו וקבצי התמונות. עלינו להגדיר את 'Motion' כבעלים של מדריך זה על ידי הנפקת הפקודה הבאה:
תנועת סודו צ'ון: תנועה / var / lib / motion /
הרשאה זו הכרחית אחרת תקבל שגיאה כשתבדוק את מצב שירות התנועה.
באפשרותך לבדוק את מצב השירות באמצעות פקודה זו: מצב תנועת שירות sudo
שלב 5: עכשיו כמעט סיימנו, רק עלינו לשנות אפשרות תצורה אחת בקובץ התצורה של Motion (/etc/motion/motion.conf ) שהוא כבוי stream_localhost. עלינו לכבות את הזרמת המארח המקומית הזו, אחרת לא נוכל לגשת לעדכון הווידיאו ברשת שלנו, והיא תהיה נגישה רק מה- Raspberry Pi עצמה. לשם כך, ערוך את קובץ תצורת התנועה בעזרת עורך 'ננו' וכבה אותו, כמו שמוצג להלן:
sudo nano /etc/motion/motion.conf
עכשיו סיימנו ומוכנים לקבל את הפיד החי שלנו ממצלמת ה- USB המחוברת ל- Pi. פשוט התחל (או הפעל מחדש) את שירות התנועה באמצעות הפקודה למטה ופתח את ה- IP של Raspberry Pi שלך, עם יציאה 8081, בדפדפן שלך (כמו 192.168.43.199:8081). בפרויקט זה הטבענו את ה- IP הזה בקוד ה- HTML שלנו בתג img src .
sudo /etc/init.d/motion מחדש
ותראה את הפיד בשידור חי ממצלמת האינטרנט שלך. כאן השתמשנו במצלמת רשת USB בעלות נמוכה שעבדה בצורה חלקה עם ה- Raspberry Pi שלנו, אך ניתן להמשיך להשתמש במצלמה באיכות טובה לקבלת רזולוציה טובה יותר. כפי שהוא יופיע בדפדפן, תוכל להשתמש בכל מכשיר כדי לצפות בעדכון התומך בדפדפן אינטרנט כמו מובייל, טאבלט וכו '.
נסה לאתחל את ה- Raspberry Pi כצעד לפתרון בעיות במידת הצורך:
אתחול סודו
זה הכל על שימוש בתנועה עבור רובוט המעקב שלנו, מלבד זאת, יש לו כמה אפשרויות תצורה עליהן כבר דנו במדריך הקודם שלנו.
הערה: אם אתה דגם Raspberry Pi מתחת לגירסה 3, ייתכן שתצטרך דונגל Wi-Fi כדי לחבר אלחוטי של פטל Pi לנתב.
הגדרת בקבוקי ב- Raspberry Pi לשליטה ברובוט באמצעות דף אינטרנט:
כאן יצרנו שרת אינטרנט באמצעות Flask, המספק דרך לשלוח את הפקודות מדף האינטרנט ל- Raspberry Pi כדי לשלוט על הרובוט ברשת. Flask מאפשר לנו להריץ את קבצי ה- Python שלנו דרך דף אינטרנט ואנחנו יכולים לשלוח ולקבל נתונים מ- Raspberry Pi לדפדפן האינטרנט ולהיפך. בקבוקון הוא מיקרו-מסגרת עבור פייתון. כלי זה מבוסס על Unicode עם שרת ופיתוח באגים מובנה, תמיכה בבדיקות יחידות משולבות, תמיכה בעוגיות מאובטחות וקל לשימוש, דברים אלה הופכים אותו ליעיל עבור התחביב.
התקן חבילת תמיכה בבקבוק לתוך ה- Raspberry Pi באמצעות הפקודה הנתונה:
$ pip להתקין בקבוק
אז נוכל להשתמש בבקבוק רק על ידי ייבואו לתוכנית שלנו, כאילו ייבאנו את חבילות הבקבוק הבאות לפרויקט זה:
מיבול בקבוק בקבוק בקבוק בקבוק בקבוק, render_template, בקשה
תוכל ללמוד עוד על התכנות באמצעות Flask כאן, לבדוק גם את הפרויקטים הקודמים שלנו שבהם השתמשנו ב- Flask כדי לשלוח את ההודעה מדף האינטרנט ל- Raspberry Pi ולשלוח ערך משקל ל- Raspberry Pi ב- Container Smart.
קוד HTML לדף אינטרנט:
יצרנו דף אינטרנט באמצעות שפת HTML להצגת קישורי בקרה (שמאלה, ימינה, קדימה, אחורה) כדי להעביר את הרובוט מדפדפן האינטרנט. השתמשנו בסקריפט jQuery כדי לקרוא לפונקציות בתכנית הפייתון שלנו. יש חמש פונקציות בקוד פייתון כדי להזיז את הרובוט שמאלה, ימינה, קדימה, אחורה וכדי לעצור אותו. קוד פייתון מלא ניתן בסוף. פונקציות אלה יבוצעו על ידי לחיצה על קישורי הבקרה בדף האינטרנט והמנועים יעברו בהתאם לקישור עליו לוחצים. כאן כתבנו את הקוד באופן שרובוט יעבור לכיוון מסוים תוך לחיצה והחזקה על הקישור, וברגע שנשחרר את כפתור העכבר הרובוט יפסיק. להלן קוד ה- HTML לדף האינטרנט כולל jQuery:
כאן תוכלו לראות את הטמעת כתובת ה- IP שעליה הווידיאו זורם לדף האינטרנט באמצעות תג img src . שנה את כתובת ה- IP בהתאם ל- Raspberry Pi שלך, אך שמור על היציאה זהה.
המשתמש צריך להעתיק ולהדביק את קוד ה- HTML הנתון לעיל בעורך טקסט כלשהו (פנקס רשימות) ולשמור את הקובץ באמצעות סיומת HTML (robot.html). לאחר מכן שים את קובץ ה- HTML הזה בתיקיה / תבניות ביחס למיקום סקריפט הפיתון שלך. פירוש הדבר שעליך ליצור תיקיה בשם תבניות, שם הכנסת את קובץ ה- Python Code שלך לרובוט מעקב פטל זה, ואז הכנס את קובץ robot.html לתיקיית תבניות זו. שלב זה חשוב, אחרת הפרויקט שלנו לא יעבוד. תוכל לפתוח ישירות את קובץ robot.html על ידי לחיצה כפולה עליו כדי לראות כיצד ייראו קישורי הבקרה שלך. בדוק עוד את כל התהליך בסרטון הדגמה בסופו של דבר. לאחר שסיימנו עם התכנות והכל, נוכל פשוט להריץ את קוד הפייתון ב- Raspberry Pi ולפתוח את ה- IP_address_of_your_Pi: 5010 בדפדפן האינטרנט (כמו
אתה יכול לבדוק את כתובת ה- IP של ה- Raspberry Pi שלך באמצעות הפקודה ifconfig :
ifconfig
דיאגרמת מעגל והתקנה:
לאחר בדיקת עדכון הווידאו החי וקוד ה- HTML, עלינו לבנות רובוט באמצעות שלדות רובוטים בעבודת יד או מוכנות, גלגלים וברגי אגוזים. לאחר מכן הניחו מעליו את בנק החשמל להפעלת ה- Paspberry pi ואז הניחו את Raspberry Pi ואת מצלמת האינטרנט מעל בנק הכוח ותקנו את ההתקנה באמצעות קלטת צ'לו או רצועות גומי, חברו את מצלמת ה- USB ל- Raspberry Pi.
בפרויקט IoT זה, אנחנו לא צריכים לעשות הרבה חיבורים, אנחנו רק צריכים לחבר כמה חוטים עבור מנועי מנוע IC L293D ו- DC. החיבורים מוצגים בתרשים המעגל להלן. כאן השתמשנו ב- PCB לשימוש כללי לצורך הרכבה של L293D IC כדי לצמצם את השטח, אך ניתן גם להשתמש בלוח לחם קטן לחיבור מנועי DC עם L293D.
איך לפעול:
הפעלה ועבודה של רובוט המעקב הזה קל מאוד. צור קובץ פיתון (סיומת.py) והעתק אליו את הקוד שלמטה ושמור אותו ב- Raspberry Pi שלך. לאחר מכן הכניסו את קובץ ה- HTML לתיקיית התבניות כמוסבר לעיל. אל תשכח לשנות את כתובת ה- IP בקובץ HTML.
לאחר מכן הפעל את קוד הפייתון על ידי הזנת הפקודה למטה:
שם פיתון_של_פיל.פי
ואז פתח את כתובת ה- IP של Raspberry Pi שלך עם יציאה 5010 כמו http://192.168.43.199:5010 (שוב החלף את כתובת ה- IP בכתובת שלך). כעת תראה את דף האינטרנט הכולל ארבעה קישורי בקרת רובוטים ווידאו בשידור חי. המשתמש יכול לשלוט ברובוט על ידי לחיצה ארוכה על הקישורים. אם המשתמש ילחץ על הקישורים ויחזיק אותם אז הרובוט ינוע בהתאם לקישור שנלחץ עליו ומתי המשתמש ישחרר את הקישור ואז הרובוט יפסיק אוטומטית.
קוד פייתון מלא ניתן להלן, שם כתבנו פונקציות שונות לשליטה על הרובוט בלחיצה על הקישורים בדף האינטרנט. אתה יכול להבין אותם בקלות, או אם אתה מתחיל, בדוק את המדריכים הקודמים שלנו לפטל פטל. בקר גם במדור הרובוטיקה שלנו לקבלת רובוטים מעניינים וקלים יותר לבנייה.