Indholdsfortegnelse:

Smart IoT Vision: 8 trin
Smart IoT Vision: 8 trin

Video: Smart IoT Vision: 8 trin

Video: Smart IoT Vision: 8 trin
Video: Employee Attendance Monitoring System using Face Recognition 2024, November
Anonim
Smart IoT Vision
Smart IoT Vision

Dette er et projekt med fokus på smart city -konteksten. I denne sag er der tre store problemer, vi løser:

1 - energibesparelse i offentlig belysning; 2 - forbedre bysikkerheden; 3 - forbedre trafikafviklingen.

1 - Ved at bruge LED -lamper på gader er besparelserne allerede op til 50%, og med tilføjelsen af Telemanagement kan vi have 30% flere besparelser.

2 - Med brug af smarte kameraer kan vi styre lysene til at dæmpe, hvor folk flyder, er fraværende og gøre gadepartiet lysere, hvor folk går. Det vil ikke kun spare energi, men øge følelsen af at blive overvåget og dermed skræmme dårligt hensigtsmæssige mennesker. Desuden kan visuelle alarmer (f.eks. Blinkende lamper) bruges i tilfælde af mistænkelig adfærd.

3 - Det smarte kamera vil overvåge trafikken, behandle dens forhold lokalt og styre lyssignalerne for bedst muligt at styre trafikken. På denne måde kunne trafikpropper undgås, biler skulle ikke vente længe på røde signaler, når der ikke er flow i overfarten osv. Med hensyn til teknologiske problemer løser vi også, hvad der er almindelige problemer i IoT, såsom robust forbindelse i byskala og kameraintegration til IoT Network, ved at bruge kantbehandling til kun at transmittere relevant information.

Se vores publikation om Embarcados og GitHub

Også på YouTube

Vores hold:

Milton Felipe Souza Santos

Gustavo Retuci Pinheiro

Eduardo Caldas Cardoso

Jonathas Baker

(Kontaktoplysninger nederst)

Trin 1: Systemblokdiagram

Systemblokdiagram
Systemblokdiagram

Dette er en oversigt over løsningsarkitekturen.

Systemet består af en Camera-Gateway, der bruger RFmesh på FAN-interface, WiFi på LAN og også CAT-M til WAN-forbindelse. Det indeholder også smarte fotoceller, smarte kameraer og lyssignaler.

Alle enheder i netværkene, hovedsageligt det smarte kamera, sender data via 6lowpan til den smarte gateway, så det kan tage beslutninger vedrørende offentlig belysning og lyssignalstyring.

Gatewayen er også forbundet til vores server via VPN. På denne måde har vi adgang til FAN og LAN, bot for at kontrollere status eller styre enhederne.

Trin 2: Komponenter til dette projekt

Komponenter til dette projekt
Komponenter til dette projekt
Komponenter til dette projekt
Komponenter til dette projekt
Komponenter til dette projekt
Komponenter til dette projekt

Smart kamera

- DragonBoard410C/DragonBoard820C

- USB kamera

- OneRF NIC

Camera Gateway

- DragonBoard410C/DragonBoard820C

- USB kamera

- OneRF NIC

- Cat-M/3G-modem

Smart lyssignal

Trin 3: Trin 2: Kredsløbsdiagram og forbindelser

Trin 2: Kredsløbsdiagram og forbindelser
Trin 2: Kredsløbsdiagram og forbindelser
Trin 2: Kredsløbsdiagram og forbindelser
Trin 2: Kredsløbsdiagram og forbindelser
Trin 2: Kredsløbsdiagram og forbindelser
Trin 2: Kredsløbsdiagram og forbindelser
Trin 2: Kredsløbsdiagram og forbindelser
Trin 2: Kredsløbsdiagram og forbindelser

Smart kamera

- Kamera på USB -port

- OneRF NIC ved UART -port

Camera Gateway

- Kamera på USB -port

- OneRF NIC ved UART -port

- 3G/Cat-M-modem ved USB-port

(Alt forbundet med IoT Mezzanine)

Smart Stree Light

- Almindelig gadebelysning

- Relæbræt (3 kanaler)

- OneRF NIC

Smart fotocelle

- OneRF NIC

- Effektmåler

Trin 4: Installer Os på DragonBoards

Installation af Debian på Dragonboard820C (Fastboot -metode)

Brug et Linux -operativsystem til at installere pakkerne i:

På Dragonboard:

gør s4 OFF, OFF, OFF, OFF

Tænd for at trykke på vol (-)

Hvis du bruger en seriel skærm (anbefales), får du beskeden "fastboot: behandlingskommandoer" (seriel skærm på 115200) Tilslut mikro-usb (J4) til pc'en

På værts -pc: Download (og pak ud) fra

$ sudo fastboot -enheder

452bb893 fastboot (eksempel)

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

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

Installation af Debian på Dragonboard410C

Trin på computeren (Linux)

1 - Download billedet

$ cd ~

$ mkdir Debian_SD_Card_Install_image

$ cd Debian_SD_Card_Install_image

$ wget

2 - Pak filerne ud

$ cd ~/Debian_SD_Card_Install_image

$ unzip dragonboard410c_sdcard_install_debian-233.zip

3 - Indsæt microSD'en på din computer, og kontroller, om den er monteret

$ df -h

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

4 - Afmonter microSD og brænd billedet

$ umount /dev /sdb1

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

5 - Fjern microSD'en fra din pc

Trin på computeren (Windows) Download - SD -kortbillede - (Option 1) SD -kortbillede - Installer og start fra eMMC

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

Pak SD -kortets installationsbillede ud

Download og installer Win32DiskImager -værktøjet

sourceforge.net/projects/win32diskimager/f…

Åbn Win32DiskImager -værktøj

Indsæt SD -kortet i computeren

Find den udpakkede.img -fil

Klik på Skriv

Trin på Dragonboard Sørg for, at DragonBoard ™ 410c er frakoblet strømmen

Sæt S6-switch på DragonBoard ™ 410c til 0-1-0-0, “SD Boot switch” skal være sat til “ON”.

Tilslut en HDMI

Tilslut et USB -tastatur

Indsæt microSD

Tilslut strømadapteren

Vælg det billede, der skal installeres, og klik på "Installer"

vent til installationen er færdig

Fjern strømadapteren

Fjern microSD

Sæt S6-kontakten på 0-0-0-0

FÆRDIG

Trin 5: Forbindelsesgrænseflader

Installation af Cat-m og 3G

Anvend følgende AT -kommandoer ved hjælp af en værtsmaskine:

PÅ#SIMDET? // tjek SIM -tilstedeværelse#SIMDET: 2, 0 // sim ikke indsat

#SIMDET: 2, 1 // sim indsat

I+CREG? // tjek om den er registreret

+CREG: 0, 1 // (deaktiver netværksregistrering uopfordret resultatkode (fabriksindstilling), registreret hjemmenetværk)

AT+COPS?

+COPS: 0, 0,”VIVO”, 2 // (mode = automatisk valg, format = alfanumerisk, oper,?)

AT+CPAS // Telefonaktivitetsstatus

+CPAS: 0 // klar

AT+CSQ // tjek servicekvaliteten

+CSQ: 16, 3 // (rssi, bitfejlrate)

AT+CGATT? // tilstand for GPRS -vedhæftet fil

+CGATT: 1 // vedhæftet

AT+CGDCONT = 1,”IP”,”zap.vivo.com.br”,, 0, 0 // konfigurer kontekst

Okay

AT+CGDCONT? // tjek kontekst

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

AT#SGACT = 1, 1 // Kontekstaktivering

#SGACT: 100.108.48.30

Okay

Opsætning af grænsefladen

Brug af grafisk miljø

Tilslut modemet (oneRF_Modem_v04 - HE910)

Åbn netværksforbindelser

Klik på + for at tilføje ny forbindelse

Vælg Mobilt bredbånd

Vælg den korrekte enhed

Vælg Land

Vælg udbyderen

Vælg planen og Gem

Fjern modemet

Tilslut modemet igen

Brug terminalapt-get install pppconfig

pppconfig

udbyder = vivo

dinamico

CHAP

vivo

vivo

115200

Tone

*99#

nej (manuel)

/dev/ttyUSB0

Gemme

kat/etc/ppp/peers/vivo

cat/etc/chatscripts/vivo

pon vivo

Hvis du bruger Cat-M-modul, skal du bare bruge følgende kommandoer før:

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

apt-get install comgt

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

Trin 6: Installation af essentielle softwaremoduler

På udviklingscomputeren

Bemærk, at nogle trin er hardware-afhængige og bør justeres, så de opfylder dine faktiske computerspecifikationer. Bibliotekerne kan installeres med en enkelt kommando.

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-fremtidig python-protobuf python-typning python-hypotese python-yaml

OpenCV

Denne ramme bruges til at udvikle billedbaserede statistiske algoritmer på udviklingsmaskinen. Da det meste af vores kode er skrevet i Python, er den nemmeste installationsmetode at bare

pip installer opencv-python

Bemærk dog, at disse hjul ikke vil bruge noget bortset fra din CPU og måske ikke engang bruger alle dets kerner, så du vil måske kompilere fra kilde for at opnå maksimal ydelse. For at opbygge pakken i Linux f.eks. Downloader du zip -filen fra siden OpenCV Releases og pakker den ud. Fra den udpakkede mappe:

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

sudo foretag installation

Kommandoen -j4 instruerer til at bruge fire tråde. Brug så mange som din CPU har!

Caffe

Sådan konfigureres Caffe -rammen fra kilder:

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

cmake..

lave alle

lav test gør runtest

Hvis alle tests kører med succes, er du klar.

TensorFlow

Google lader dig ikke kompilere TensorFlow med almindelige værktøjer. Det kræver Bazel for det, og chancerne er for, at det ikke virker, så undgå at kompilere det, og tag bare det prækompilerede modul med:

pip installer tensorflow

Hvis din computer er lidt gammel og ikke har AVX-instruktioner, skal du hente den sidste ikke-AVX tensorflow med

pip installer tensorflow == 1.5

Og du er færdig.

SNPE - Snapdragon ™ Neural Processing Engine

Det er ikke svært at oprette Snappy, som vores Qualcomm -venner kalder SNPE, men trinene skal følges nøje. Installationsoversigten er:

klon de neurale netværksrammers git -opbevaringssteder

CaffeCaffe2

TensorFlow

ONNX

kør scripts for at tjekke for dependenciessnpe/bin/dependencies.sh

snpe/bin/check_python_depends.sh

kør snpe/bin/envsetup.sh for hver installeret ramme

kilde $ SNPE/bin/envsetup.sh -c $ CAFFE_GIT

kilde $ SNPE/bin/envsetup.sh -f $ CAFFE2_GIT

kilde $ SNPE/bin/envsetup.sh -t $ TENSORFLOW_GIT

kilde $ SNPE/bin/envsetup.sh -o $ ONNX_GIT

For at kilde SNPE i hver terminalinstans, du åbner, skal du tilføje trin tre's fire linjer til slutningen af din ~/.bashrc -fil.

På målbrættet

At flytte til arm64 fra amd64 er ikke en ubesværet opgave, da mange biblioteker vil drage fordel af x86 -instruktioner for at øge deres ydeevne. Heldigvis er det muligt at samle de fleste af de nødvendige ressourcer på selve tavlen. De nødvendige biblioteker kan installeres med en enkelt kommando.

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-fremtidig python-protobuf python-typning python-hypotese python-yaml

Installer dem med apt og gå videre. Bemærk, at dette trin kan tage noget tid, da passende opkald foretager at bygge koden, der ikke er forhåndskompileret.

OpenCV

Download udgivelsen fra OpenCV -depotet, pak det ud et sted og fra den udpakkede mappe:

mkdir build && cd buildcmake..

lav alle -j3

sudo foretag installation

Bemærk, at vi brugte indstillingen -j3. Hvis du får adgang til kortet via ssh, kan det være nok at have alle kerner fuldt indlæst for at afbryde forbindelsen. Det er ikke ønskeligt. Ved at begrænse trådforbruget til tre, vil vi altid have mindst en ledig tråd til at klare ssh -forbindelser og generel systemhusholdning.

Dette er til Dragonboard 820 og Inforce 6640 med APQ8096 -chippen. På Dragonboard 410 vil du gerne have lidt gratis virtuel hukommelse eller begrænse kompileringstrådene til en, da den har mindre fysisk RAM til rådighed.

Det skal også bemærkes, at afkøling af chippen hjælper med at øge ydeevnen ved at begrænse termisk gas. En kølelegeme gør tricket ved små belastninger, men du vil have en ordentlig blæser til kompilering og andre CPU-intensive belastninger.

Hvorfor ikke installere OpenCV med apt eller pip? Fordi kompilering af den i målmaskinen gør hver tilgængelig processorinstruktion synlig for kompilatoren, hvilket forbedrer udførelsesydelsen.

SNPE - Snapdragon ™ Neural Processing Engine

Vi installerede Snappy, ligesom det var på en stationær computer, selvom der ikke var nogen egentlig neurale netværksramme installeret (SNPE har kun brug for git repos, ikke de faktiske binærer).

Da alt, hvad vi har brug for, er binærerne og overskrifterne til kommandoen snpe-net-run, er der en mulighed for, at bare at have følgende filer i en mappe og tilføje denne mappe til PATH fungerer:

Neuralt netværk binærsnpe/bin/aarch64-linux-gcc4.9/snpe-net-run

CPU -biblioteker

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 biblioteker

snpe/lib/dsp/libsnpe_dsp_skel.so

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

Resultatfremviser

snpe/models/alexnet/scripts/show_alexnet_classifications.py

Det fede element, /usr/lib/aarch64-linux-gnu/libatomic.so.1, leveres med Linaro på denne sti og skal kopieres til denne hypotetiske minimale mappe.

Andre uundværlige pakker:

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

sudo apt installer nodejs

sudo apt installer openvpn

Trin 7: Demonstration

Se en kort demonstration af Smart IoT Vision for Smart-City-arbejde !!

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

Trin 8: Tak

Vi takker Qualcomm -teamet og Embarcados for at have oprettet og støttet konkurrencen.

Kontakt os gerne på:

Referencer

Dragonboard 410c installationsvejledning til Linux og 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/

Anbefalede: