Përmbajtje:
- Hapi 1: Materialet
- Hapi 2: Instaloni Linaro në Dragonboard 410c
- Hapi 3: Hapi 2: Instaloni Bibliotekat dhe Shkarkoni Kodin Burimor Nga GitHub
- Hapi 4: Vendosja e AWS IoT Core, DynamoDB
- Hapi 5: Vendosni API -të Twilio dhe Dweet
- Hapi 6: Sfidat
- Hapi 7: Rezultatet dhe puna në të ardhmen
- Hapi 8: Referencat
Video: Cambus - Sistemi i Grumbullimit të të Dhënave në Autobusin Urban: 8 Hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:20
Ndër problemet dhe vështirësitë e njohura në transportin publik, popullsisë i mungon informacioni në kohë reale dhe me më pak pohim. Mbipopullimi i autobusëve të transportit publik i largon përdoruesit, të cilët preferojnë të përdorin automjetet e tyre, edhe pse janë ende në trafik për orë të tëra. Nëse një informacion në kohë reale, siç është numri i autobusëve, është lehtësisht i disponueshëm për një përdorues, ai mund të zgjedhë nëse do të presë për autobusin tjetër ose do të lëvizë me autobus ose do të përdorë një automjet të tijin. Fuqia e zgjedhjes e bën transportin publik një opsion më tërheqës për përdoruesit.
Numërimi ose vlerësimi i njerëzve brenda shtëpisë mund të bëhet në shumë mënyra, ndër të cilat më të punësuarit janë:
- Imazhe termike;
- Vizion kompjuterik;
- Sportel për fytyrën;
Ndër vështirësitë e shumta për të vlerësuar njerëzit në një mjedis që përdorin vizionin kompjuterik, ato kryesore janë:
- Mbylljet e njerëzve;
- Ndriçim përmbysës;
- Mbyllja statike, domethënë njerëzit pas objekteve;
- Këndi i kamerës ndaj mjedisit;
Një sfidë për këtë projekt është njohja e këndit të saktë të kamerës që do të ndihmojë më së miri në zbritjen e sfondit të imazhit, si dhe shkëlqimin e ndryshueshëm gjatë ditës brenda autobusit.
Objektivi kryesor i propozimit është të krijojë një model të fuqishëm dhe të konfigurueshëm për të vlerësuar mbipopullimin dhe t'i bëjë rezultatet të disponueshme për popullatën përmes telefonave inteligjentë.
Hapi 1: Materialet
Materiali i nevojshëm për projektin është i mëposhtëmi:
1 x Bordi i Dragoit 410c;
1 x kamera USB;
1 x Smartphone Android;
Hapi 2: Instaloni Linaro në Dragonboard 410c
Duke ndjekur udhëzimet në lidhjen më poshtë për të instaluar Linaro 17.09 në DragonBoard 410c. Ne rekomandojmë instalimin e Linaro 17.09 për mbështetjen e kernelit për GPS.
www.96boards.org/documentation/consumer/dr…
Hapi 3: Hapi 2: Instaloni Bibliotekat dhe Shkarkoni Kodin Burimor Nga GitHub
Cambus ka një arkitekturë modulare dhe dizajn kodesh. It'sshtë e mundur të kodoni algoritmin tuaj të mësimit të makinerisë, të ndryshoni në shërbimin tjetër cloud dhe të krijoni aplikacionet tuaja të përdoruesit.
Për të drejtuar projektin cambus, së pari duhet të shkarkoni kodin burimor nga github (https://github.com/bmonteiro00/cambus). Instaloni python (Cambus ishte në gjendje të funksiononte në verison 2.7 dhe> 3.x) dhe bibliotekat e mëposhtme duke përdorur 'pip' (sudo apt-get install python-pip). Do të jetë e nevojshme të instaloni një bandë bibliotekash në sistemin Linaro (Gjithashtu, Rekomandohet të krijoni një mjedis virtual - pip install virtualenv - në mënyrë që të izoloni sistemin Cambus nga SO). Ju lutemi, instaloni bibliotekat e mëposhtme:
- pip instaloni paho-mqtt
- pip instaloni numpy
- pip instaloni opencv-python
- pip instaloni opencv-contrib-python
- pip instalo twilio
- pip instaloni matplotlib
Programi kryesor u nda në klasa:
- CamBus - klasa kryesore;
- Sensori - një klasë për të marrë të dhëna të tilla si pozicioni GPS, temperatura, Co2.
- Klasë e kundërt me algoritëm të përpunimit të imazhit.
Sigurohuni që të gjitha bibliotekat janë instaluar dhe ekzekutoni python CamBus_v1.py.
Hapi 4: Vendosja e AWS IoT Core, DynamoDB
Ne përdorëm thelbin AWS IoT si një ndërmjetës MQTT me TLS dhe X509 dhe NoSQL dhe DynamoDB për të regjistruar të dhënat. Ju do të duhet të krijoni një llogari në https://aws.amazon.com/free.). Tjetra, do të keni hapat e mëposhtëm për të krijuar një gjë dhe për t'u integruar me Dynamo:
docs.aws.amazon.com/iot/latest/developergu…
Hapi 5: Vendosni API -të Twilio dhe Dweet
Shërbimi SMS Twilio u krijua gjithashtu. Shikoni URL -në më poshtë për udhëzime për të përfunduar këtë hap:
www.twilio.com/docs/iam/api/account
Integrimi midis aplikacionit android dhe sistemit u bë me anë të REST duke përdorur platformën Dweet. Nuk kërkohet regjistrim.
dweet.io/
Hapi 6: Sfidat
Gjatë zhvillimit tonë u përballëm me shumë sfida, duke filluar nga teknikat OpenCV e deri te platforma AWS. Ne vendosëm të kodojmë me Python në mënyrë që të kursejmë kohë duke u zhvilluar në C/C ++. Gjatë zhvillimit tonë, përdoren vetëm metodat themelore të Opencv, të tilla si:
• cv2. GaussianBlur (..)
• cv2. Pragu (..)
• cv2.morphologyEx (..)
• cv2.contourArea (..)
• cv2.findContours (..)
Këto metoda themelore nuk ishin të mjaftueshme për të arritur një cilësi të mirë në zbulimin e njerëzve. U përdorën skenarë me video lëkundëse ML (Machine Learning). Kështu, ne vendosëm të përdorim bibliotekën e mësimit të makinës OpenCV dhe patëm një problem tjetër sepse gjetja e një hyrjeje të mirë të të dhënave për algoritmin ML ishte një problem që kaluam shumë ditë. Ne kemi përdorur algoritmin OpenCV SVM por nuk kemi punuar. Ne përdorëm OpenCV Naive Bayses dhe ky funksionoi mirë. Ne jemi përpjekur të përdorim rrjetet nervore Tensorflow dhe CNN, megjithatë nuk e bëmë të ndodhë tani për tani. CNN përdor shumë fuqi përpunuese, diçka që ne nuk e kishim. Përdorimi i OpenCV ML dhe metodat bazë të OpenCV na ndihmuan të arrijmë një shkallë të mirë të zbulimit të njerëzve. Sidoqoftë, për secilin lloj video duhet të përshtatim parametrat e OpenCV në mënyrë që të arrijmë një shkallë të mirë të zbulimit të njerëzve dhe të shmangim pozitivët e rremë. Në mes të këtyre dy muajve ne evoluuam idenë tonë të parë për të bërë një qendër të mbledhjes së të dhënave jo vetëm numrin e udhëtarëve dhe vendndodhjen GPS. Ne vendosëm të mbledhim jo të dhëna duke përdorur sensorë të tjerë si temperatura dhe kështu me radhë. Ne krijuam një skedar.ini për të parametruar aplikacionin dhe për ta bërë atë të konfigurueshëm. Në skedarin Cambus.ini mund të konfiguroni aplikacionin në shumë mënyra.
Hapi 7: Rezultatet dhe puna në të ardhmen
Siç mund ta shihni në video, sporteli po punon me saktësi. Linjat blu shënojnë kufirin e hyrjes dhe vija e kuqe kufirin e daljes. Në këtë rast, një video u përdor për të simuluar sepse ne nuk mund ta vendosnim atë në një autobus.
Mbani në mend se disa ndryshime duhet të bëhen në gjendjen tuaj në lidhje me madhësinë e videos, këndin e kamerës, shkëlqimin etj. Çdo lloj video duhet të jetë përshtatja e parametrave të saj, siç është sfondi i thithjes së kernelit opencv dhe kështu me radhë.
Ju lutemi gjithashtu ndryshoni variablat në cambus.ini, duke treguar ndërmjetësin MQTT dhe kështu me radhë.
Ne konsiderojmë në zbatimet e ardhshme shtimin e sensorëve, për shembull, temperaturën, lagështinë dhe CO2 në sistem. Ideja është që të merren të dhëna nëpër qytete duke i bërë ato të disponueshme për komunitetin.
Në vijim ne rendisim hapat e ardhshëm që mund të bëni për të përmirësuar projektin:
- Rishkruani kodin duke përdorur C/C ++;
- Përmirësimi i algoritmit ML;
- Kodi python i ri-faktorit;
- Vendosja në autobus;
Ne dëshirojmë të falënderojmë Embarcados dhe Qualcomm për të gjithë mbështetjen e dhënë.
Bashkëpunëtorët:
Bruno Monteiro - [email protected]
Kleber Drobowok - [email protected]
Vinicius de Oliveira - [email protected]
Hapi 8: Referencat
[1]
[2]
[3]
[4]
[5]
Recommended:
Hekoni makinën tuaj me terminalin Wio dhe autobusin CAN: 7 hapa
Hack Makinën tuaj me Wio Terminal dhe CAN Bus: Nëse keni një kuptim të programimit CAN Bus dhe Arduino dhe doni të hakoni makinën tuaj, atëherë ky udhëzues mund t'ju japë një zgjidhje. Sa i përket arsyes pse doni të hakoni makinën tuaj, unë nuk e di, por kjo është me të vërtetë një gjë interesante. Kjo pr
Si të bëni lagështi dhe temperaturë Regjistruese të të dhënave në kohë reale me Arduino UNO dhe SD-Card - Simulimi DHT11 Regjistruesi i të dhënave në Proteus: 5 hapa
Si të bëni lagështi dhe temperaturë Regjistruese të të dhënave në kohë reale me Arduino UNO dhe SD-Card | Simulimi i regjistruesit të të dhënave DHT11 në Proteus: Hyrje: përshëndetje, ky është Liono Maker, këtu është lidhja në YouTube. Ne po bëjmë projekt krijues me Arduino dhe po punojmë në sisteme të ngulitura. Data-Logger: Një regjistrues i të dhënave (gjithashtu regjistrues i të dhënave ose regjistrues i të dhënave) është një pajisje elektronike që regjistron të dhëna me kalimin e kohës me
Kompleti i grumbullimit të fokusit të thjeshtë të ndërtimit: 11 hapa
Instalim Easy Build Focus Stacking: Pjesët e printerit 3D të ripërdorur dhe softueri FastStacker i bazuar në Arduino mundësojnë ndërtimin e thjeshtë dhe të lirë të pajisjes së grumbullimit të fokusit të plotë. Sergey Mashchenko (Pulsar124) ka bërë një punë të shkëlqyeshme në zhvillimin dhe dokumentimin e një DIY Arduino ba
Reja e Vrenjtur ju Shëron (Shmangia e Pengesës së Robotit Me Funksionin e Grumbullimit): 8 Hapa
Reja e Vrenjtur ju Shëron (Shmangia e Pengesës së Robotit me Funksionin e Grumbullimit): Një Makinë e padobishme - Roboti Arduino
EASY Arduino OLED Sensori i të dhënave të të dhënave: 4 hapa
EASY Arduino OLED Sensori i të dhënave: Nëse keni punuar ndonjëherë me Arduino, me siguri keni dashur që ai të shfaqë leximet e sensorit. Ndërsa përdorni LCD -in e vjetër klasik Nokia 5110, mund të keni vënë re se lidhja e të gjithë atyre telave është e çrregullt dhe kërkon shumë kunja. Sigurisht, ka një më të mirë