Innholdsfortegnelse:
- Trinn 1: Systemblokkdiagram
- Trinn 2: Komponenter for dette prosjektet
- Trinn 3: Trinn 2: Kretsdiagram og tilkoblinger
- Trinn 4: Installer Os på DragonBoards
- Trinn 5: Tilkoblingsgrensesnitt
- Trinn 6: Installere viktige programvaremoduler
- Trinn 7: Demonstrasjon
- Trinn 8: Takk
Video: Smart IoT Vision: 8 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Dette er et prosjekt som fokuserer på smart city -konteksten. I denne saken er det tre store problemer vi løser:
1 - energisparing i offentlig belysning; 2 - forbedre bysikkerheten; 3 - forbedre trafikkflyten.
1 - Ved å bruke LED -lamper på gater er besparelsene allerede opptil 50%, og med tillegg av Telemanagement kan vi spare 30% mer.
2 - Ved bruk av smarte kameraer kan vi kontrollere lysene for å dempe ned der folk flyter er fraværende og gjøre gateseksjonen lysere der folk går. Det vil ikke bare spare energi, men øke følelsen av å bli sett på, og dermed skremme dårlige intensjoner. Videre kan visuelle alarmer (for eksempel blinkende lamper) brukes ved mistenkelig oppførsel.
3 - Det smarte kameraet vil overvåke trafikken, behandle forholdene lokalt og kontrollere lyssignalene for best mulig å håndtere trafikken. På denne måten kunne trafikkork unngås, biler ville ikke måtte vente lenge på røde signaler når det ikke er flyt i krysset, og så videre. Når det gjelder teknologiske problemer, løser vi også vanlige problemer i IoT, for eksempel robust tilkobling i byskala og kameraintegrasjon for IoT Network, ved å bruke kantbehandling for å overføre bare relevant informasjon.
Se vår publikasjon om Embarcados og GitHub
Også på YouTube
Vårt team:
Milton Felipe Souza Santos
Gustavo Retuci Pinheiro
Eduardo Caldas Cardoso
Jonathas Baker
(Kontaktinformasjon nederst)
Trinn 1: Systemblokkdiagram
Dette er en oversikt over løsningsarkitekturen.
Systemet består av en Camera-Gateway som bruker RFmesh på FAN-grensesnittet, WiFi på LAN, og også CAT-M for WAN-tilkobling. Den inneholder også smarte fotoceller, smarte kameraer og lyssignaler.
Alle enhetene i nettverkene, hovedsakelig det smarte kameraet, sender data via 6lowpan til smartgatewayen, slik at det kan ta avgjørelser angående offentlig belysning og lyssignalkontroll.
Gatewayen er også koblet til serveren vår via VPN. På denne måten har vi tilgang til FAN og LAN, bot for å kontrollere statusen eller kontrollere enhetene.
Trinn 2: Komponenter for dette prosjektet
Smart kamera
- DragonBoard410C/DragonBoard820C
- USB -kamera
- OneRF NIC
Camera Gateway
- DragonBoard410C/DragonBoard820C
- USB -kamera
- OneRF NIC
- Cat-M/3G-modem
Smart lyssignal
Trinn 3: Trinn 2: Kretsdiagram og tilkoblinger
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
- Konvensjonell gatelys
- Relébrett (3 kanaler)
- OneRF NIC
Smart fotocelle
- OneRF NIC
- Strømmåler
Trinn 4: Installer Os på DragonBoards
Installere Debian på Dragonboard820C (Fastboot -metode)
Installer pakkene som er oppført i: https://www.96boards.org/documentation/consumer/d… ved å bruke et Linux -operativsystem
På dragebordet:
gjør s4 AV, AV, AV, AV
Slå på å trykke vol (-)
Hvis du bruker en seriell skjerm (sterkt anbefalt), får du meldingen "fastboot: behandlingskommandoer" (seriell skjerm på 115200) Koble til mikro-usb (J4) på PCen
På verts -PC: Last ned (og pakk ut) fra
$ sudo fastboot -enheter
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
Installere Debian på Dragonboard410C
Trinn på datamaskinen (Linux)
1 - Last ned bildet
$ cd ~
$ mkdir Debian_SD_Card_Install_image
$ cd Debian_SD_Card_Install_image
$ wget
2 - Pakk ut filene
$ cd ~/Debian_SD_Card_Install_image
$ unzip dragonboard410c_sdcard_install_debian-233.zip
3 - Sett inn microSD på datamaskinen og sjekk om den er montert
$ df -h
/dev/sdb1 7.4G 32K 7.4G 1%/media/3533-3737
4 - Koble fra microSD og brenn bildet
$ umount /dev /sdb1
$ sudo dd if = db410c_sd_install_debian.img of =/dev/sdb bs = 4M oflag = sync status = noxfer
5 - Fjern microSD fra PCen
Trinn på datamaskinen (Windows) Last ned - SD -kortbilde - (Alternativ 1) SD -kortbilde - Installer og start opp fra eMMC
www.96boards.org/documentation/consumer/dr…
Pakk ut SD -kort Installer bilde
Last ned og installer Win32DiskImager -verktøyet
sourceforge.net/projects/win32diskimager/f…
Åpne Win32DiskImager -verktøyet
Sett inn SD -kortet i datamaskinen
Finn den utpakkede.img -filen
Klikk på Skriv
Trinn på Dragonboard Sørg for at DragonBoard ™ 410c er koblet fra strømmen
Sett S6-bryteren på DragonBoard ™ 410c til 0-1-0-0, "SD Boot-bryter" skal være satt til "ON".
Koble til en HDMI
Koble til et USB -tastatur
Sett inn microSD
Plugg strømadapteren
Velg bildet du vil installere, og klikk på "Installer"
vent til installasjonen er ferdig
Fjern strømadapteren
Fjern microSD
Sett S6-bryteren til 0-0-0-0
FERDIG
Trinn 5: Tilkoblingsgrensesnitt
Installere Cat-m og 3G
Bruk følgende AT -kommandoer ved hjelp av en vertsmaskin:
PÅ#SIMDET? // sjekk SIM -tilstedeværelse#SIMDET: 2, 0 // sim ikke satt inn
#SIMDET: 2, 1 // sim satt inn
I+CREG? // sjekk om den er registrert
+CREG: 0, 1 // (deaktiver nettverksregistrering uønsket resultatkode (fabrikkstandard), registrert hjemmenettverk)
AT+COPS?
+COPS: 0, 0,”VIVO”, 2 // (modus = automatisk valg, format = alfanumerisk, oper,?)
AT+CPAS // Telefonaktivitetsstatus
+CPAS: 0 // klar
AT+CSQ // sjekk kvaliteten på tjenesten
+CSQ: 16, 3 // (rssi, bitfeilrate)
AT+CGATT? // status for GPRS -vedlegg
+CGATT: 1 // vedlagt
AT+CGDCONT = 1,”IP”,”zap.vivo.com.br”,, 0, 0 // konfigurer kontekst
OK
AT+CGDCONT? // sjekk kontekst
+CGDCONT: 1,”IP”,”zap.vivo.com.br”,””, 0, 0
AT#SGACT = 1, 1 // Kontekstaktivering
#SGACT: 100.108.48.30
OK
Sett opp grensesnittet
Bruker grafisk miljø
Koble til modemet (oneRF_Modem_v04 - HE910)
Åpne nettverkstilkoblinger
Klikk på + for å legge til ny tilkobling
Velg Mobilt bredbånd
Velg riktig enhet
Velg landet
Velg leverandøren
Velg planen og lagre
Fjern modemet
Koble til modemet igjen
Ved hjelp av terminalapt-get install pppconfig
pppconfig
leverandør = vivo
dinamico
KAPITTEL
vivo
vivo
115200
Tone
*99#
nei (manuell)
/dev/ttyUSB0
lagre
cat/etc/ppp/peers/vivo
cat/etc/chatscripts/vivo
pon vivo
Hvis du bruker Cat-M-modul, bare bruk 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
Trinn 6: Installere viktige programvaremoduler
På utviklingsdatamaskinen
Vær oppmerksom på at noen trinn er maskinvareavhengige og bør justeres for å oppfylle de faktiske datamaskinens spesifikasjoner. Bibliotekene 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-future python-protobuf python-typing python-hypotese python-yaml
OpenCV
Dette rammeverket brukes til å utvikle bildebaserte statistiske algoritmer på utviklingsmaskinen. Siden det meste av koden vår er skrevet i Python, er den enkleste installasjonsmetoden å bare
pip installer opencv-python
Vær imidlertid oppmerksom på at disse hjulene ikke vil bruke noe annet enn CPU'en din og kanskje ikke engang bruke alle kjernene, så det kan være lurt å kompilere fra kilden for å oppnå maksimal ytelse. For å bygge pakken i Linux, for eksempel, laster du ned zip -filen fra OpenCV Releases -siden og pakker den ut. Fra den utpakkede mappen:
mkdir build && cd buildcmake.. make all -j4
sudo gjør install
Kommandoen -j4 instruerer for å bruke fire tråder. Bruk så mange som CPU -en din har!
Kaffe
Slik konfigurerer du Caffe -rammeverket fra kilder:
git -klon https://github.com/BVLC/caffe.git && cd caffemkdir build
cmake..
lage alt
gjør test gjør runtest
Hvis alle testene kjøres vellykket, er du klar.
TensorFlow
Google lar deg ikke kompilere TensorFlow med vanlige verktøy. Det krever Bazel for det, og sjansen er stor for at det ikke vil fungere, så unngå å kompilere det og bare ta tak i den forhåndskompilerte modulen med:
pip installer tensorflow
Hvis datamaskinen din er litt gammel og ikke har AVX-instruksjoner, kan du få den siste tensorflowen uten AVX med
pip install tensorflow == 1.5
Og du er ferdig.
SNPE - Snapdragon ™ nevral prosessormotor
Å sette opp Snappy, som våre Qualcomm -venner kaller SNPE, er ikke vanskelig, men trinnene bør følges nøye. Installasjonsoversikten er:
klone git -depotene for nevrale nettverksrammer
CaffeCaffe2
TensorFlow
ONNX
kjør skriptene for å se etter dependenciessnpe/bin/dependencies.sh
snpe/bin/check_python_depends.sh
for hver installerte rammeverk kjør snpe/bin/envsetup.sh
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 å kilde SNPE i hver terminalforekomst du åpner, legg til trinn tre sine fire linjer til slutten av ~/.bashrc -filen.
På målbrettet
Å flytte til arm64 fra amd64 er ikke en enkel oppgave, siden mange biblioteker vil dra fordel av x86 -instruksjoner for å øke ytelsen. Heldigvis er det mulig å samle de fleste nødvendige ressursene på selve brettet. De nødvendige bibliotekene 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-future python-protobuf python-typing python-hypotese python-yaml
Installer dem med apt og gå videre. Vær oppmerksom på at dette trinnet kan ta litt tid, ettersom passende anrop ringer for å bygge koden som ikke er forhåndskompilert.
OpenCV
Last ned versjonen fra OpenCV -depotet, pakk den ut et sted og fra den utpakkede mappen:
mkdir build && cd buildcmake..
lage alle -j3
sudo gjør install
Vær oppmerksom på at vi brukte alternativet -j3. Hvis du får tilgang til kortet via ssh, kan det være nok å ha alle kjernene fullastet for å koble tilkoblingen. Det er ikke ønskelig. Ved å begrense trådbruken til tre, vil vi alltid ha minst en ledig tråd for å håndtere ssh -tilkoblinger og generell rengjøring av systemet.
Dette er for Dragonboard 820 og Inforce 6640 med APQ8096 -brikken. På Dragonboard 410 vil du ha litt ledig virtuelt minne eller begrense kompileringstrådene til en, siden den har mindre fysisk RAM tilgjengelig.
Det er også oppmerksom på at avkjøling av brikken vil bidra til å øke ytelsen ved å begrense termisk struping. En kjøleribbe gjør susen ved små belastninger, men du vil ha en skikkelig vifte for kompilering og andre CPU-intensive laster.
Hvorfor ikke installere OpenCV med apt eller pip? Fordi kompilering av den i målmaskinen gjør hver tilgjengelig prosessorinstruksjon synlig for kompilatoren, noe som forbedrer utførelsesytelsen.
SNPE - Snapdragon ™ nevral prosessormotor
Vi installerte Snappy akkurat som det var på en stasjonær datamaskin, selv om det ikke var installert et faktisk rammeverk for nevrale nettverk (SNPE trenger bare git repos, ikke de faktiske binærfiler).
Siden alt vi trenger er binærfiler og overskrifter for kommandoen snpe-net-run, er det en mulighet for at bare å ha følgende filer i en mappe og legge denne mappen til PATH fungerer:
Neuralt nettverk binarysnpe/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
Resultatviser
snpe/models/alexnet/scripts/show_alexnet_classifications.py
Det fete elementet, /usr/lib/aarch64-linux-gnu/libatomic.so.1, leveres med Linaro på denne banen og må kopieres til denne hypotetiske minimalmappen.
Andre ufrivillige pakker:
sudo apt-get install net-toolssudo apt-get install gedit
sudo apt install nodejs
sudo apt installer openvpn
Trinn 7: Demonstrasjon
Se en kort demonstrasjon av Smart IoT Vision for Smart-City-arbeid !!
www.youtube.com/watch?v=qlk0APDGqcE&feature=youtu.be
Trinn 8: Takk
Vi takker Qualcomm -teamet og Embarcados for å lage og støtte konkurransen.
Kontakt oss gjerne på:
Referanser
Dragonboard 410c Installasjonsguide for 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/
Anbefalt:
Smart skrivebord LED -lys - Smart Lighting W/ Arduino - Neopixels arbeidsområde: 10 trinn (med bilder)
Smart skrivebord LED -lys | Smart Lighting W/ Arduino | Neopixels Workspace: Nå tilbringer vi mye tid hjemme, studerer og jobber virtuelt, så hvorfor ikke gjøre arbeidsområdet vårt større med et tilpasset og smart belysningssystem Arduino og Ws2812b LED -er. Her viser jeg deg hvordan du bygger din Smart LED -skrivebordslampe som
Nytt! Smart Smart Robot Car Chassis av Servo FUTABA 3003 SINONING: 3 trinn
Ny! Styring Smart Robot Car Chassis av Servo FUTABA 3003 SINONING: Designet og laget av SINONING RO BOTDette er et smart bilchassis, du kan installere PCB -kortet på det, slik Arduino, og skrive deg kode, det blir en robotbil. Hvis du liker, kan du kjøpe fra styrerobot -chassis
Smart vekkerklokke: en smart vekkerklokke laget med bringebær Pi: 10 trinn (med bilder)
Smart vekkerklokke: en smart vekkerklokke laget med bringebær Pi: Har du noen gang ønsket deg en smart klokke? I så fall er dette løsningen for deg! Jeg lagde Smart Alarm Clock, dette er en klokke som du kan endre alarmtiden i henhold til nettstedet. Når alarmen går, kommer det en lyd (summer) og 2 lys vil
Micro: bit MU Vision Sensor - Installert på Smart Car: 5 trinn
Micro: bit MU Vision Sensor - Installert på Smart Car: Dette er en guide for hvordan du installerer MU vision sensor på Smart Car vi bygger i denne instruerbare. Selv om denne guiden viser deg hvordan du installerer en MU -visionssensor, kan du også følge den for å installere alle andre slags sensorer. Jeg hadde en 2 -akset kamera
IoT -basert smart hagearbeid og smart landbruk ved bruk av ESP32: 7 trinn
IoT -basert smart hagearbeid og smart landbruk Ved hjelp av ESP32: Verden endrer seg som tid og så landbruk. I dag integrerer folk elektronikk på alle felt, og landbruk er ikke unntak for dette. Denne sammenslåingen av elektronikk i landbruket hjelper bønder og mennesker som forvalter hager. I denne