Innehållsförteckning:
- Steg 1: Systemblockdiagram
- Steg 2: Komponenter för detta projekt
- Steg 3: Steg 2: Kretsschema och anslutningar
- Steg 4: Installera Os på DragonBoards
- Steg 5: Anslutningsgränssnitt
- Steg 6: Installera viktiga programvarumoduler
- Steg 7: Demonstration
- Steg 8: Tack
Video: Smart IoT Vision: 8 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Detta är ett projekt med fokus på smart city -sammanhanget. I den här frågan är det tre stora problem vi löser:
1 - energibesparing i offentlig belysning; 2 - förbättra stadens säkerhet; 3 - förbättra trafikflödet.
1 - Genom att använda LED -lampor på gator är besparingarna redan upp till 50%, och med tillägget av Telemanagement kan vi spara 30% mer.
2 - Med hjälp av smarta kameror kan vi styra lamporna för att dimma ner där människorna flödar är frånvarande och göra gatudelen ljusare där människor går. Det kommer inte bara att spara energi utan öka känslan av att bli övervakad, och därmed skrämma dåligt avsiktliga människor. Vidare kan visuella larm (blinkande lampor till exempel) användas vid misstänkt beteende.
3 - Den smarta kameran kommer att titta på trafiken, bearbeta lokalt dess förhållanden och styra ljussignalerna för att bäst hantera trafiken. På så sätt kunde trafikstockningar undvikas, bilar skulle inte behöva vänta länge på röda signaler när det inte finns något flöde i korsningen och så vidare. När det gäller tekniska problem löser vi också vanliga problem i IoT, till exempel robust anslutning i stadsskalan och kameraintegration för IoT Network, genom att använda kantbehandling för att överföra endast relevant information.
Se vår publikation om Embarcados och GitHub
Även på YouTube
Vårt lag:
Milton Felipe Souza Santos
Gustavo Retuci Pinheiro
Eduardo Caldas Cardoso
Jonathas Baker
(Kontaktinformation längst ner)
Steg 1: Systemblockdiagram
Detta är en översikt över lösningsarkitekturen.
Systemet består av en Camera-Gateway som använder RFmesh på FAN-gränssnittet, WiFi på LAN och även CAT-M för WAN-anslutning. Den innehåller också smarta fotoceller, smarta kameror och ljussignaler.
Alla enheter i nätverken, främst den smarta kameran, skickar data via 6lowpan till den smarta gatewayen, så att den kan ta beslut om offentlig belysning och ljussignalstyrning.
Gatewayen är också ansluten till vår server via VPN. På detta sätt har vi tillgång till FAN och LAN, bot för att kontrollera status eller styra enheterna.
Steg 2: Komponenter för detta projekt
Smart kamera
- DragonBoard410C/DragonBoard820C
- USB -kamera
- OneRF NIC
Camera Gateway
- DragonBoard410C/DragonBoard820C
- USB -kamera
- OneRF NIC
- Cat-M/3G-modem
Smart ljussignal
Steg 3: Steg 2: Kretsschema och anslutningar
Smart kamera
- Kamera på USB -port
- OneRF NIC vid UART -port
Camera Gateway
- Kamera på USB -port
- OneRF NIC vid UART -port
- 3G/Cat-M-modem vid USB-port
(Allt anslutet med IoT Mezzanine)
Smart Stree Light
- Konventionell gatubelysning
- Reläkort (3 kanaler)
- OneRF NIC
Smart fotocell
- OneRF NIC
- Effektmätare
Steg 4: Installera Os på DragonBoards
Installera Debian på Dragonboard820C (Fastboot -metod)
Installera paketen som anges i: https://www.96boards.org/documentation/consumer/d… med ett Linux -operativsystem
På dragonboard:
gör s4 AV, AV, AV, AV
Slå på tryckning vol (-)
Om du använder en seriell bildskärm (rekommenderas starkt) får du meddelandet”fastboot: bearbetningskommandon” (seriell bildskärm på 115200) Anslut mikro-usb (J4) till datorn
På värddatorn: Ladda ner (och packa upp) från
$ sudo fastboot -enheter
452bb893 fastboot (exempel)
$ sudo fastboot flash boot boot-linaro-buster-dragonboard-820c-BUILD.img
$ sudo fastboot flash rootfs linaro-buster-alip-dragonboard-820c-BUILD.img
Installera Debian på Dragonboard410C
Steg på datorn (Linux)
1 - Ladda ner bilden
$ cd ~
$ mkdir Debian_SD_Card_Install_image
$ cd Debian_SD_Card_Install_image
$ wget
2 - Packa upp filerna
$ cd ~/Debian_SD_Card_Install_image
$ packa upp dragonboard410c_sdcard_install_debian-233.zip
3 - Sätt i microSD på din dator och kontrollera om den är monterad
$ df -h
/dev/sdb1 7.4G 32K 7.4G 1%/media/3533-3737
4 - Avmontera microSD och bränn bilden
$ umount /dev /sdb1
$ sudo dd if = db410c_sd_install_debian.img of =/dev/sdb bs = 4M oflag = sync status = noxfer
5 - Ta bort microSD från din dator
Steg på datorn (Windows) Ladda ner - SD -kortbild - (Alternativ 1) SD -kortbild - Installera och starta från eMMC
www.96boards.org/documentation/consumer/dr…
Packa upp SD -kortets installationsbild
Ladda ner och installera Win32DiskImager -verktyget
sourceforge.net/projects/win32diskimager/f…
Öppna Win32DiskImager -verktyget
Sätt i SD -kortet i datorn
Hitta den extraherade.img -filen
Klicka på Skriv
Steg på Dragonboard Se till att DragonBoard ™ 410c är urkopplad från strömmen
Ställ S6-omkopplaren på DragonBoard ™ 410c på 0-1-0-0, “SD Boot switch” bör vara inställd på “ON”.
Anslut en HDMI
Anslut ett USB -tangentbord
Sätt i microSD
Anslut nätadaptern
Välj bilden som ska installeras och klicka på "Installera"
vänta på att installationen är klar
Ta bort nätadaptern
Ta bort microSD
Ställ S6-omkopplaren på 0-0-0-0
GJORT
Steg 5: Anslutningsgränssnitt
Installera Cat-m och 3G
Tillämpa följande AT -kommandon med en värdmaskin:
PÅ#SIMDET? // kontrollera SIM -närvaro#SIMDET: 2, 0 // sim inte infogad
#SIMDET: 2, 1 // sim infogad
AT+CREG? // kontrollera om det är registrerat
+CREG: 0, 1 // (inaktivera nätverksregistrering oönskad resultatkod (fabriksinställning), registrerat hemnätverk)
AT+COPS?
+COPS: 0, 0,”VIVO”, 2 // (mode = automatiskt val, format = alfanumeriskt, oper,?)
AT+CPAS // Telefonaktivitetsstatus
+CPAS: 0 // klar
AT+CSQ // kontrollera kvaliteten på tjänsten
+CSQ: 16, 3 // (rssi, bitfel)
AT+CGATT? // tillstånd för GPRS -bilaga
+CGATT: 1 // bifogad
AT+CGDCONT = 1,”IP”,”zap.vivo.com.br”,, 0, 0 // konfigurera sammanhang
OK
AT+CGDCONT? // kolla sammanhang
+CGDCONT: 1,”IP”,”zap.vivo.com.br”,””, 0, 0
AT#SGACT = 1, 1 // Context Activation
#SGACT: 100.108.48.30
OK
Installera gränssnittet
Använda grafisk miljö
Anslut modemet (oneRF_Modem_v04 - HE910)
Öppna nätverksanslutningar
Klicka på + för att lägga till ny anslutning
Välj Mobilt bredband
Välj rätt enhet
Välj land
Välj leverantör
Välj planen och spara
Ta bort modemet
Anslut modemet igen
Med terminalapt-get install pppconfig
pppconfig
leverantör = vivo
dinamico
KILLE
vivo
vivo
115200
Tona
*99#
nej (manuell)
/dev/ttyUSB0
spara
cat/etc/ppp/peers/vivo
cat/etc/chatscripts/vivo
pon vivo
Om du använder Cat-M-modulen, använd bara följande kommandon innan:
echo 1bc7 1101>/sys/bus/usb-serial/drivers/option1/new_id
apt-get install comgt
comgt -d /dev /ttyUSB0 comgt info -d /dev /ttyUSB0
Steg 6: Installera viktiga programvarumoduler
På utvecklingsdatorn
Observera att vissa steg är maskinvaruberoende och bör justeras för att uppfylla dina faktiska datorspecifikationer. Biblioteken kan installeras med ett enda 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-typ python-hypotesis python-yaml
OpenCV
Detta ramverk används för att utveckla bildbaserade statistiska algoritmer på utvecklingsmaskinen. Eftersom det mesta av vår kod är skrivet i Python är den enklaste installationsmetoden att bara
pip installera opencv-python
Observera dock att dessa hjul inte kommer att använda någonting förutom din CPU och kanske inte ens använder alla dess kärnor, så du kanske vill kompilera från källan för att uppnå maximal prestanda. För att bygga paketet i Linux, till exempel, laddar du ner zip -filen från sidan OpenCV Releases och packar upp den. Från den uppackade mappen:
mkdir build && cd buildcmake.. make all -j4
sudo gör installationen
Kommandot -j4 instruerar att använda fyra trådar. Använd så många som din CPU har!
Caffe
Så här konfigurerar du Caffe -ramverket från källor:
git -klon https://github.com/BVLC/caffe.git && cd caffemkdir build
cmake..
göra allt
gör test gör runtest
Om alla tester körs framgångsrikt är du klar.
TensorFlow
Google låter dig inte kompilera TensorFlow med vanliga verktyg. Det kräver Bazel för det och chansen är stor att det inte fungerar, så undvik att kompilera det och ta bara den förkompilerade modulen med:
pip installera tensorflöde
Om din dator är lite gammal och inte har AVX-instruktioner, skaffa det sista icke-AVX tensorflödet med
pip installera tensorflow == 1.5
Och du är klar.
SNPE - Snapdragon ™ Neural Processing Engine
Att ställa upp Snappy, som våra Qualcomm -vänner kallar SNPE, är inte svårt men stegen bör följas noggrant. Installationsplanen är:
klona de neurala nätverksramarnas git -arkiv
CaffeCaffe2
TensorFlow
ONNX
kör skripten för att leta efter dependenciessnpe/bin/dependencies.sh
snpe/bin/check_python_depends.sh
för varje installerat ramverk kör snpe/bin/envsetup.sh
källa $ SNPE/bin/envsetup.sh -c $ CAFFE_GIT
källa $ SNPE/bin/envsetup.sh -f $ CAFFE2_GIT
källa $ SNPE/bin/envsetup.sh -t $ TENSORFLOW_GIT
källa $ SNPE/bin/envsetup.sh -o $ ONNX_GIT
För att källa till SNPE i varje terminalinstans du öppnar, lägg till steg tre fyra rader i slutet av din ~/.bashrc -fil.
På målbrädan
Att flytta till arm64 från amd64 är ingen enkel uppgift, eftersom många bibliotek kommer att dra nytta av x86 -instruktioner för att öka deras prestanda. Lyckligtvis är det möjligt att sammanställa de flesta nödvändiga resurserna på själva styrelsen. De bibliotek som behövs kan installeras med ett enda 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-typ python-hypotesis python-yaml
Installera dem med apt och gå vidare. Observera att detta steg kan ta lite tid, eftersom lämpliga samtal gör för att bygga koden som inte är förkompilerad.
OpenCV
Ladda ner versionen från OpenCV -förvaret, packa upp den någonstans och från den uppackade mappen:
mkdir build && cd buildcmake..
gör alla -j3
sudo gör installationen
Observera att vi använde alternativet -j3. Om du kommer åt kortet via ssh kan det vara tillräckligt att ha alla kärnor fullt laddade för att tappa anslutningen. Det är inte önskvärt. Genom att begränsa trådanvändningen till tre kommer vi alltid att ha minst en ledig tråd för att hantera ssh -anslutningar och allmän systemhushållning.
Detta är för Dragonboard 820 och Inforce 6640 med APQ8096 -chipet. På Dragonboard 410 vill du ha lite ledigt virtuellt minne eller begränsa kompileringstrådarna till en, eftersom det har mindre fysiskt RAM -minne tillgängligt.
Det bör också noteras att kylning av chipet kommer att bidra till att öka prestanda genom att begränsa termisk strypning. En kylfläns gör susen vid små laster men du kommer att vilja ha en ordentlig fläkt för kompilering och andra CPU-intensiva laster.
Varför inte installera OpenCV med apt eller pip? Eftersom kompilering av den i målmaskinen gör varje tillgänglig processorinstruktion synlig för kompilatorn, vilket förbättrar körningsprestanda.
SNPE - Snapdragon ™ Neural Processing Engine
Vi installerade Snappy precis som på en stationär dator, även om det inte fanns något egentligt neuralt nätverksramverk (SNPE behöver bara git repos, inte de faktiska binärfilerna).
Eftersom allt vi behöver är binärfiler och rubriker för kommandot snpe-net-run, finns det en möjlighet att bara ha följande filer i en mapp och lägga till den här mappen till PATH fungerar:
Neuralt nätverk binarysnpe/bin/aarch64-linux-gcc4.9/snpe-net-run
CPU -bibliotek
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 -bibliotek
snpe/lib/dsp/libsnpe_dsp_skel.so
snpe/lib/aarch64-linux-gcc4.9/libsnpe_adsp.so
Resultatvisare
snpe/models/alexnet/scripts/show_alexnet_classifications.py
Den fetstil, /usr/lib/aarch64-linux-gnu/libatomic.so.1, tillhandahålls med Linaro på denna sökväg och måste kopieras till denna hypotetiska minimalmapp.
Andra viktiga paket:
sudo apt-get install net-toolssudo apt-get install gedit
sudo apt installera nodejs
sudo apt installera openvpn
Steg 7: Demonstration
Se en kort demonstration av Smart IoT Vision för Smart-City-arbete !!
www.youtube.com/watch?v=qlk0APDGqcE&feature=youtu.be
Steg 8: Tack
Vi tackar Qualcomm -teamet och Embarcados för att de skapade och stöttade tävlingen.
Kontakta oss gärna på:
Referenser
Dragonboard 410c installationsguide för Linux och 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/ https://caffe.berkeleyvision.org/installation.html#…
Rekommenderad:
Smart Desk LED -ljus - Smart Lighting W/ Arduino - Neopixels arbetsyta: 10 steg (med bilder)
Smart Desk LED -ljus | Smart Lighting W/ Arduino | Neopixels arbetsyta: Nu till dags spenderar vi mycket tid hemma, studerar och arbetar virtuellt, så varför inte göra vår arbetsyta större med ett anpassat och smart belysningssystem Arduino och Ws2812b lysdioder baserade. Här visar jag dig hur du bygger din Smart LED -lampa i skrivbordet som
Hardware and Software Hack Smart Devices, Tuya and Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 Steg
Hardware and Software Hack Smart Devices, Tuya and Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: I den här instruktionsboken visar jag dig hur jag blinkade flera smarta enheter med min egen firmware, så jag kan styra dem med MQTT via min Openhab -inställning. nya enheter när jag hackade dem. Naturligtvis finns det andra mjukvarubaserade metoder för att flasha anpassade f
Smart väckarklocka: en smart väckarklocka tillverkad med hallon Pi: 10 steg (med bilder)
Smart väckarklocka: en smart väckarklocka tillverkad med hallon Pi: Har du någonsin velat ha en smart klocka? I så fall är detta lösningen för dig! Jag gjorde Smart Alarm Clock, det här är en klocka som du kan ändra alarmtiden enligt webbplatsen. När larmet går går det ett ljud (summer) och 2 lampor lyser
Micro: bit MU Vision Sensor - Installerad på Smart Car: 5 steg
Micro: bit MU Vision Sensor - Installerad på Smart Car: Detta är en guide för hur du installerar MU vision sensor på Smart Car vi bygger i denna instruerbara. Medan den här guiden visar dig hur du installerar en MU -visionssensor kan du också följa den för att installera alla andra typer av sensorer. Jag hade en tvåaxlad kamera
IoT -baserat smart trädgård och smart jordbruk med ESP32: 7 steg
IoT -baserat smart trädgårdsskötsel och smart jordbruk Användning av ESP32: Världen förändras med tiden och jordbruk. Numera integrerar människor elektronik på alla områden och jordbruket är inget undantag för detta. Denna sammanslagning av elektronik i jordbruket hjälper bönder och människor som förvaltar trädgårdar