INHOUDSOPGAWE:
- Stap 1: materiaal
- Stap 2: Installeer Linaro in Dragonboard 410c
- Stap 3: Stap 2: Installeer biblioteke en laai die bronkode af van GitHub
- Stap 4: Stel AWS IoT Core, DynamoDB op
- Stap 5: Stel Twilio en Dweet API's op
- Stap 6: Uitdagings
- Stap 7: Resultate en toekomstige werk
- Stap 8: Verwysings
Video: Cambus - stelsel van data -insameling op stedelike bus: 8 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Onder die probleme en probleme wat met openbare vervoer bekend is, ontbreek die bevolking inligting oor real -time en met die minste selfgeldigheid. Die oorvol busse met openbare vervoer dryf gebruikers weg, wat verkies om hul eie voertuie te gebruik, al is hulle nog ure lank in die verkeer. As intydse inligting, soos die aantal busse, maklik vir 'n gebruiker beskikbaar is, kan hy kies of hy vir die volgende bus wil wag, of om met die bus te ry of 'n eie voertuig te gebruik. Die keuse van die keuse maak openbare vervoer 'n aantrekliker opsie vir die gebruiker.
Om mense binne te tel of te skat, kan op baie maniere gedoen word, waaronder die algemeenste:
- Termiese beelde;
- Rekenaarvisie;
- Gesigsteller;
Onder die verskeie probleme om mense in 'n omgewing te skat wat rekenaarvisie gebruik, is die belangrikste:
- Afsluitings van mense;
- Omgekeerde beligting;
- Statiese okklusie, dit wil sê mense agter voorwerpe;
- Kamerahoek na omgewing;
'N Uitdaging vir hierdie projek is om die regte hoek van die kamera te ken wat die beste sal help met die aftrekking van die agtergrond van die beeld, sowel as die veranderlike helderheid gedurende die dag in die bus.
Die hoofdoel van die voorstel is om 'n robuuste en konfigureerbare model te skep om oorbevolking te skat en die resultate deur slimfone aan die bevolking beskikbaar te stel.
Stap 1: materiaal
Die materiaal wat nodig is vir die projek is die volgende:
1 x Dragon Board 410c;
1 x USB -kamera;
1 x Android -slimfoon;
Stap 2: Installeer Linaro in Dragonboard 410c
Volg die instruksies op die onderstaande skakel om Linaro 17.09 op die DragonBoard 410c te installeer. Ons beveel aan dat u Linaro 17.09 installeer vir kernondersteuning vir GPS.
www.96boards.org/documentation/consumer/dr…
Stap 3: Stap 2: Installeer biblioteke en laai die bronkode af van GitHub
Cambus het 'n modulêre argitektuur en kode -ontwerp. Dit is moontlik om u eie algoritme vir masjienleer te kodeer, na 'n ander wolkdiens oor te skakel en u eie gebruikersprogramme te skep.
Om die cambus -projek uit te voer, moet u eers die bronkode aflaai van github (https://github.com/bmonteiro00/cambus). Installeer python (Cambus werk af op weergawe 2.7 en> 3.x) en die volgende biblioteke met 'pip' (sudo apt-get install python-pip). Dit sal nodig wees om 'n klomp biblioteke in die Linaro -stelsel te installeer (dit word ook aanbeveel om 'n virtuele omgewing te skep - pip install virtualenv - om die Cambus -stelsel van die SO te isoleer). Installeer asseblief die volgende biblioteke:
- pip installeer paho-mqtt
- pip installeer numpy
- pip installeer opencv-python
- pip installeer opencv-contrib-python
- pip installeer twilio
- pip installeer matplotlib
Die hoofprogram was verdeel in klasse:
- CamBus - die hoofklas;
- Sensor - 'n klas om data te verkry, soos GPS -posisie, temperatuur, Co2.
- Teenklas met beeldverwerkingsalgoritme.
Maak seker dat alle biblioteke geïnstalleer is en voer python CamBus_v1.py uit.
Stap 4: Stel AWS IoT Core, DynamoDB op
Ons het die AWS IoT -kern gebruik as 'n MQTT -makelaar met TLS en X509 en NoSQL en DynamoDB om data aan te meld. U sal 'n rekening moet skep op https://aws.amazon.com/free.) Volgende moet u die onderstaande stappe volg om 'n ding te skep en met Dynamo te integreer:
docs.aws.amazon.com/iot/latest/developergu…
Stap 5: Stel Twilio en Dweet API's op
Die Twilio SMS -diens is ook opgestel. Sien die onderstaande URL vir instruksies om hierdie stap te voltooi:
www.twilio.com/docs/iam/api/account
Die integrasie tussen die Android -app en die stelsel is deur middel van REST op die Dweet -platform gedoen. Geen aanmelding nodig nie.
dweet.io/
Stap 6: Uitdagings
Tydens ons ontwikkeling het ons baie uitdagings gehad, van OpenCV -tegnieke tot AWS -platform. Ons het besluit om met Python te kodeer om tyd te bespaar om in C/C ++ te ontwikkel. Tydens ons ontwikkeling is slegs die basiese Opencv -metodes soos:
• cv2. GaussianBlur (..)
• cv2.drempel (..)
• cv2.morphologyEx (..)
• cv2.contourArea (..)
• cv2.findContours (..)
Hierdie basiese metodes was nie genoeg om 'n goeie kwaliteit te bereik om mense op te spoor nie. Scenario's met wankelrige video ML (Machine Learning) is gebruik. Ons het besluit om die OpenCV -masjienleerbiblioteek te gebruik, en ons het nog 'n probleem, want om 'n goeie data -invoer vir ML -algoritme te vind, was 'n probleem wat ons baie dae deurgebring het. Ons het OpenCV SVM -algoritme gebruik, maar dit het nie gewerk nie. Ons het OpenCV Naive Bayses gebruik en hierdie een het goed gewerk. Ons het probeer om Tensorflow- en CNN -neurale netwerke te gebruik, maar ons het dit vir eers nie laat gebeur nie. CNN gebruik baie verwerkingskrag, iets wat ons nie gehad het nie. Met behulp van OpenCV ML en die basiese beginsels van OpenCV -metodes het ons gehelp om 'n goeie opsporingstempo te bereik. Nietemin moet ons vir elke tipe vídeo die parameters van OpenCV aanpas om 'n goeie opsporingstempo te bereik en vals positiewe te vermy. In die middel van hierdie twee maande het ons ons eerste idee ontwikkel om 'n sentrum van data -insameling te doen. slegs die aantal passasiers en GPS -ligging. Ons het besluit om nie data te versamel met behulp van ander sensors soos temperatuur ensovoorts. Ons het 'n.ini -lêer geskep om die toepassing te parameteriseer en konfigureerbaar te maak. Op die Cambus.ini -lêer kan u die toepassing op baie maniere instel.
Stap 7: Resultate en toekomstige werk
Soos u in die video kan sien, werk die toonbank akkuraat. Die blou lyne dui die invoerlimiet aan en die rooi lyn die uitsetlimiet. In hierdie geval is 'n video gebruik om te simuleer omdat ons dit nie in 'n bus kon plaas nie.
Hou in gedagte dat daar 'n paar veranderinge aan u toestand aangebring moet word ten opsigte van die videogrootte, kamerahoek, helderheid, ens. Elke tipe video moet sy eie parameters aanpas, soos opencv kern -suig agtergrond, ensovoorts.
Verander ook veranderlikes op cambus.ini, wat aandui dat MQTT -makelaar en so meer.
Ons oorweeg dit in die toekoms om sensors by te voeg, byvoorbeeld temperatuur, humiditeit en CO2 in die stelsel. Die idee is om data in die stede te kry wat dit vir die gemeenskap beskikbaar stel.
Hierna gee ons 'n opsomming van die volgende stappe om die projek te verbeter:
- Skryf die kode weer met behulp van C/C ++;
- ML algoritme te verbeter;
- Herfaktor luislangkode;
- Ontplooiing in 'n bus;
Ons bedank Embarcados en Qualcomm vir al die ondersteuning.
Medewerkers:
Bruno Monteiro - [email protected]
Kleber Drobowok - [email protected]
Vinicius de Oliveira - [email protected]
Stap 8: Verwysings
[1]
[2]
[3]
[4]
[5]
Aanbeveel:
Plan lewendige data van 'n temperatuursensor (TMP006) met behulp van MSP432 LaunchPad en Python: 9 stappe
Plot lewendige data van 'n temperatuursensor (TMP006) met behulp van MSP432 LaunchPad en Python: Die TMP006 is 'n temperatuursensor wat die temperatuur van 'n voorwerp meet sonder dat dit met die voorwerp in aanraking hoef te kom. In hierdie tutoriaal teken ons data oor lewendige temperatuur van die BoosterPack (TI BOOSTXL-EDUMKII) met behulp van Python
Stuur data van draadlose vibrasie en temperatuur na Google Sheets met behulp van Node-RED: 37 stappe
Stuur data van draadlose vibrasie en temperatuur na Google Sheets met behulp van Node-RED: Die bekendstelling van NCD se langafstand IoT Industrial draadlose vibrasie- en temperatuursensor, met 'n afstand van tot 2 myl, die gebruik van 'n draadlose netwerkstruktuur. Hierdie toestel bevat 'n presiese 16-bis vibrasie- en temperatuursensor, en
Bywoningstelsel met die stoor van data op Google -sigblad met behulp van RFID en Arduino Ethernet Shield: 6 stappe
Bywoningstelsel met die stoor van data op Google -sigblad met behulp van RFID en Arduino Ethernet Shield: Hallo ouens, hier kom ons met 'n baie opwindende projek, en dit is hoe om rfid -data na Google -sigblad te stuur met behulp van Arduino. Kortom, ons gaan 'n bywoningsisteem maak wat gebaseer is op rfid -leser, wat die bywoningsdata intyds sal stoor om te gaan soek
Visualiseer data van die draadlose sensor met behulp van Google -kaarte: 6 stappe
Visualisering van draadlose sensordata met behulp van Google -kaarte: Voorspellende ontleding van die masjiene is baie nodig om die stilstand van die masjien tot die minimum te beperk. Gereelde ondersoeke help om die werktyd van die masjien te verbeter en verhoog ook die fouttoleransie daarvan. Draadlose trilling en temperatuur senuwees
Stedelike prospekteermelder: 11 stappe (met foto's)
Urban Prospecting Detector: Die projek, die Urban Prospector genoem, is basies 'n aangepaste metaalverklikker met 'n brandbare gassensor wat vir minder as 100 dollar gebou kan word. Deur die oppervlak van u woonbuurt te skandeer, kan u die sakke van