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

איתור מצבי חירום - קוואלקום דרגוןבורד 410c: 7 שלבים
איתור מצבי חירום - קוואלקום דרגוןבורד 410c: 7 שלבים

וִידֵאוֹ: איתור מצבי חירום - קוואלקום דרגוןבורד 410c: 7 שלבים

וִידֵאוֹ: איתור מצבי חירום - קוואלקום דרגוןבורד 410c: 7 שלבים
וִידֵאוֹ: העברית בחזית | וובינר בנושא כלים רגשיים להתמודדות עם מצבי חירום 2024, יולי
Anonim
איתור מצבי חירום - קוואלקום דרגוןבורד 410c
איתור מצבי חירום - קוואלקום דרגוןבורד 410c
איתור מצבי חירום - קוואלקום דרגוןבורד 410c
איתור מצבי חירום - קוואלקום דרגוןבורד 410c
איתור מצבי חירום - קוואלקום דרגוןבורד 410c
איתור מצבי חירום - קוואלקום דרגוןבורד 410c

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

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

המכשיר המרוחק הוא לוח Arduino עם מודול HC-06 המופנה אפשרי להעברת כל המידע ורשת רחבה בעלות נמוכה המסוגלת לעבד כמות גדולה של נתונים.

שלב 1: רכיבים נדרשים

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

במקרה שלנו, אנו משתמשים בחיישנים אלה המחוברים ב- ARDUINO Pro Mini, המפורטים להלן:

  • PIR (אינפרא אדום פסיבי-חיישן נוכחות)
  • DHT 11 (חיישן לחות וטמפרטורה)
  • חיישן CO (חיישן חד תחמוצת הפחמן)
  • חיישן רעש

מפעילים:

  • סרוו מנועים
  • זמזם

תִקשׁוֹרֶת:

מודול Bluetooth HC-06

ל- Dragonboard 410c, יהיו לנו כמה חיישנים ותוכנות לעיבוד כל קלטי הנתונים:

חיישנים:

  • DHT 11
  • חיישן אור השמש

מפעילים:

  • ממסר https://www.ebay.com/itm/103020005- Seeed-Technolog…
  • סטטוס לד
  • זמזם

שלב 2: יצירת מכשיר מרוחק

יצירת מכשיר מרוחק
יצירת מכשיר מרוחק

עכשיו הגיע הזמן לחבר את כל הרכיבים הבאים ללוח Arduino, ליצור מכשיר שיקבל את הנתונים מהאווירה (רעש, לחות, טמפרטורה וכו '), ולשלוח ל- Dragonboard באמצעות מודול ה- Bluetooth HC-06.

יש לשים לב לקשרים, מכיוון שלכל החיישן יש מקומות שצריך לחבר.

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

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

המכשיר המקומי הוא DragonBoard 410c, המעבד מידע על שמע, וידאו, דיגיטלי ואנלוגי עם מעבד ה- SnapDragon 410 החזק שלך.

הצבת הרכיבים (Remote Devide)

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

מודול בלוטות 'HC-06 כולל 4 פינים:

  • TX (משדר) -> מחובר על הסיכה של ארדואינו RX
  • RX (מקלט) -> מחובר בסיכה של ה- TX Arduino
  • VCC -> מחובר ב- 5v
  • GND

לחיישן DHT 11 יש 4 סיכות (אך רק 3 בשימוש):

  • אות -> מחובר על סיכה דיגיטלית
  • VCC -> מחובר ב- 5v
  • GND

חיישן PIR כולל 3 סיכות:

  • אות -> מחובר על סיכה דיגיטלית
  • VCC -> מחובר ב- 5v
  • GND

לחיישן גז (MQ) יש 4 סיכות:

  • OUT דיגיטלי -> מחובר על סיכה דיגיטלית (אם אתה רוצה מידע דיגיטלי)
  • Analog OUT -> במקרה שלנו, אנו משתמשים בזה המחובר על סיכה אנלוגית
  • VCC -> מחובר ב- 5v
  • GND

חיישן רעש (KY-038) כולל 3 סיכות:

  • אות -> מחובר על סיכה אנלוגית
  • VCC -> מחובר ב- 5v
  • GND

קוד למכשיר מרוחק Arduino:

/ * * נתוני שליחת Arduino באמצעות Blutooth * * ערך החיישנים נקרא, מחובר ב- * מחרוזת ושולח באמצעות יציאה טורית. */ #כלול "DHT.h" #define DHTPIN 3 #define DHTTYPE DHT22 #define PIRPIN 9 #define COPIN A6 DHT dht (DHTPIN, DHTTYPE); צף לחות, טמפרטורה; פיר בוליאני = 0; int co, mic; String msg = ""; שם חרוך [40]; הגדרת void () {Serial.begin (9600); dht.begin (); } לולאת חלל () {humidaty = dht.readHumidity (); טמפרטורה = dht.readTemperature (); pir = digitalRead (PIRPIN); co = analogRead (COPIN); mic = analogRead (A0); msg = "#;" + מחרוזת (humidaty) + ";" + מחרוזת (טמפרטורה)+ ";"+ מחרוזת (מיקרופון)+ ";"+ מחרוזת (פיר)+ ";" + מחרוזת (co) + ";#" + "\ n"; Serial.print (הודעה); עיכוב (2000); }

הסבר קוד:

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

שלב 3: תוכנות וספריות

כדי לעבד את כל הנתונים שהתקבלו ולשלוט במערכת האבטחה, יש צורך להשתמש בכמה תוכנות וספריות ב- Qualcomm DragonBoard 410c.

בפרויקט ספציפי זה אנו משתמשים:

תוכנות:

  • פִּיתוֹן
  • ארדואינו

פלטפורמות:

  • Amazon AWS -> שרת מקוון
  • Phant -> שירות נתוני מארח

ספריות:

  • OpenCV-עיבוד וידאו (https://opencv-python-tutroals.readthedocs.io/en/latest/)
  • PyAudio - עיבוד שמע (https://people.csail.mit.edu/hubert/pyaudio/)
  • גל (https://www.physionet.org/physiotools/wave-installation.shtm)
  • AudioOp (https://docs.python.org9https://scikit-learn.org/stable/install.html/2/library/audioop.html)
  • Numpy (https://www.numpy.org)
  • SciKit1 - אימון וניבוי של למידת מכונה (https://scikit-learn.org/stable/install.html)
  • cPickle - שמור את הפרמטרים של למידת מכונה (https://pymotw.com/2/pickle/)
  • MRAA - השתמש ב- GPIO (https://iotdk.intel.com/docs/master/mraa/python/)
  • UPM-השתמש ב- GPIO (https://github.com/intel-iot-devkit/upm)
  • PySerial - שימוש בתקשורת טורית עם מכשיר Bluetooth (https://pythonhosted.org/pyserial/)

שלב 4: שימוש ב- SSH והתקנת Libs

קודם כל אתה צריך לקבל את כתובת ה- IP מה- Dragonboard, כדי לעשות זאת, עליך להפעיל את ה- DragonBoard המחובר עם עכבר, מקלדת וצג HDMI. כאשר הלוח מופעל עליך להתחבר לרשת, מאשר ללכת למסוף ולהפעיל את הפקודה:

sudo ifconfig

לאחר מכן תוכל לקבל את כתובת ה- IP.

עם כתובת ה- IP אתה יכול לגשת ל- Dragonboard באמצעות SHH, לשם כך עליך לפתוח מסוף במחשב המחובר באותה רשת כמו הלוח. במסוף אתה יכול להריץ את הפקודה:

ssh linaro@{IP}

(עליך להחליף את {IP} בכתובת ה- IP שאתה מקבל ב- Dragonboard).

ה- lib הראשון שאתה צריך להתקין הוא mraa lib. לשם כך עליך להפעיל את הפקודה הבאה במסוף:

sudo add-apt-repository ppa: mraa/mraa && sudo apt-ge; t update && sudo apt-get install libmraa1 libmraa-dev mraa-tools python-mraa python3-mraa

כדי להתקין opencv עבור פייתון עליך רק להפעיל את הפקודה:

sudo apt-get להתקין python-opencv

כדי להתקין את PyAudio עליך להריץ את הפקודה:

sudo apt-get להתקין python-pyaudio python3-pyaudio

ה- libs WAVE ו- AudioOp כבר מותקנים בלוח. כדי להתקין numpy עליך להריץ את הפקודה:

sudo apt-get להתקין python-numpy python-scipy

ה- lib האחרון שאתה צריך להתקין הוא scikit, כדי להתקין אותו אתה צריך להתקין pip. אתה רק צריך להריץ את הפקודה:

pip התקן scikit-lear

שלב 5: פרוטוקול בלוטות '

פרוטוקול בלוטות '
פרוטוקול בלוטות '
פרוטוקול בלוטות '
פרוטוקול בלוטות '
פרוטוקול בלוטות '
פרוטוקול בלוטות '

חיבור DragonBoard עם ה- Arduino באמצעות Bluetooth

מודול ה- Bluetooth (HC-06) היה מחובר בתחילה ל- Arduino Nano על פי הדוגמה הבאה:

שימוש בממשק הגרפי Linaro (מערכת ההפעלה המשמשת בפרויקט הנוכחי ב- DragonBoard), בצד ימין של הסרגל התחתון לחץ על סמל ה- Bluetooth ולאחר מכן לחץ על "הגדר מכשיר חדש" והגדר עם מודול ה- Bluetooth שלך כשהוא מותאם. ודא שהמודול שלך מחובר בפועל על ידי לחיצה נוספת על סמל ה- Bluetooth, לחץ על "התקנים …" ובדוק אם שם המכשיר שלך רשום ומחובר. כעת בחר את המכשיר שלך במסך "התקני Bluetooth" ולחץ עליו באמצעות לחצן העכבר הימני וציין את היציאה שאליה מחובר מודול ה- Bluetooth שלך (למשל: "rfcomm0"). הערה: שם הנמל שאליו המכשיר שלך מחובר יהיה חשוב לשלב הבא לאפשר חילופי נתונים.

הקמת DragonBoard Exchange Data ו- Bluetooth

בעיקרון אנו עוקבים אחר שלב אחר שלב של הקישור: https://www.uugear.com/portfolio/bluetooth-communi… אך לא ביצענו את החלק בזיווג רק את ביצוע קודי הפייתון וארדואינו. ב- Python שימשה הספרייה הטורקית שמאתחלת ביציאה המחוברת ל- Bluetooth, ומכאן שקוד ה- Python קרא את נתוני החיישנים המחוברים ל- Arduino באמצעות מודול ה- Bluetooth.

שלב 6: שימוש בקומת הביניים ב- DragonBoard 410c

שימוש בקומת הביניים ב- DragonBoard 410c
שימוש בקומת הביניים ב- DragonBoard 410c

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

שימוש במגן זה, חיבור ציוד היקפי הופך להרבה יותר קל.

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

אנו משתמשים בערכות הבאות:

  • ממסר גרוב
  • חיישן אור השמש של גרוב
  • שקע לד גרוב
  • חיישן טמפרטורה וחיי הומי
  • זמזם גרוב

שלב 7: תוכנת DragonBoard 410c

החלק של התוכנית ב- DragonBoard צופן ב- Python והתוכנית המשמשת ב- Arduino פותחה ב- C ++. כל 2 דקות ה- Arduino קורא את כל החיישן המחובר אליו. מאשר Arduino לשלוח את הקריאה ל- DragonBoard באמצעות Bluetooth. ה- DragonBoard משלב את הקריאה שהגיעה מהארדואינו עם הקריאה שהיא עושה על ידי המגן הביניים עם התכונות מדוגמאות השמע והווידאו.

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

מוּמלָץ: