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

חזון IoT חכם: 8 שלבים
חזון IoT חכם: 8 שלבים

וִידֵאוֹ: חזון IoT חכם: 8 שלבים

וִידֵאוֹ: חזון IoT חכם: 8 שלבים
וִידֵאוֹ: נועם הוא אלוף שחמט בן 8 | ילדי פלא 2024, נוֹבֶמבֶּר
Anonim
חזון IoT חכם
חזון IoT חכם

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

1 - חיסכון באנרגיה בתאורה ציבורית; 2 - שיפור אבטחת העיר; 3 - שיפור זרימת התנועה.

1 - על ידי שימוש בנורות LED ברחובות, החיסכון הוא כבר עד 50%, ובתוספת Telemanagement נוכל לחסוך 30% יותר.

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

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

עיין בפרסום שלנו בנושא Embarcados ו- GitHub

גם ביוטיוב

הצוות שלנו:

מילטון פליפה סוזה סנטוס

גוסטבו רטוצי פיניירו

אדוארדו קלדס קרדוסו

ג'ונטה בייקר

(פרטי יצירת קשר בתחתית)

שלב 1: תרשים בלוק המערכת

תרשים בלוק המערכת
תרשים בלוק המערכת

זהו סקירה כללית של ארכיטקטורת הפתרונות.

המערכת מורכבת מ- Camera-Gateway המשתמש ב- RFmesh בממשק FAN, WiFi ב- LAN, וגם CAT-M לקישוריות WAN. הוא מכיל גם תאי צילום חכמים, מצלמות חכמות ואותות אור.

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

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

שלב 2: רכיבים לפרויקט זה

רכיבים לפרויקט זה
רכיבים לפרויקט זה
רכיבים לפרויקט זה
רכיבים לפרויקט זה
רכיבים לפרויקט זה
רכיבים לפרויקט זה

מצלמה חכמה

- DragonBoard410C/DragonBoard820C

- מצלמת USB

- OneRF NIC

שער מצלמה

- DragonBoard410C/DragonBoard820C

- מצלמת USB

- כרטיס רשת OneRF

- מודם Cat-M/3G

אות אור חכם

שלב 3: שלב 2: תרשים מעגלים וחיבורים

שלב 2: תרשים מעגלים וחיבורים
שלב 2: תרשים מעגלים וחיבורים
שלב 2: תרשים מעגלים וחיבורים
שלב 2: תרשים מעגלים וחיבורים
שלב 2: תרשים מעגלים וחיבורים
שלב 2: תרשים מעגלים וחיבורים
שלב 2: תרשים מעגלים וחיבורים
שלב 2: תרשים מעגלים וחיבורים

מצלמה חכמה

- מצלמה ביציאת USB

- OneRF NIC ביציאת UART

שער מצלמה

- מצלמה ביציאת USB

- OneRF NIC ביציאת UART

- מודם 3G/Cat-M ביציאת USB

(הכל מחובר באמצעות הביניים של IoT)

אור סטרי חכם

- פנס רחוב קונבנציונאלי

- לוח ממסר (3 ערוצים)

- OneRF NIC

תא צילום חכם

- כרטיס רשת OneRF

- מד כוח

שלב 4: התקן את מערכת ההפעלה ב- DragonBoards

התקנת Debian ב- Dragonboard820C (שיטת Fastboot)

באמצעות מערכת הפעלה Linux, התקן את החבילות המפורטות ב:

על לוח הדרקונים:

הפוך את s4 כבוי, כבוי, כבוי, כבוי

הפעל את הלחיצה על vol (-)

אם אתה משתמש במסך סדרתי (מומלץ מאוד), תקבל את ההודעה "fastboot: פקודות עיבוד" (צג טורי ב -115200) חבר את ה- micro-usb (J4) במחשב האישי

במחשב המארח: הורד (ופרק) מה

$ sudo התקני bootboot

מגף מהיר 452bb893 (דוגמה)

$ sudo fastboot flash boot boot-linaro-buster-dragonboard-820c-BUILD.img

$ sudo fastboot flash rootfs linaro-buster-alip-dragonboard-820c-BUILD.img

התקנת Debian ב- Dragonboard410C

שלבים במחשב (לינוקס)

1 - הורד את התמונה

$ cd ~

$ mkdir Debian_SD_Card_Install_image

$ cd Debian_SD_Card_Install_image

$ wget

2 - פרק את הקבצים

$ cd ~/Debian_SD_Card_Install_image

$ unzip dragonboard410c_sdcard_install_debian-233.zip

3 - הכנס את ה- microSD למחשב שלך ובדוק אם הוא מותקן

$ df -h

/dev/sdb1 7.4G 32K 7.4G 1%/media/3533-3737

4 - הסר את ה- microSD ושרוף את התמונה

$ umount /dev /sdb1

$ sudo dd if = db410c_sd_install_debian.img of =/dev/sdb bs = 4M oflag = status sync = noxfer

5 - הסר את ה- microSD מהמחשב האישי שלך

שלבים במחשב (Windows) הורדה - תמונת כרטיס SD - (אפשרות 1) תמונת כרטיס SD - התקן ואתחל מ- eMMC

www.96boards.org/documentation/consumer/dr…

לפתוח את כרטיס ההתקנה של כרטיס SD

הורד והתקן את הכלי Win32DiskImager

sourceforge.net/projects/win32diskimager/f…

פתח את כלי Win32DiskImager

הכנס את כרטיס ה- SD למחשב

מצא את קובץ ה- img שחולץ

לחץ על כתוב

צעדים ב- Dragonboard וודא כי DragonBoard ™ 410c נותק מהחשמל

הגדר את מתג S6 ב- DragonBoard ™ 410c ל- 0-1-0-0, "מתג אתחול SD" צריך להיות "ON".

חבר HDMI

חבר מקלדת USB

הכנס את ה- microSD

חבר מתאם מתח

בחר את התמונה להתקנה ולחץ על "התקן"

המתן עד לסיום ההתקנה

הסר את מתאם המתח

הסר את ה- microSD

הגדר את מתג S6 ל -0-0-0-0

בוצע

שלב 5: ממשקי קישוריות

התקנת Cat-m ו- 3G

החל את פקודות ה- AT הבאות באמצעות מחשב מארח:

ב-#SIMDET? // בדוק נוכחות SIM#SIMDET: 2, 0 // sim לא הוכנס

#SIMDET: 2, 1 // sim מוכנס

ב-+CREG? // לבדוק אם הוא רשום

+CREG: 0, 1 // (השבת את קוד התוצאה הבלתי רצוי של רישום רשת (ברירת מחדל של היצרן), רשת ביתית רשומה)

ב-+COPS?

+COPS: 0, 0,”VIVO”, 2 // (mode = בחירה אוטומטית, פורמט = אלפאנומרי, אופר,?)

AT+CPAS // סטטוס פעילות הטלפון

+מחיר לרכישה: 0 // מוכן

AT+CSQ // בדוק את איכות השירות

+CSQ: 16, 3 // (rssi, שיעור שגיאות סיביות)

AT+CGATT? // מצב מצורף GPRS

+CGATT: 1 // מצורף

AT+CGDCONT = 1, "IP", "zap.vivo.com.br",, 0, 0 // הגדרת הקשר

בסדר

AT+CGDCONT? // לבדוק את ההקשר

+CGDCONT: 1, "IP", "zap.vivo.com.br", "", 0, 0

AT#SGACT = 1, 1 // הפעלת הקשר

#SGACT: 100.108.48.30

בסדר

הגדר את הממשק

שימוש בסביבה גרפית

חבר את המודם (oneRF_Modem_v04 - HE910)

פתח חיבורי רשת

לחץ על + כדי להוסיף חיבור חדש

בחר פס רחב לנייד

בחר את המכשיר הנכון

בחר את המדינה

בחר את הספק

בחר את התוכנית ושמור

הסר את המודם

חבר מחדש את המודם

שימוש ב- terminalapt-get להתקין pppconfig

pppconfig

ספק = vivo

dinamico

בחור

vivo

vivo

115200

טוֹן

*99#

לא (ידני)

/dev/ttyUSB0

לשמור

cat/etc/ppp/peers/vivo

cat/etc/chatscripts/vivo

pon vivo

אם אתה משתמש במודול Cat-M, פשוט השתמש בפקודות הבאות לפני:

הד 1bc7 1101>/sys/bus/usb-serial/drivers/option1/new_id

apt-get להתקין comgt

comgt -d /dev /ttyUSB0 comgt מידע -d /dev /ttyUSB0

שלב 6: התקנת מודולי תוכנה חיוניים

במחשב הפיתוח

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

sudo apt install build-essential git libatlas libgoogle-glog-dev libiomp-dev libleveldb-dev liblmdb-dev libopencv-dev libopenmpi-dev libsnappy-dev libprotobuf-dev libatlas libboost libgflags2 hdf5 openmpi-bin opnempi-doc protobuf-compiler python python-pip python-numpy python-scipy python-matplotlib python-python-protobuf python-typing python-hypotesis python-yaml

OpenCV

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

pip התקן opencv-python

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

mkdir build && cd buildcmake.. make all -j4

sudo עשה התקנה

הפקודה -j4 מורה להשתמש בארבעה שרשורים. השתמש בכמה שיש למעבד שלך!

קפה

כדי להגדיר את מסגרת Caffe ממקורות:

git clone https://github.com/BVLC/caffe.git && cd caffemkdir build

cmake..

לעשות הכל

לעשות בדיקה לעשות בדיקת ריצה

אם כל הבדיקות פועלות בהצלחה אז אתה מוכן.

TensorFlow

Google לא מאפשרת לך לאסוף את TensorFlow עם כלים רגילים. זה דורש Bazel בשביל זה ורוב הסיכויים שזה לא יעבוד, אז הימנע מלרכב אותו ופשוט תפס את המודול שהורכב מראש עם:

pip להתקין tensorflow

אם המחשב שלך קצת ישן ואין לו הוראות AVX, קבל את ה- tensorflow האחרון שאינו AVX

pip להתקין tensorflow == 1.5

וסיימת.

SNPE - מנוע עיבוד עצבי Snapdragon ™

הגדרת Snappy, כפי שמכנים חברינו של קוואלקום SNPE, אינה קשה אך יש לבצע את השלבים מקרוב. מתווה ההתקנה הוא:

לשכפל את מאגרי git של מסגרות הרשת העצבית

קפה קפה 2

TensorFlow

ONNX

הפעל את הסקריפטים כדי לבדוק אם יש dependenciessnpe/bin/dependencies.sh

snpe/bin/check_python_depends.sh

עבור כל מסגרת מותקנת הפעלה snpe/bin/envsetup.sh

מקור $ SNPE/bin/envsetup.sh -c $ CAFFE_GIT

מקור $ SNPE/bin/envsetup.sh -f $ CAFFE2_GIT

מקור $ SNPE/bin/envsetup.sh -t $ TENSORFLOW_GIT

מקור $ SNPE/bin/envsetup.sh -o $ ONNX_GIT

כדי להזין SNPE בכל מופע מסוף שאתה פותח, צרף את שלושת השורות של שלב שלוש לסוף קובץ ~/.bashrc שלך.

על לוח המטרה

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

sudo apt install build-essential git libatlas libgoogle-glog-dev libiomp-dev libleveldb-dev liblmdb-dev libopencv-dev libopenmpi-dev libsnappy-dev libprotobuf-dev libatlas libboost libgflags2 hdf5 openmpi-bin opnempi-doc protobuf-compiler python python-pip python-numpy python-scipy python-matplotlib python-python-protobuf python-typing python-hypotesis python-yaml

התקן אותם עם apt והמשך. שים לב כי שלב זה עשוי להימשך זמן מה, שכן שיחות מתאימות מבנות את הקוד שאינו מורכב מראש.

OpenCV

הורד את המהדורה ממאגר OpenCV, פרק אותה במקום כלשהו ומהתיקיה הפתוחה:

mkdir build && build buildmake..

לעשות את כל -j3

sudo עשה התקנה

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

זה מיועד ל- Dragonboard 820 ו- Inforce 6640 עם שבב APQ8096. ב- Dragonboard 410 תרצה לקבל קצת זיכרון וירטואלי פנוי או להגביל את האשכולות לאחד, מכיוון שיש לו פחות זיכרון RAM פיזי.

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

למה לא להתקין את OpenCV עם apt או pip? מכיוון שחיבורו במכשיר היעד הופך את כל הוראות המעבד הזמינות לגלויות לקומפיילר, ומשפרות את ביצועי הביצוע.

SNPE - מנוע עיבוד עצבי Snapdragon ™

התקנו את Snappy בדיוק כמו במחשב שולחני, למרות שלא הותקנה מסגרת רשת עצבית ממשית (SNPE צריך רק את repos git, לא את הבינארים בפועל).

עם זאת, מכיוון שכל מה שאנחנו צריכים הם הקבצים הבינאריים והכותרות של הפקודה snpe-net-run, קיימת אפשרות שפשוט יש את הקבצים הבאים בתיקייה והוספת תיקייה זו ל- PATH עובדת:

רשת עצבית binarysnpe/bin/aarch64-linux-gcc4.9/snpe-net-run

ספריות מעבד

snpe/lib/aarch64-linux-gcc4.9/libSNPE.so

snpe/lib/aarch64-linux-gcc4.9/libsymphony-cpu.so

/usr/lib/aarch64-linux-gnu/libatomic.so.1

ספריות DSP

snpe/lib/dsp/libsnpe_dsp_skel.so

snpe/lib/aarch64-linux-gcc4.9/libsnpe_adsp.so

מציג תוצאות

snpe/models/alexnet/scripts/show_alexnet_classifications.py

הפריט הנועז, /usr/lib/aarch64-linux-gnu/libatomic.so.1, מסופק עם Linaro בנתיב זה ויש להעתיק אותו לתיקיה מינימלית היפותטית זו.

חבילות לא נכונות אחרות:

sudo apt-get install net-toolssudo apt-get install gedit

sudo apt להתקין nodejs

sudo apt להתקין openvpn

שלב 7: הפגנה

צפה בהדגמה קצרה של Smart IoT Vision לעבודה בעיר חכמה !!

www.youtube.com/watch?v=qlk0APDGqcE&feature=youtu.be

שלב 8: תודה

אנו מודים לצוות קוואלקום ואמברקדו על יצירת התחרות ותמיכתה.

אל תהסס לפנות אלינו ב:

הפניות

מדריך ההתקנה של Dragonboard 410c עבור לינוקס ואנדרואיד

github.com/96boards/documentation/wiki/Dr….

DragonBoard 410c

caffe.berkeleyvision.org/install_apt.htmlhttps://caffe.berkeleyvision.org/installation.html#… https://developer.qualcomm.com/docs/snpe/setup.ht…https://caffe.berkeleyvision.org/installation.html#… https://github.com/BVLC/caffe https://caffe.berkeleyvision.org/installation.html#… https://github.com/tensorflow/tensorflow http:/ /caffe.berkeleyvision.org/installation.html#… https://www.tensorflow.org/install/ https://caffe.berkeleyvision.org/installation.html#… https://caffe.berkeleyvision.org/

מוּמלָץ: