Indholdsfortegnelse:
- Trin 1: Systemblokdiagram
- Trin 2: Komponenter til dette projekt
- Trin 3: Trin 2: Kredsløbsdiagram og forbindelser
- Trin 4: Installer Os på DragonBoards
- Trin 5: Forbindelsesgrænseflader
- Trin 6: Installation af essentielle softwaremoduler
- Trin 7: Demonstration
- Trin 8: Tak
Video: Smart IoT Vision: 8 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
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
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
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
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:
Smart skrivebord LED -lys - Smart Lighting W/ Arduino - Neopixels -arbejdsområde: 10 trin (med billeder)
Smart skrivebord LED -lys | Smart Lighting W/ Arduino | Neopixels Workspace: Nu til dage bruger vi meget tid derhjemme, studerer og arbejder virtuelt, så hvorfor ikke gøre vores arbejdsområde større med et brugerdefineret og smart belysningssystem Arduino og Ws2812b LED'er baseret. Her viser jeg dig, hvordan du bygger din Smart Skrivebord LED -lys, der
Hardware og software Hack Smart Devices, Tuya og Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 trin
Hardware og software Hack Smart Devices, Tuya og Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: I denne instruktør viser jeg dig, hvordan jeg blinkede flere smarte enheder med min egen firmware, så jeg kan styre dem med MQTT via min Openhab -opsætning. Jeg tilføjer nye enheder, da jeg hackede dem. Selvfølgelig er der andre software -baserede metoder til at blinke brugerdefinerede
Smart vækkeur: et smart vækkeur lavet med hindbær Pi: 10 trin (med billeder)
Smart vækkeur: et smart vækkeur lavet med Raspberry Pi: Har du nogensinde ønsket et smart ur? I så fald er dette løsningen for dig! Jeg lavede Smart Alarm Clock, dette er et ur, hvor du kan ændre alarmtiden i henhold til webstedet. Når alarmen går, kommer der en lyd (summer) og 2 lyser
Micro: bit MU Vision Sensor - Installeret på Smart Car: 5 trin
Micro: bit MU Vision Sensor - Installeret på Smart Car: Dette er en guide til, hvordan du installerer MU vision sensor på Smart Car, vi bygger i denne instruerbare. Selvom denne guide viser dig, hvordan du installerer en MU -visionssensor, kan du også følge den for at installere alle andre slags sensorer. Jeg havde en 2 -akset kamera
IoT -baseret smart havearbejde og smart landbrug ved hjælp af ESP32: 7 trin
IoT -baseret smart havearbejde og smart landbrug Brug af ESP32: Verden ændrer sig som tiden og så landbruget. I dag integrerer folk elektronik på alle områder, og landbruget er ingen undtagelse herfor. Denne sammensmeltning af elektronik i landbruget hjælper landmænd og mennesker, der administrerer haver. I denne