جدول المحتويات:

رؤية ذكية لإنترنت الأشياء: 8 خطوات
رؤية ذكية لإنترنت الأشياء: 8 خطوات

فيديو: رؤية ذكية لإنترنت الأشياء: 8 خطوات

فيديو: رؤية ذكية لإنترنت الأشياء: 8 خطوات
فيديو: الساعة الذكية: كيفية تفعيل فيسبوك ماسنجر؟ | إعداد Facebook Messenger C800 T800 Watch 8 Ultra 2024, يوليو
Anonim
Smart IoT Vision
Smart IoT Vision

هذا مشروع يركز على سياق المدينة الذكية. في هذا الأمر ، هناك ثلاث مشاكل رئيسية نقوم بحلها:

1 - توفير الطاقة في الإضاءة العامة ؛ 2 - تحسين أمن المدينة ؛ 3 - تحسين التدفق المروري.

1 - باستخدام مصابيح LED في الشوارع ، تصل نسبة التوفير بالفعل إلى 50٪ ، ومع إضافة Telemanagement ، يمكننا تحقيق وفورات أكثر بنسبة 30٪.

2 - باستخدام الكاميرات الذكية يمكننا التحكم في الأضواء لتخفت حيث يكون تدفق الناس غائبًا وجعل قسم الشارع أكثر إشراقًا حيث يسير الناس. فهو لن يوفر الطاقة فحسب ، بل سيزيد من الشعور بالمراقبة ، وبالتالي يخيف الأشخاص ذوي النوايا السيئة. علاوة على ذلك ، يمكن استخدام الإنذارات المرئية (وميض المصابيح على سبيل المثال) في حالة السلوك المشبوه.

3 - ستراقب الكاميرا الذكية حركة المرور وتعالج ظروفها محليًا وتتحكم في الإشارات الضوئية من أجل إدارة حركة المرور بشكل أفضل. وبهذه الطريقة ، يمكن تجنب الاختناقات المرورية ، ولن تضطر السيارات إلى الانتظار لفترة طويلة للإشارات الحمراء عندما لا يكون هناك تدفق في المعبر ، وما إلى ذلك. فيما يتعلق بالمشكلات التكنولوجية ، نقوم أيضًا بحل المشكلات الشائعة في إنترنت الأشياء مثل الاتصال القوي في نطاق المدينة وتكامل الكاميرا لشبكة إنترنت الأشياء ، باستخدام المعالجة المتطورة لنقل المعلومات ذات الصلة فقط.

انظر منشورنا على 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 NIC

- مودم 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 Mezzanine)

ضوء ستري الذكي

- إنارة الشوارع التقليدية

- لوحة الترحيل (3 قنوات)

- OneRF NIC

ضوئية ذكية

- OneRF NIC

- مقياس الطاقة

الخطوة 4: قم بتثبيت نظام التشغيل على DragonBoards

تثبيت دبيان على Dragonboard820C (طريقة Fastboot)

باستخدام نظام تشغيل Linux ، قم بتثبيت الحزم المدرجة في:

على لوح التنين:

اجعل s4 OFF ، OFF ، OFF ، OFF

تشغيل الضغط على المجلد (-)

إذا كنت تستخدم شاشة تسلسلية (موصى بها بشدة) ، فستتلقى الرسالة "fastboot: Processing command" (جهاز العرض التسلسلي في 115200) قم بتوصيل micro-usb (J4) بالكمبيوتر

على الكمبيوتر المضيف: قم بالتنزيل (وفك الضغط) من

أجهزة $ sudo fastboot

452bb893 fastboot (مثال)

$ sudo fastboot التمهيد فلاش-linaro-buster-dragonboard-820c-BUILD.img

$ sudo fastboot flash rootfs linaro-buster-alip-dragonboard-820c-BUILD.img فلاش

تثبيت دبيان على Dragonboard410C

خطوات على الكمبيوتر (Linux)

1 - قم بتنزيل الصورة

$ cd ~

mkdir $ Debian_SD_Card_Install_image

$ cd Debian_SD_Card_Install_image

$ wget

2 - فك ضغط الملفات

$ cd ~ / Debian_SD_Card_Install_image

قم بفك ضغط 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 = حالة المزامنة = 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 Boot switch" على "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 تم إدخالها

AT + CREG؟ // تحقق مما إذا كان مسجلاً

+ CREG: 0 ، 1 // (تعطيل تسجيل الشبكة رمز النتيجة غير المرغوب فيه (الإعداد الافتراضي للمصنع) ، الشبكة المنزلية المسجلة)

في + COPS؟

+ COPS: 0 ، 0 ، "VIVO" ، 2 // (الوضع = اختيار تلقائي ، التنسيق = أبجدي رقمي ، أوبرا ،؟)

AT + CPAS // حالة نشاط الهاتف

+ 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)

افتح اتصالات الشبكة

انقر فوق + لإضافة اتصال جديد

حدد Mobile Broadband

حدد الجهاز الصحيح

حدد الدولة

حدد المزود

حدد الخطة وحفظ

قم بإزالة المودم

أعد توصيل المودم

باستخدام terminalapt-get install pppconfig

pppconfig

مزود = الجسم الحي

ديناميكو

CHAP

فيفو

فيفو

115200

نغمة، رنه

*99#

لا (يدوي)

/ dev / ttyUSB0

حفظ

cat / etc / ppp / peers / vivo

cat / etc / chatscripts / vivo

بون فيفو

إذا كنت تستخدم وحدة Cat-M ، فما عليك سوى استخدام الأوامر التالية من قبل:

صدى 1bc7 1101> / sys / bus / usb-serial / drivers / option1 / new_id

apt-get install comgt

comgt -d / dev / ttyUSB0 comgt info -d / dev / ttyUSB0

الخطوة 6: تثبيت وحدات البرامج الأساسية

على تطوير الكمبيوتر

لاحظ أن بعض الخطوات تعتمد على الأجهزة ويجب تعديلها لتلبي مواصفات الكمبيوتر الفعلية. يمكن تثبيت المكتبات بأمر واحد.

sudo apt install build-basic git libatlas libgoogle-glog-dev libiomp-dev libleveldb-dev liblmdb-dev libopencv-dev libopenmpi-dev libsnappy-dev libprotobuf-dev libatlas libboost libgflags2 binthob-compi-compi python-pip python-numpy python-scipy python-matplotlib python-Future python-protobuf python-typing python-hypotesis python-yaml

OpenCV

يستخدم هذا الإطار لتطوير خوارزميات إحصائية تعتمد على الصور على آلة التطوير. نظرًا لأن معظم الكود الخاص بنا مكتوب بلغة Python ، فإن أسهل طريقة للتثبيت هي فقط

نقطة تثبيت opencv-python

لاحظ ، مع ذلك ، أن هذه العجلات لن تستخدم أي شيء بصرف النظر عن وحدة المعالجة المركزية الخاصة بك وقد لا تستخدم حتى جميع أنويةها ، لذلك قد ترغب في التجميع من المصدر لتحقيق أقصى أداء. لإنشاء الحزمة في Linux ، على سبيل المثال ، لا تقوم بتحميل الملف المضغوط من صفحة إصدارات OpenCV وفك ضغطه. من المجلد الذي تم فك ضغطه:

mkdir build && cd buildcmake.. جعل الكل j4

sudo جعل التثبيت

يرشد الأمر -j4 إلى استخدام أربعة مؤشرات ترابط. استخدم أكبر عدد ممكن من وحدة المعالجة المركزية الخاصة بك!

كافيه

لإعداد إطار عمل Caffe من المصادر:

بوابة استنساخ https://github.com/BVLC/caffe.git && cd caffemkdir build

cmake..

جعل جميع

إجراء اختبار جعل runtest

إذا تم إجراء جميع الاختبارات بنجاح ، فأنت جاهز تمامًا.

TensorFlow

لا تسمح لك Google بتجميع TensorFlow باستخدام الأدوات العادية. إنها تتطلب Bazel من أجلها والفرص لن تنجح ، لذا تجنب تجميعها واحصل على الوحدة المجمعة مسبقًا مع:

نقطة تثبيت tensorflow

إذا كان جهاز الكمبيوتر الخاص بك قديمًا بعض الشيء ولا يحتوي على تعليمات AVX ، فاحصل على آخر tensorflow بخلاف AVX

نقطة تثبيت Tensorflow == 1.5

وانت انتهيت.

SNPE - محرك المعالجة العصبية Snapdragon ™

إعداد Snappy ، كما يسمي أصدقاؤنا من Qualcomm SNPE ، ليس بالأمر الصعب ولكن يجب اتباع الخطوات عن كثب. مخطط التثبيت هو:

استنساخ مستودعات git لأطر الشبكة العصبية

كافيه 2

TensorFlow

ONNX

قم بتشغيل البرامج النصية للتحقق من التبعيّات / bin / التبعيّات

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-basic git libatlas libgoogle-glog-dev libiomp-dev libleveldb-dev liblmdb-dev libopencv-dev libopenmpi-dev libsnappy-dev libprotobuf-dev libatlas libboost libgflags2 binthob-compi-compi python-pip python-numpy python-scipy python-matplotlib python-Future python-protobuf python-typing python-hypotesis python-yaml

تثبيتها مع apt والمضي قدما. لاحظ أن هذه الخطوة قد تستغرق بعض الوقت ، حيث تقوم الاستدعاءات الملائمة بإنشاء كود لم يتم تجميعه مسبقًا.

OpenCV

قم بتنزيل الإصدار من مستودع OpenCV ، قم بفك ضغطه في مكان ما ومن المجلد الذي تم فك ضغطه:

بناء mkdir && cd buildcmake..

اجعل كل شيء -j3

sudo جعل التثبيت

لاحظ أننا استخدمنا الخيار -j3. إذا قمت بالوصول إلى اللوحة عبر ssh ، فقد يكون تحميل جميع النوى بالكامل كافيًا لإسقاط الاتصال. هذا غير مرغوب فيه. من خلال قصر استخدام الخيط على ثلاثة ، سيكون لدينا دائمًا خيط واحد مجاني على الأقل للتعامل مع اتصالات ssh والتدبير المنزلي للنظام العام.

هذا خاص بـ Dragonboard 820 و Inforce 6640 مع شريحة APQ8096. في Dragonboard 410 ، سترغب في الحصول على ذاكرة افتراضية مجانية أو قصر سلاسل عمليات التحويل على واحدة ، نظرًا لأنها تحتوي على ذاكرة وصول عشوائي أقل متاحة.

وتجدر الإشارة أيضًا إلى أن تبريد الشريحة سيساعد على زيادة الأداء عن طريق الحد من الاختناق الحراري. يقوم المبدد الحراري بعمل الحيلة عند الأحمال الصغيرة ولكنك ستحتاج إلى مروحة مناسبة للتجميع والأحمال الأخرى كثيفة الاستخدام لوحدة المعالجة المركزية.

لماذا لا تقوم بتثبيت 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 لعمل المدينة الذكية !!

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

الخطوة 8: شكرا لك

نشكر فريق Qualcomm و Embarcados على إنشاء ودعم المسابقة.

لا تتردد في الاتصال بنا على:

مراجع

دليل تثبيت Dragonboard 410c لنظامي Linux و Android

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

دراغون بورد 410c

caffe.berkeleyvision.org/install_apt.htmlhttps://caffe.berkeleyvision.org/installation.html#… https://developer.qualcomm.com/docs/snpe/setup.ht…https://caffe.berkeleyvision.org / install.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/

موصى به: