جدول المحتويات:
- الخطوة 1: مخطط كتلة النظام
- الخطوة 2: مكونات هذا المشروع
- الخطوة 3: الخطوة 2: مخطط الدائرة والتوصيلات
- الخطوة 4: قم بتثبيت نظام التشغيل على DragonBoards
- الخطوة 5: واجهات التوصيل
- الخطوة 6: تثبيت وحدات البرامج الأساسية
- الخطوة 7: العرض التوضيحي
- الخطوة 8: شكرا لك
فيديو: رؤية ذكية لإنترنت الأشياء: 8 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
هذا مشروع يركز على سياق المدينة الذكية. في هذا الأمر ، هناك ثلاث مشاكل رئيسية نقوم بحلها:
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: مخطط الدائرة والتوصيلات
كاميرا ذكية
- الكاميرا على منفذ 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/
موصى به:
مقياس درجة الحرارة والرطوبة لإنترنت الأشياء مع شاشة OLED: 5 خطوات (بالصور)
مقياس درجة الحرارة والرطوبة لإنترنت الأشياء مع شاشة OLED: تحقق من درجة الحرارة والرطوبة في شاشة OLED في أي وقت تريده وفي نفس الوقت اجمع هذه البيانات في منصة إنترنت الأشياء. في الأسبوع الماضي قمت بنشر مشروع يسمى أبسط مقياس درجة حرارة ورطوبة إنترنت الأشياء. هذا مشروع جيد لأنه يمكنك
محطة طقس شخصية لإنترنت الأشياء من جزيئات فوتون: 4 خطوات (بالصور)
محطة الطقس الشخصية لجسيمات فوتون إنترنت الأشياء:
الزراعة المائية لإنترنت الأشياء - قياس EC: 6 خطوات
IoT Hydroponics - قياس EC: سيُظهر هذا الدليل كيفية إنشاء جهاز Bluetooth منخفض الطاقة لإنترنت الأشياء لمراقبة التوصيل الكهربائي لمحلول المغذيات المائية. سيكون الجهاز عبارة عن أي لوحة تطوير ESP32 ووصلة مسبار EC المعزولة uFire
المصيدة الحية الملائمة لإنترنت الأشياء: 6 خطوات (بالصور)
المصيدة الحية الصديقة لـ IoT Mouse: هذا مصيدة لالتقاط الفئران دون إلحاق الأذى بهم ، حتى تتمكن من إطلاقها في الخارج. إذا اكتشف مستشعر القرب الماوس ، فسيقوم محرك سيرفو بإغلاق الباب. ستتلقى رسالة فورية و / أو بريدًا إلكترونيًا لإبلاغك بأنك تحدد
المدخلات التناظرية لإنترنت الأشياء - الشروع في استخدام إنترنت الأشياء: 8 خطوات
المدخلات التناظرية لإنترنت الأشياء - الشروع في استخدام إنترنت الأشياء: يعد فهم المدخلات التناظرية جزءًا مهمًا من فهم كيفية عمل الأشياء من حولنا ، ومعظم إن لم يكن كل المستشعرات عبارة عن مستشعرات تناظرية (في بعض الأحيان يتم تحويل هذه المستشعرات إلى رقمية). على عكس المدخلات الرقمية التي يمكن تشغيلها أو إيقاف تشغيلها فقط ، فإن الإدخال التناظري