מצלמת אבטחה עם הרספברי פיי

מצלמת אבטחה עם הרספברי פיי

מצלמת אבטחה עם הרספברי פיי

אפשר להשתמש ברספברי פיי בתור מחשב שמזרים וידאו ומקליט בזמן אמת ממצלמות שמחוברות אליו.

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

ישנם שתי דרכים לחבר מצלמה אל הרספברי פיי – מצלמה ייעודית המתחברת ישירות אל ה- CSI ממשק המצלמה הנמצא על הלוח, או מצלמת רשת המתחברת באמצעות כבל USB.

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

 

raspberry pi camera

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

 

raspberry pi webcam

 

אז איך מתקינים את המצלמה ומתחילים להזרים וידאו?

תוכנת מושן

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

sudo apt-get install motion

אחרי שהתוכנה הותקנה הכנסו להגדרות התצורה:

sudo nano /etc/motion/motion.conf

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

קודם כל כדי להזרים תמונה למחשב שונה מהרספברי עלינו לשנות את stream_localhost מ- on ל- off.

האפשרות נמצאת באזור אמצע הקובץ ב live stream server וללא השינוי נוכל לראות וידאו רק מהרספברי פיי.

לאחר מכן נשנה את output_pictures ל- off כדי לא למלא את כרטיס הזכרון בתמונות, כי כל פעם שהתוכנה מזהה תנועה היא שומרת כמה תמונות בזכרון. תמיד נוכל להפעיל את האפשרות הזאת מאוחר יותר.

בלמעלה של הקובץ נשנה את הרזולוציה ל- 640×480 אם נרצה תמונה יותר חדה. כמה שהתמונה תהיה יותר חדה לרספברי פיי יהיה יותר קשה להזרים אותה.

אם נרצה ססמה נשנה את stream_auth_method ל- 1 ,  ואת stream_authentication ל- admin:1234 או לכל ססמה אחרת. עכשיו נשנה את המקום לשמירת וידאו ותמונות:

target_dir  /home/pi/motion.

בלמעלה של הקובץ נשנה את framerate  מ-2 ל- 7 בשביל לשנות את מספר הפריימים של ההקלטה. 7 פריימים בשנייה אמורים לתת לנו הדמייה של תנועה בזמן אמת.

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

נמחק את הגרשיים מהשורה tmp/motion.log/ כי אנחנו רוצים לשמור לשם את כל יומן האירועים למען פתירת בעיות. נשמור את הקובץ ונצא.

 

לאחר מכן נקליד :

sudo nano /etc/default/motion

ונשנה את הערך ל- start_motion_daemon=yes. דבר זה יתחיל את התוכנה בכל פעם כשהרספברי פיי נדלק.

כשאנחנו בתיקיית הבית pi ניצור תיקיה חדשה שנקראית motion:

mkdir motion

נשנה לה את ההרשאות:

sudo chmod 777 motion -R

עכשיו התחילו מחדש את הרספברי –

 sudo reboot

כדי לראות את הוידאו הכנסו מכל מחשב מאותה הרשת והקלידו את הכתובת של הרספברי פיי ומספר פורט 8081. לדוגמה: 192.168.1.102:8081

עכשיו תלכו כמה שניות בטווח המצלמה ושימו לב שהיא הקליטה את הוידאו לתוך תיקיית motion.

הדרך הכי נוחה לראות אותו היא פשוט להעביר אותו למחשב האישי שלכם באמצעות filezilla ולצפות ב- vlc או כל נגן וידאו אחר.

לעצור את התוכנה הקלידו

sudo /etc/init.d/motion stop

ולהתחיל אותה

 sudo /etc/init.d/motion start

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

ב- raspi-config יש אפשרות של overclock ואפשר לשים אותה על מקסימום. זה קצת מקצר לו את החיים אבל לא נורא, מקסימום נקנה חדש.

זכרו שה- log file  נמצא ב tmp/motion.log/ כך שאם יש בעיות אתם יכולים לבדוק שם מה קורה. בדרך כלל הבעיות הם הרשאות לתיקיות מסוימות.

זהו רק קצה הקרחון של מה שאפשר לעשות עם התוכנה הזו. עוד כמה דברים חמודים שאפשר לעשות זה לכוון את הסף של זיהוי התנועה (ברירת מחדל 1500 פיקסלים), לשלוח תמונות או וידאו לבסיס נתונים של mysql וליצור התראות כמו אימייל ו-sms כשיש תנועה.

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

לצפות במצלמה מרחוק

אם אתם רוצים לצפות במצלמה מרחוק כל מה שאתם צריכים לעשות זה לקדם את הפורטים 80 ו- 8081 לכתובת המקומית של הרספברי פיי. כדי לעשות את זה אתם צריכים להיכנס לנתב הביתי שלכם ולעשות port forwarding.

זה משתנה מנתב לנתב אבל בגדול אתם צריכים להפנות את כל הקריאות לפורטים האלה לכתובת המקומית של הרספברי פיי. עדיף לשריין לו כתובת קבועה באזור גבוה כמו 192.168.1.150 ע”י כתובת סטטית או ע”י mac address reservation.

אחרי שעשיתם את זה תוכלו להיכנס דרך כתובת ה- ip הציבורית של הבית שלכם(wan). אם אתם עושים את זה זכרו לתת שם משתמש וססמה, אתם לא רוצים שכל אחד באינטרנט יראה אתכם יוצאים מהמקלחת 🙂

הוספת עוד מצלמות

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

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

כל מה שצריך לעשות הוא להטמיע את התמונה בתוך הדף לכל כתובת מסוימת של הרספברי פיי:

<img src="192.168.1.150:8081">

4 cameras

המצלמה הייעודית של הרספברי פיי

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

הרימו את מכסה הפלסטיק של המצלמה עד שהוא חצי נפתח לצד, ואז הכניסו את סרט המצלמה כשהצד הכחול פונה לכיוון פתח האינטרנט וה-  USB וסגרו את המכסה על הסרט:

raspberry pi camera installation

עכשיו צריך לאפשר לרספברי לעבוד עם המצלמה ע”י כניסה לתפריט ההגדרות –  raspi-config>enable camera

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

sudo modprobe bcm2835-v4l2

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

raspberry pi webcam vs csi camera

6 תגובות על “מצלמת אבטחה עם הרספברי פיי

    • Hackstore אומר:

      4 מצלמות זה בערך 1 אמפר + רספברי פיי צריך להגיע ל 2 אמפר אז עם ספק כח של 2 ומעלה אפשר אבל לא ניסיתי.

  1. א. אומר:

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

    • Hackstore אומר:

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

  2. יורם דורון אומר:

    לא ניתן להפעיל מצלמה של Raspberry Pi בלי
    grep “bcm2835-v4l2” /etc/modules || echo “bcm2835-v4l2” >> /etc/modules

    • מני אומר:

      אתה צודק. אם מחברים את מצלמת רספברי פיי היעודית עם הסרט צריך לטעון את הדרייבר כפי שהסברתי גם בפוסט הזה וגם בספר רספברי פיי למתחילים. אני משתמש פה בשורה:
      sudo modprobe bcm2835-v4l2

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

כתיבת תגובה

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