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

מערכת האבטחה בלייזר Raspberry Pi: 13 שלבים (עם תמונות)
מערכת האבטחה בלייזר Raspberry Pi: 13 שלבים (עם תמונות)

וִידֵאוֹ: מערכת האבטחה בלייזר Raspberry Pi: 13 שלבים (עם תמונות)

וִידֵאוֹ: מערכת האבטחה בלייזר Raspberry Pi: 13 שלבים (עם תמונות)
וִידֵאוֹ: Мини ПК AC8-N на Intel N100 - часть 3. Proxmox, Home Assistant OS 2024, נוֹבֶמבֶּר
Anonim
Image
Image
תמונה
תמונה

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

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

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

בואו נתחיל.

שלב 1: עיגול הרכיבים הדרושים

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

  1. לפחות פטל פטל תפעולי אחד. במבנה זה השתמשתי בפי דגם B בסגנון ריצת raspbian wheezy. אני בטוח שהמדריך הזה יעבוד מצוין אם אתה מפעיל ג'סי raspbian.
  2. מקור כוח חיצוני לפאי הפטל. נצייר כמות משמעותית של אמפר לאחר שכל זה יתחבר. הקדשתי זמן רב לאבחן ספק כוח מחורבן כמקור הצרות שלי במהלך הבנייה הראשונה שלי. ודא שיש לך כוח בשרני המסוגל לספק לפחות 2 אמפר.
  3. מצביע לייזר של cheapo. מצאתי את שלי ליד הקופה בתחנת דלק. אם אתה רוצה את הלייזר המדויק אתה יכול למצוא אותו כאן. על התווית כתוב 630-680 nm לאורך הגל. הלייזר שתקבל יקבע חלק מהרכיבים האחרים במבנה. אז וודא שהתווית שלו מזהה את אורך הגל שלה.
  4. מצלמת אינטרנט בסגנון usb. למצלמת רשת זו יש רגל מתכווננת המאפשרת לך למקם את המצלמה בצורה יפה. גיליתי שכבל ה- usb שמגיע עם מצלמת האינטרנט היה קצר מדי ליישום שלי ולכן מצאתי הרחבה על מונופריס.
  5. סוג של ערכת פריצה לפאי הפטל כך שתוכל לקבל גישה נוחה לסיכות המעבד.

    תמונה
    תמונה
    תמונה
    תמונה
  6. לוח לחם.
  7. מגהץ.
  8. חוטי מגשר ללוח הלחם.
  9. רכיבי מעגל. הכפל בכמות חוטי הטיול שאתה רוצה.

    • אחד עובד הוביל
    • נגד אחד של 100 אוהם
    • נגד אחד של 1k
    • נגד אחד של 10k
    • נגד אחד 200k באמת כל הנגד הגדול יעשה. בדקתי אותו עם נגד 1M וזה עבד מצוין. FYI 10k היה קטן מדי.
    • טרנזיסטור PNP אחד PN: 2N4403-APCT-ND
    • פוטודיודה אחת (התאימו את זה לאורך גל הלייזר שלכם) PN: PDB-C142-ND

אצרף את קבצי ה- kicad ללוח המעגלים אך לא אעבור על ייצור הלוח במדריך זה.

במהלך הפרויקט הזה מצאתי את הכלים האופציונאליים הבאים נוחים:

  1. התקנת סינרגיה על פאי הפטל. במקרה שאינך מכיר, תוכנה זו תאפשר לך לשלוט בעכבר ובמקלדת של הפטל פאי באמצעות מחשב אחר. זה נחמד אם אתה כמוני ונוח לך יותר במחשב אחר. זוהי גם תוכנה שכולם צריכים לקבל.
  2. רכזת USB. עבור כל מצלמת רשת שבה אתה רוצה להשתמש תזדקק ליציאה אחת.
  3. מד מתח או אוסצילוסקופ אם יש לך אותו.
  4. שימוש ב- MobaXterm לשליטה בפאי הפטל ולתפעל קבצים באמצעות ssh. זה חובה לכל מי שמורם על חלונות. עיין במדריך זה כדי להתקין אותו.

שלב 2: העלה את ה- Pi לפעול

  • תמונה
    תמונה

    הפאי עם רכיבים מינימליים מצורפים

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

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

    עדכון sudo apt-get

    עם פאי הפטל המעודכן הגיע הזמן לשלב הבא

    שלב 3: צור את מעגל זיהוי הלייזר

    מניחים את הרכיבים על לוח הלוח כפי שמוצג. הפעל את לוח הלחם באמצעות פלט 5V של ה- pi או ספק כוח על השולחן. באיור 1 אספקת 5V מחוברת למעקה הלוח החיובי בפינה השמאלית התחתונה של התמונה, והקרקע בצד שמאל למעלה. מעגל זה משתמש בפוטודיודה כמתג להפעלת הטרנזיסטור. הטרנזיסטור ממיר את שינוי המתח הקטן בפוטודיודה לאות דיגיטלי משהו שה- pi יכול לקרוא. עבור כל השלבים הבאים, הנקודה בין 100ohm לבין אות הוביל תהיה המקום בו אנו מדגמים את המעגל עם ה- pi.

    • תמונה
      תמונה

      איור 1: החלק העליון של פריסת לוח הלוח

    • תמונה
      תמונה

      איור 2: מבט חלופי של לוח המעגלים

    אם אתה רוצה מראה נקי יותר צירפתי את קבצי ה- kicad ללוח שמוצג להלן.

    • תמונה
      תמונה

      איור 3: מבט מלמעלה על לוח החיישנים

    • תמונה
      תמונה

      איור 4: לוח לוח חיישן ISO

    • שלב 4: שנה את הלייזר עבור כוח חיצוני

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

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

      • תמונה
        תמונה

        החוט הכתום מחליף את כפתור הלחיצה הרגעי

      • תמונה
        תמונה

        הצגת הלידים החיוביים והשליליים

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

      • תמונה
        תמונה

        תושבת כדור

      • תמונה
        תמונה

        מפרק שקעים

      • תמונה
        תמונה

        כדור ושקע מורכבים

      • שלב 5: הפעל את הלייזר ובדוק את מעגל הגילוי

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

        • תמונה
          תמונה

          לייזר עובד עם קרן בריאה

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

        • תמונה
          תמונה

          הקורה לא נשברה והמנורה כבויה

        • תמונה
          תמונה

          פולש שובר את הקורה וגורם לדלקה להדליק

        • שלב 6: חבר את מצלמת האינטרנט שלך ובדוק את תפקודו

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

          cd /איפה התקנת mjpg-streamer /mjpg-streamer

          ./mjpg_streamer -i "./input_uvc.so -y/dev/video0" -o "./output_http.so -w./www -p 8081"

          פקודה זו תקים זרם ביציאה 8081 באמצעות מקור video0. אם אתה רוצה מצלמות רשת מרובות, הזן שוב את הפקודה לעיל אך שנה את video0 ל- video1 ו- 8081 ל- 8082. הזרמתי עד 3 מצלמות רשת בדרך זו וה- pi לא הוטען.

          בדוק שהחיבור עובד על ידי פתיחת דפדפן במחשב אחר והזן ip-address-of-pi: 8081 או ב- pi אתה יכול פשוט להזין localhost: 8081. אם אינך יודע את ה- IP של ה- pi הזן את הדברים הבאים במסוף

          ifconfig

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

          • תמונה
            תמונה

            פלט מדגם mjpg-streamer

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

          שלב 7: הפסקה

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

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

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

          • תמונה
            תמונה

            פריסת לוח לחם עם PiCobler

          • שלב 8: עקוב אחר הלייזר בעזרת תוכנה

            בואו נכתוב תוכנית קצרה להאזנה לאות הלייזר ולפרסם את הפלט הזה למסוף. ניתן להוריד את הקוד כקובץ מצורף.

            סביר להניח שתצטרך להתקין את התלות של סקריפט זה. פייתון ומודול ה- gpio. כדי להתקין אלה enter

            sudo apt-get install python-rpi.gpio python3-rpi.gpio

            לאחר התקנת מוצלחת של פייתון, הורד את סקריפט הפיתון המצורף בשם read_pin.py והפעל

            cd /directory שבו הנחת את הקובץ /chmod 777 read_pin.py

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

            sudo python3 read_pin.py

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

            Ctrl-C

          • תמונה
            תמונה

            פלט מסוף נכון (מוצג באמצעות MobaXterm)

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

          שלב 9: צור דף אינטרנט להצגת הזרם שלך

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

          sudo apt-get להתקין apache2

          לאחר ההתקנה אתה אמור להיות מסוגל להקליד את הדפדפן שלך ב- pi פטל

          מארח מקומי

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

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

          cd /var /www

          אם ברצונך לשנות את המיקום שבו שרת האינטרנט מחפש את קבצי ה- HTML שלך תוכל לערוך את הקובץ שהאתרים שלך מאפשרים על ידי הזנת

          sudo nano/etc/apache2/sites-enabled/000-default

          שנה כל מופע של/var/www/למיקום הרצוי לך. שמתי את שלי ב/home/pi/Desktop/www/

          ברגע שיש לך את קבצי html בתיקיית האינטרנט הזן localhost בדפדפן או את כתובת ה- ip של ה- pi ממחשב אחר. אתה אמור לראות דבר כזה.

          • תמונה
            תמונה

            צילום מסך של הקבצים המצורפים בפעולה

          SWEEEEET!

          שלב 10: הגדר התראות דוא"ל

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

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

          דברים שתצטרך לשנות יהיו

          • your_ip = "192.168.0.177"
          • your_ip_optional_port = ": 8080"
          • port_to_camera = ": 8081"
          • sending_email_username = "שם המשתמש שלך בדוא"ל"
          • sending_email_password = "הסיסמה שלך"

          סביר להניח ש- your_ip_optional_port שלך יהיה ריק אלא אם שרת ה- apache שלך פועל ביציאה אחרת מלבד ברירת המחדל 80. כבר היה לי שרת פועל על 80 אז הגדרתי את ה- pi שלי לפעול ב- 8080. port_to_camera יהיה היציאה שאליה אתה מציין את המצלמה שלך. הפעל באמצעות סטרימר mjpeg.

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

          תקליטור /תיקייה שבה אתה שם את הסקריפט /

          sudo python3 send_mail.py

          אם הכוכבים מיושרים כראוי וכל המשתנים נכונים אתה אמור לקבל דוא ל הדומה לזה שלמטה.

          • תמונה
            תמונה

            צילום מסך של הקבצים המצורפים בפעולה

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

          שלב 11: הפעלת סקריפט דוא"ל כאשר הלייזר מופר

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

          sm_pid = os.spawnlp (os. P_NOWAIT, "/usr/bin/python3", "python3", "/home/pi/Desktop/security/send_mail.py")

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

          בדיקה הכל עובד על ידי ריצה

          cd /ספרייה שבה אתה שם את הקובץ /

          chmod 777 read_pin_with_mail.py

          sudo python3 read_pin_with_mail.py

          כשאתה שובר את קרן הלייזר אתה אמור לקבל מייל עם התמונה שצולמה ממצלמת הרשת.

          שלב 12: צור סקריפט ראשי ליזום המערכת

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

          שלב 13: סיכום

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

          • תמונה
            תמונה

    מוּמלָץ: