פרסומת

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

מה אתה צריך

  • פטל Pi 2 או 3 עם כרטיס Micro SD
  • ארדואינו UNO או דומה
  • 2 סרוו תחביב מיקרו או מיני
  • מצלמת רשת USB
  • חוטי חיבור זכר לגבר
  • חוטי חיבור זכר עד נקבה
  • קשרי מיקוד שונים

בניית מצלמת האבטחה

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

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

סרוו-חומרה

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

instagram viewer
Pi-Pan-Tilt-Camera

מילה על מצלמות רשת

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

lsusb

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

הגדרת סרוו

למרות שסרווואים עשויים להראות מפחידים ומורכבים, הם באמת די פשוטים לחיבור. סרוו פועלים על אפנון רוחב הדופק (PWM), שזו דרך עבור מערכות דיגיטליות לחקות אותות אנלוגיים. אותות PWM הם בעצם אות ON - OFF מהיר. האות שהוא ON או HIGH מתואר באמצעות מחזור חובה. מחזור החובה בא לידי ביטוי כאחוז, ומתאר למשך זמן האות פועל. אות PWM של 25% מחזור חובה יהיה פועל למשך 25% מהזמן, וכיבוי עבור 75% הנותרים. האות אינו פועל בהתחלה ואז כבוי לנצח, הוא פועם באופן קבוע לאורך פרק זמן קצר מאוד.

סרוווס מאזינים לפולסים אלו ופועלים בהתאם. שימוש במחזור חובה של 100% יהיה זהה ל- 5 v "רגיל" ו -0% יהיה זהה לקרקע. אל תדאג אם אתה לא מבין לגמרי איך PWM עובד, אתה עדיין יכול לשלוט על סרוו (Extreme Electronics הוא מקום טוב ללמוד יותר).

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

הנה המעגל:

חיבור פי-סרוו

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

  • אדום חיובי, חבר את זה ל- Pi + 5v
  • חום או שחור זה שלילי, חבר את זה ל- GND על ה- Pi
  • כתום או לבן זה אות, חבר את זה לסיכות ארדואינו 9 ו -10

התקנת ארדואינו

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

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

# כלול // ייבא את הספרייה Servo ServoPan, servoTilt; // צור חפצי סרוו. int servoMin = 20, servoMax = 160; // הגדירו גבולות של הגדרת סריקות סרוו () {// הגדרת סרוו על סיכות מסוג PWM מסוג servoPan.attach (9); servoTilt.attach (10); } לולאת חלל () {עבור (int i = servoMin; i  servoMin; --i) {// העבר סרוו מ- ServoPan.write מקסימלי למינימום; servoTilt.write (i); עיכוב (100); // חכה 100 שניות} }

כל מה שקורה בבריאות אתה צריך לראות את שתי סרוו האטיות נעות קדימה ואחורה. שימו לב כיצד "servoMin" ו- servoMax "מוגדרים כ 20 ו- 160 מעלות (במקום 0 ו- 180). זה נובע חלקית מכיוון ששרתים זולים אלה אינם מסוגלים להזיז במדויק את כל 180 מעלות, וגם בגלל הגודל הפיזי של מצלמת הרשת מונע את השימוש במלוא הטווח. יתכן שתצטרך להתאים את אלה להתקנה שלך.

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

סרוו הם כמעט חזקים מכדי שהארדואינו יעבור לשלטון, כך שהם יופעלו על ידי הפי המעקה 5V על ה- Pi הוא מוגבל ל 750mA המסופק לכל Pi, וה Pi שואב כ 500mA ומשאיר 250mA ל סרוו. סרוו מיקרו אלה מצייר כ- 80mA, כלומר ה- Pi אמור להיות מסוגל להתמודד עם שניים מהם. אם ברצונך להשתמש בסרואים רבים יותר או בדגמים גדולים יותר, המונעים גבוה יותר, יתכן שתצטרך להשתמש בספק כוח חיצוני.

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

# כלול // ייבא את הספרייה Servo ServoPan, servoTilt; // צור אובייקט סרוו. נתוני מחרוזת = ""; // אחסן פקודות נכנסות (מאגר) הגדרת חלל () {// הגדרת סרוו על סיכות מסוג PWM מסוג ServoPan.attach (9); servoTilt.attach (10); Serial.begin (9600); // התחל סדרתי במהירות 9600 bps (מהירות) } לולאת חלל () {while (Serial.available ()> 0) {// אם יש char char data singleChar = Serial.read (); // קרא כל תו אם (singleChar == 'P') {// העבר pan servo servoPan.write (data.toInt ()); נתונים = ""; // נקה מאגר} אחרת אם (singleChar == 'T') {// העבר סרוו הטיה servoTilt.write (data.toInt ()); נתונים = ""; // נקה מאגר} else {data + = singleChar; // הוסף נתונים חדשים}} }

ניתן לבדוק קוד זה על ידי פתיחת המסך הסידורי (למעלה מימין> צג סידורי) ושליחת כמה נתוני בדיקה:

  • 90P
  • 0P
  • 20T
  • 100 ט

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

לבסוף, נתק את Arduino מהמחשב ו- חבר אותו ל- Raspberry Pi באמצעות חיבור יציאת USB הרגיל.

Pi Setup

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

עדכן את ה- Pi:

עדכון sudo מתאים לקבל. sudo מתאים לקבל שדרוג

התקן תנועה:

sudo מתאים לקבל תנועה להתקין

Motion היא תוכנית המיועדת לטיפול בזרמת מצלמות רשת. הוא מטפל בכל ההרמה הכבדה, ואף יכול לבצע הקלטה וזיהוי תנועה (נסה בניית מערכת אבטחת ללכידת תנועה בנה מערכת אבטחת לכידת תנועה באמצעות Pi פטלמבין הפרויקטים הרבים שתוכלו לבנות באמצעות ה- Raspberry Pi, אחד המעניינים והשימושי ביותר לצמיתות הוא מערכת האבטחה ללכידת תנועה. קרא עוד ). פתח את קובץ תצורת Motion:

sudo nano /etc/motion/motion.conf

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

  • daemon on - הפעל את התוכנית
  • framerate: 100 - כמה פריימים או תמונות / שנייה להזרים
  • stream_localhost off - אפשר גישה ברחבי הרשת
  • רוחב 640 - רוחב הווידיאו, התאם למצלמת האינטרנט שלך
  • גובה 320 - גובה הווידיאו, התאימו למצלמת הרשת שלכם
  • stream_port 8081 - היציאה שאליה פלט הווידאו
  • output_picture כבוי - אל תשמור תמונות

זהו קובץ די גדול, לכן מומלץ להשתמש בו CTRL + W לחיפוש שורות. לאחר סיום, לחץ על CTRL + X ואז אשר לשמור ולצאת.

כעת ערוך קובץ אחד נוסף:

sudo ננו / וכו '/ ברירת מחדל / תנועה

הגדר "start_motion_daemon = כן". זה נחוץ כדי להבטיח ש- Motion פועל.

כעת גלה את כתובת ה- IP שלך:

ifconfig

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

עכשיו התחל Motion:

התחל תנועת שירות

אתה יכול לעצור או להפעיל מחדש את התנועה על ידי שינוי "התחל" ל "עצור" או "הפעל מחדש".

עבור למחשב שלך ונווט אל ה- Pi מדפדפן אינטרנט:

http://xxx.xxx.x.xx: 8081

כאשר xxx.xxx.x.xx היא כתובת ה- Pi. המעי הגס ואחריו מספר הוא היציאה שהוקמה קודם לכן. ככל שיהיה לך טוב אתה צריך לראות את הזרם מהמצלמת שלך! נסה להסתובב ולראות איך הדברים נראים. יתכן שתצטרך להתאים את הגדרות הבהירות והניגודיות בקובץ התצורה. יתכן שתצטרך למקד את מצלמת הרשת - בחלק מהדגמים טבעת מיקוד קטנה סביב העדשה. סובב את זה עד שהתמונה תהיה הכי חדה.

חזרה על ה- Pi, צור תיקיה ונווט לתוכה:

מצלמת האבטחה mkdir. מצלמת אבטחה CD /

כעת התקן את Twisted:

sudo apt - קבל להתקין מעוות פיתון

Twisted הוא שרת אינטרנט שנכתב בפייתון, אשר יקשיב לפקודות ואז יפעל בהתאם.

לאחר ההתקנה, צור סקריפט Python לביצוע פקודות (הזז את סרוו).

sudo nano servos.rpy

שימו לב כיצד סיומת הקובץ היא ".rpy" במקום "py". הנה הקוד:

# ייבא קבצים נחוצים. יבוא סדרתי. מ twisted.web.resource ייבוא ​​משאב # הגדרת Arduino במהירות הנכונה. נסה: arduino = סדרתי. סידורי ('/ dev / ttyUSB0', 9600) למעט: arduino = סדרתי. טורי ('/ dev / ttyUSB1', 9600) מחלקת MoveServo (משאב): isLeaf = נכון def render_GET (עצמי, בקשה): נסה: # שלח ערך מעל סדרתי ל- Arduino arduino.write (request.args ['value'] [0]) להחזיר 'הצלחה' למעט: return 'Failure' resource = MoveServo ()

כעת התחל את שרת האינטרנט:

sudo twistd -n web-p 80 - שביל / בית / pi / מצלמת אבטחה /

מאפשר לפרק אותה - "-p 80" מציין את היציאה (80). זהו יציאת ברירת המחדל עבור דפי אינטרנט. "–נתיב / בית / pi / security-cam /" אומר לטוויסטד להפעיל את השרת בספרייה שצוינה. אם תבצע שינויים בסקריפטים שבתיקיית "מצלמת האבטחה", תצטרך להפעיל מחדש את השרת (CTRL + X כדי לסגור, ואז הפעל שוב את הפקודה).

כעת צור את דף האינטרנט:

אינדקס sudo nano.html

הנה קוד הדף:

השתמש במצלמת האבטחה DIY


שנה את "PI_IP_ADDRESS" (משמש פעמיים) לכתובת ה- IP האמיתית של ה- Pi שלך (raspberrypi.local אמור לעבוד גם אם אתה מנהל את ה- Raspian האחרון). הפעל מחדש את שרת האינטרנט ואז נווט אל ה- Pi מהמחשב שלך, אין צורך לציין את היציאה. אתה אמור להיות מסוגל להזיז שמאלה וימינה, ולראות את זרם הווידיאו:

Pi-Pan-Tilt-Camera-View-Web

הנה לך. מצלמת רשת פאן והטיה משלך. אם אתה רוצה לחשוף את מצלמת האינטרנט שלך לאינטרנט, זכור ל שקול את הסכנות 5 סכנות שיש לקחת בחשבון בעת ​​הפניית מצלמות האבטחה הביתיות שלךחשוב לקחת בחשבון בזהירות היכן אתה מציב את המצלמות שלך, ואילו חלקים בבית אתה מפנה אליהם. שמירה על דברים מאובטחת חשובה, אך כך גם שמירה על פרטיותך. קרא עוד ואז התבונן שילוח נמל מהי העברת נמל וכיצד זה יכול לעזור לי? [MakeUseOf מסביר]האם אתה בוכה קצת בפנים כשמישהו אומר לך שיש בעיה להעביר יציאה וזו הסיבה שהאפליקציה החדשה והמבריקה שלך לא תעבוד? ה- Xbox שלך לא יאפשר לך לשחק משחקים, הורדות הטורנט שלך מסרבות ... קרא עוד , כך שהנתב שלך יודע לאן לשלוח בקשות נכנסות. אתה יכול להוסיף ספק כוח חיצוני 3 חבילות סוללות פטל Pi לפרויקטים ניידיםסוללת Raspberry Pi יכולה להפוך Pi רגיל למחשב נייד. תזדקק לאחד מפתרונות הסוללה האלה כדי להתחיל. קרא עוד ומתאם Wi-Fi למתקן נייד באמת.

עשית משהו מגניב עם מצלמת רשת ופיי? תודיעו לי בתגובות, אשמח לראות!

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