Πίνακας περιεχομένων:

Smart IoT Vision: 8 βήματα
Smart IoT Vision: 8 βήματα

Βίντεο: Smart IoT Vision: 8 βήματα

Βίντεο: Smart IoT Vision: 8 βήματα
Βίντεο: Top 10 IoT Projects 2023 | Smart IoT Projects | Applications Of IoT | Simplilearn 2024, Ιούλιος
Anonim
Smart IoT Vision
Smart IoT Vision

Πρόκειται για ένα έργο που εστιάζει στο πλαίσιο της έξυπνης πόλης. Σε αυτό το θέμα, υπάρχουν τρία βασικά προβλήματα που επιλύουμε:

1 - εξοικονόμηση ενέργειας σε δημόσιο φωτισμό. 2 - βελτίωση της ασφάλειας της πόλης. 3 - βελτίωση της ροής κυκλοφορίας.

1 - Χρησιμοποιώντας φώτα LED στους δρόμους, η εξοικονόμηση είναι ήδη έως και 50%, και με την προσθήκη Telemanagement, μπορούμε να έχουμε 30% περισσότερη εξοικονόμηση.

2 - Με τη χρήση έξυπνων φωτογραφικών μηχανών, μπορούμε να ελέγξουμε τα φώτα για να χαμηλώσουν όπου απουσιάζει ο κόσμος και να κάνουμε το τμήμα του δρόμου πιο φωτεινό όπου περπατούν οι άνθρωποι. Όχι μόνο θα εξοικονομήσει ενέργεια, αλλά θα αυξήσει την αίσθηση της παρακολούθησης, εκφοβίζοντας έτσι ανθρώπους με κακή πρόθεση. Επιπλέον, οι οπτικοί συναγερμοί (αναβοσβήνουν οι λαμπτήρες για παράδειγμα), θα μπορούσαν να χρησιμοποιηθούν σε περίπτωση ύποπτης συμπεριφοράς.

3 - Η έξυπνη κάμερα θα παρακολουθεί την κίνηση, θα επεξεργάζεται τοπικά τις συνθήκες της και θα ελέγχει τα φωτεινά σήματα για να διαχειρίζεται καλύτερα την κυκλοφορία. Με αυτόν τον τρόπο, θα μπορούσε να αποφευχθεί η κυκλοφοριακή συμφόρηση, τα αυτοκίνητα δεν θα πρέπει να περιμένουν για πολύ καιρό κόκκινα σήματα όταν δεν υπάρχει ροή στη διάβαση και ούτω καθεξής. Όσον αφορά τα τεχνολογικά προβλήματα, επιλύουμε επίσης τα κοινά ζητήματα στο IoT, όπως ισχυρή συνδεσιμότητα σε κλίμακα πόλης και ενσωμάτωση κάμερας για το Δίκτυο IoT, χρησιμοποιώντας επεξεργασία άκρων για τη μετάδοση μόνο σχετικών πληροφοριών.

Δείτε τη δημοσίευσή μας στο Embarcados και το GitHub

Επίσης στο YouTube

Η ομάδα μας:

Μίλτον Φελίπε Σόουζα Σάντος

Γκουστάβο Ρετούτσι Πινέιρο

Εντουάρντο Κάλντας Καρντόσο

Τζόναθας Μπέικερ

(Στοιχεία επικοινωνίας στο κάτω μέρος)

Βήμα 1: Διάγραμμα μπλοκ συστήματος

Διάγραμμα μπλοκ συστήματος
Διάγραμμα μπλοκ συστήματος

Αυτή είναι μια επισκόπηση της αρχιτεκτονικής λύσεων.

Το σύστημα αποτελείται από μια κάμερα-πύλη που χρησιμοποιεί RFmesh στη διεπαφή FAN, WiFi στο LAN και επίσης CAT-M για σύνδεση WAN. Περιέχει επίσης έξυπνα φωτοκύτταρα, Έξυπνες κάμερες και σήματα φωτός.

Όλες οι συσκευές στα δίκτυα, κυρίως η έξυπνη κάμερα, στέλνουν δεδομένα μέσω 6lowpan στην έξυπνη πύλη, ώστε να μπορεί να λάβει τις αποφάσεις σχετικά με τον δημόσιο φωτισμό και τον έλεγχο των σημάτων φωτός.

Η πύλη συνδέεται επίσης με τον διακομιστή μας μέσω VPN. Με αυτόν τον τρόπο, έχουμε πρόσβαση στο FAN και το LAN, bot για τον έλεγχο της κατάστασης ή τον έλεγχο των συσκευών.

Βήμα 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)

Smart Stree Light

- Συμβατικός φωτισμός του δρόμου

- Πίνακας ρελέ (3 κανάλια)

- OneRF NIC

Έξυπνο Φωτοκύτταρο

- OneRF NIC

- Μετρητής δύναμης

Βήμα 4: Εγκαταστήστε το Os στο DragonBoards

Εγκατάσταση του Debian στο Dragonboard820C (μέθοδος Fastboot)

Χρησιμοποιώντας ένα λειτουργικό σύστημα Linux, εγκαταστήστε τα πακέτα που αναφέρονται στη διεύθυνση:

Στο dragonboard:

make s4 OFF, OFF, OFF, OFF

Ενεργοποιήστε το πάτημα vol (-)

Εάν χρησιμοποιείτε σειριακή οθόνη (συνιστάται ιδιαίτερα), θα λάβετε το μήνυμα "fastboot: εντολές επεξεργασίας" (σειριακή οθόνη στο 115200) Συνδέστε το micro-usb (J4) στον υπολογιστή

Στον κεντρικό υπολογιστή: Λήψη (και αποσυμπίεση) από τη διεύθυνση

$ sudo συσκευές fastboot

452bb893 fastboot (παράδειγμα)

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

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

Εγκατάσταση του Debian στο Dragonboard410C

Βήματα στον υπολογιστή (Linux)

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%/μέσο/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" πρέπει να οριστεί σε "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 // (απενεργοποίηση εγγραφής δικτύου ανεπιθύμητου κωδικού αποτελέσματος (εργοστασιακή προεπιλογή), καταχωρημένο οικιακό δίκτυο)

AT+COPS;

+COPS: 0, 0, "VIVO", 2 // (λειτουργία = αυτόματη επιλογή, μορφή = αλφαριθμητική, λειτουργία,?)

AT+CPAS // Κατάσταση δραστηριότητας τηλεφώνου

+CPAS: 0 // έτοιμο

AT+CSQ // ελέγξτε την ποιότητα της υπηρεσίας

+CSQ: 16, 3 // (rssi, ποσοστό σφάλματος bit)

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

πάροχος = vivo

dinamico

ΣΚΑΣΙΜΟ

vivo

vivo

115200

Τόνος

*99#

όχι (εγχειρίδιο)

/dev/ttyUSB0

αποθηκεύσετε

cat/etc/ppp/peers/vivo

cat/etc/chatscripts/vivo

pon vivo

Εάν χρησιμοποιείτε μονάδα Cat-M, χρησιμοποιήστε τις ακόλουθες εντολές πριν:

echo 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-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 python-pip python-numpy python-scipy python-matplotlib python-future python-protobuf python-typing python-hypotesis python-yaml

OpenCV

Αυτό το πλαίσιο χρησιμοποιείται για την ανάπτυξη στατιστικών αλγορίθμων που βασίζονται σε εικόνα στη μηχανή ανάπτυξης. Δεδομένου ότι ο περισσότερος κώδικας είναι γραμμένος σε Python, η ευκολότερη μέθοδος εγκατάστασης είναι η απλή

pip εγκατάσταση opencv-python

Σημειώστε, ωστόσο, ότι αυτοί οι τροχοί δεν θα χρησιμοποιούν τίποτα εκτός από τον επεξεργαστή σας και μπορεί να μην χρησιμοποιούν καν όλους τους πυρήνες του, οπότε μπορεί να θέλετε να κάνετε μεταγλώττιση από την πηγή για να επιτύχετε τη μέγιστη απόδοση. Για να δημιουργήσετε το πακέτο σε Linux, για παράδειγμα, δεν φορτώνετε το αρχείο zip από τη σελίδα OpenCV Releases και το αποσυμπιέζετε. Από τον αποσυμπιεσμένο φάκελο:

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

sudo make install

Οι εντολές -j4 κάνουν οδηγίες για χρήση τεσσάρων νημάτων. Χρησιμοποιήστε τόσα όσα έχει η CPU σας!

Caffe

Για να ρυθμίσετε το πλαίσιο Caffe από πηγές:

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

cmake..

φτιάξτε όλα

κάνω δοκιμή κάνω runtest

Εάν όλες οι δοκιμές εκτελούνται με επιτυχία, τότε είστε έτοιμοι.

TensorFlow

Η Google δεν σας επιτρέπει να μεταγλωττίσετε το TensorFlow με συνηθισμένα εργαλεία. Απαιτεί το Bazel για αυτό και πιθανότατα δεν θα λειτουργήσει, οπότε αποφύγετε να το μεταγλωττίσετε και απλώς πιάστε την προ-μεταγλωττισμένη ενότητα με:

pip εγκατάσταση tensorflow

Εάν ο υπολογιστής σας είναι λίγο παλιός και δεν έχει οδηγίες AVX, λάβετε το τελευταίο tensorflow εκτός AVX

pip εγκατάσταση tensorflow == 1.5

Και τελειώσατε.

SNPE - Snapdragon ™ Neural Processing Engine

Η ρύθμιση του Snappy, όπως αποκαλούν οι φίλοι μας της Qualcomm SNPE, δεν είναι δύσκολη, αλλά τα βήματα πρέπει να ακολουθηθούν προσεκτικά. Το περίγραμμα της εγκατάστασης είναι:

κλωνοποίηση των αποθετηρίων git των πλαισίων νευρωνικού δικτύου

CaffeCaffe2

TensorFlow

ONNX

εκτελέστε τα σενάρια για να ελέγξετε για τοpendenciessnpe/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 python-pip python-numpy python-scipy python-matplotlib python-future python-protobuf python-typing python-hypotesis python-yaml

Εγκαταστήστε τα με apt και προχωρήστε. Λάβετε υπόψη ότι αυτό το βήμα μπορεί να διαρκέσει λίγο, καθώς οι κατάλληλες κλήσεις πραγματοποιούν τη δημιουργία του κώδικα που δεν έχει προ-μεταγλωττιστεί.

OpenCV

Κατεβάστε την κυκλοφορία από το αποθετήριο OpenCV, αποσυμπιέστε την κάπου και από τον φάκελο χωρίς αποσυμπίεση:

mkdir build && cd buildcmake..

κάνει όλα -j3

sudo make install

Σημειώστε ότι χρησιμοποιήσαμε την επιλογή -j3. Εάν έχετε πρόσβαση στον πίνακα μέσω ssh, η πλήρης φόρτωση όλων των πυρήνων μπορεί να είναι αρκετή για να σταματήσει η σύνδεση. Αυτό δεν είναι επιθυμητό. Περιορίζοντας τη χρήση νήματος σε τρία, θα έχουμε πάντα τουλάχιστον ένα δωρεάν νήμα για να αντιμετωπίσουμε τις συνδέσεις ssh και τη γενική εξυπηρέτηση του συστήματος.

Αυτό είναι για το Dragonboard 820 και το Inforce 6640 με το τσιπ APQ8096. Στο Dragonboard 410 θα θέλετε να έχετε κάποια ελεύθερη εικονική μνήμη ή να περιορίσετε τα νήματα μεταγλώττισης σε ένα, καθώς έχει λιγότερη διαθέσιμη φυσική μνήμη RAM.

Είναι επίσης αξιοσημείωτο ότι η ψύξη του τσιπ θα βοηθήσει στην αύξηση της απόδοσης περιορίζοντας τη θερμική πίεση. Μια ψύκτρα κάνει το κόλπο σε μικρά φορτία, αλλά θα θέλετε έναν κατάλληλο ανεμιστήρα για μεταγλώττιση και άλλα φορτία εντατικής CPU.

Γιατί να μην εγκαταστήσετε το OpenCV με apt ή pip; Επειδή η μεταγλώττισή του στο μηχάνημα προορισμού καθιστά ορατή κάθε διαθέσιμη εντολή επεξεργαστή στον μεταγλωττιστή, βελτιώνοντας την απόδοση εκτέλεσης.

SNPE - Snapdragon ™ Neural Processing Engine

Εγκαταστήσαμε το Snappy ακριβώς όπως ήταν σε επιτραπέζιο υπολογιστή, παρόλο που δεν είχε εγκατασταθεί πραγματικό πλαίσιο νευρωνικού δικτύου (το SNPE χρειάζεται μόνο τα git repos, όχι τα πραγματικά δυαδικά αρχεία).

Ωστόσο, δεδομένου ότι το μόνο που χρειαζόμαστε είναι τα δυαδικά αρχεία και οι κεφαλίδες για την εντολή snpe-net-run, υπάρχει η πιθανότητα να λειτουργεί μόνο τα ακόλουθα αρχεία σε ένα φάκελο και η προσθήκη αυτού του φακέλου στο PATH:

Νευρωνικό δίκτυο binarysnpe/bin/aarch64-linux-gcc4.9/snpe-net-run

Βιβλιοθήκες CPU

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 install nodejs

sudo apt εγκατάσταση openvpn

Βήμα 7: Επίδειξη

Δείτε μια σύντομη επίδειξη του Smart IoT Vision for Smart-City working !!

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

Βήμα 8: Ευχαριστώ

Ευχαριστούμε την ομάδα της Qualcomm και την Embarcados για τη δημιουργία και την υποστήριξη του διαγωνισμού.

Μη διστάσετε να επικοινωνήσετε μαζί μας στα:

βιβλιογραφικές αναφορές

Οδηγός εγκατάστασης Dragonboard 410c για Linux και Android

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/

Συνιστάται: