Sadržaj:
- Korak 1: Materijali
- Korak 2: Instalirajte Linaro u Dragonboard 410c
- Korak 3: Korak 2: Instalirajte biblioteke i preuzmite izvorni kod sa GitHub -a
- Korak 4: Postavljanje AWS IoT Core, DynamoDB
- Korak 5: Postavite Twilio i Dweet API
- Korak 6: Izazovi
- Korak 7: Rezultati i budući rad
- Korak 8: Reference
Video: Cambus - Sistem prikupljanja podataka o gradskim autobusima: 8 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
Među problemima i poteškoćama poznatim u javnom prijevozu, stanovništvu nedostaju informacije u stvarnom vremenu i s najmanje asertivnosti. Prenapučenost autobusa za javni prijevoz tjera korisnike koji više vole koristiti vlastita vozila, iako su i dalje satima u prometu. Ako su korisniku lako dostupne informacije u stvarnom vremenu, poput broja autobusa, on može izabrati hoće li čekati sljedeći autobus ili će se kretati autobusom ili koristiti vlastito vozilo. Snaga izbora čini javni prijevoz privlačnijom opcijom za korisnika.
Brojanje ili procjena ljudi u zatvorenom prostoru može se izvršiti na mnogo načina, među kojima su najčešće zaposleni:
- Toplinske slike;
- Računalni vid;
- Brojač lica;
Među nekoliko poteškoća u procjeni ljudi u okruženju pomoću računarskog vida, glavne su:
- Okluzije ljudi;
- Invertirajuća rasvjeta;
- Statička okluzija, odnosno ljudi iza objekata;
- Ugao kamere prema okolini;
Izazov za ovaj projekt je poznavanje ispravnog ugla kamere koji će najbolje pomoći u oduzimanju pozadine slike, kao i promjenjivoj svjetlini tokom dana u autobusu.
Glavni cilj prijedloga je stvoriti robustan i konfigurabilan model za procjenu prenapučenosti i učiniti rezultate dostupnim stanovništvu putem pametnih telefona.
Korak 1: Materijali
Za projekt je potreban sljedeći materijal:
1 x Dragon Board 410c;
1 x USB kamera;
1 x pametni telefon Android;
Korak 2: Instalirajte Linaro u Dragonboard 410c
Slijedite upute na donjoj vezi za instaliranje Linara 17.09 na DragonBoard 410c. Preporučujemo instaliranje Linaro 17.09 za podršku jezgre za GPS.
www.96boards.org/documentation/consumer/dr…
Korak 3: Korak 2: Instalirajte biblioteke i preuzmite izvorni kod sa GitHub -a
Cambus ima modularnu arhitekturu i dizajn koda. Moguće je kodirati vlastiti algoritam strojnog učenja, preći na drugu uslugu u oblaku i stvoriti vlastite korisničke aplikacije.
Da biste pokrenuli cambus projekt, prvo morate preuzeti izvorni kod s github -a (https://github.com/bmonteiro00/cambus). Instalirajte python (Cambus je bio način rada na verzijama 2.7 i> 3.x) i sljedeće biblioteke koristeći 'pip' (sudo apt-get install python-pip). Bit će potrebno instalirati hrpu biblioteka u Linaro sistem (Također, preporučuje se stvaranje virtualnog okruženja - pip install virtualenv - kako bi se izolirao Cambus sistem od SO -a). Molimo instalirajte sljedeće biblioteke:
- pip install paho-mqtt
- pip install numpy
- pip install opencv-python
- pip install opencv-contrib-python
- pip install twilio
- pip install matplotlib
Glavni program bio je podijeljen u klase:
- CamBus - glavna klasa;
- Senzor - klasa za dobijanje podataka kao što su GPS položaj, temperatura, Co2.
- Counter -class sa algoritmom za obradu slike.
Provjerite jesu li sve biblioteke instalirane i pokrenite python CamBus_v1.py.
Korak 4: Postavljanje AWS IoT Core, DynamoDB
Koristili smo AWS IoT jezgru kao MQTT posrednik sa TLS -om i X509 i NoSQL -om i DynamoDB -om za evidentiranje podataka. Morat ćete stvoriti račun na https://aws.amazon.com/free.). Zatim ćete morati slijediti donje korake za stvaranje stvari i integraciju s Dynamom:
docs.aws.amazon.com/iot/latest/developergu…
Korak 5: Postavite Twilio i Dweet API
Postavljena je i usluga Twilio SMS. Pogledajte donji URL za upute za dovršetak ovog koraka:
www.twilio.com/docs/iam/api/account
Integracija između android aplikacije i sistema izvršena je putem REST -a na platformi Dweet. Nije potrebna registracija.
dweet.io/
Korak 6: Izazovi
Tijekom našeg razvoja suočili smo se s mnogim izazovima, počevši od OpenCV tehnika do AWS platforme. Odlučili smo kodirati s Pythonom kako bismo uštedjeli vrijeme na razvoju u C/C ++. Tokom našeg razvoja samo su osnovne metode Opencv -a, kao što su:
• cv2. GaussianBlur (..)
• cv2.threshold (..)
• cv2.morphologyEx (..)
• cv2.contourArea (..)
• cv2.findContours (..)
Ove osnovne metode nisu bile dovoljne za postizanje dobre kvalitete u otkrivanju ljudi. Korišteni su scenariji s klimavim videom ML (Machine Learning). Stoga smo odlučili koristiti biblioteku mašinskog učenja OpenCV -a i dobili smo još jedan problem jer je pronalaženje dobrog unosa podataka za ML algoritam bio problem na koji smo proveli mnogo dana. Koristili smo OpenCV SVM algoritam, ali nije uspio. Koristili smo OpenCV Naive Bayses i ovaj je radio OK. Pokušali smo koristiti Tensorflow i CNN neuronske mreže, ali to za sada nismo uspjeli. CNN koristi mnogo procesorske snage, nešto što mi nismo imali. Korištenje OpenCV ML i osnova OpenCV metoda pomoglo nam je da dosegnemo dobru stopu otkrivanja ljudi. Ipak, za svaku vrstu videa moramo prilagoditi parametre OpenCV -a kako bismo postigli dobru stopu otkrivanja ljudi i izbjegli lažno pozitivne rezultate. Sredinom ova dva mjeseca razvili smo našu prvu ideju da centar prikupljanja podataka ne samo broj putnika i GPS lokacija. Odlučili smo ne prikupljati podatke pomoću drugih senzora poput temperature i tako dalje. Napravili smo.ini datoteku za parametrizaciju aplikacije i njenu konfiguraciju. Na datoteci Cambus.ini aplikaciju možete konfigurirati na mnogo načina.
Korak 7: Rezultati i budući rad
Kao što možete vidjeti u videu, brojač radi tačno. Plave linije označavaju ulaznu granicu, a crvena liniju izlaznu granicu. U ovom slučaju, video je korišten za simulaciju jer ga nismo mogli postaviti na sabirnicu.
Imajte na umu da se u vaše stanje moraju unijeti neke promjene u pogledu veličine videa, ugla kamere, svjetline itd. Svaka vrsta videozapisa mora biti prilagođena vlastitim parametrima, poput pozadine suktracije jezgre opencv, itd.
Molimo također promijenite varijable na cambus.ini, označavajući MQTT brokera itd.
U budućim implementacijama razmatramo dodavanje senzora, na primjer, temperature, vlažnosti i CO2 u sistem. Ideja je doći do podataka po gradovima i učiniti ih dostupnim zajednici.
Slijedi nabrajanje sljedećih koraka koje možete učiniti kako biste poboljšali projekt:
- Ponovo napišite kod koristeći C/C ++;
- Poboljšati algoritam pranja novca;
- Ponovite faktor python koda;
- Raspoređivanje u autobus;
Ovim putem zahvaljujemo Embarcados -u i Qualcomm -u na svoj podršci.
Saradnici:
Bruno Monteiro - [email protected]
Kleber Drobowok - [email protected]
Vinicius de Oliveira - [email protected]
Korak 8: Reference
[1]
[2]
[3]
[4]
[5]
Preporučuje se:
Kako napraviti snimač podataka o vlažnosti i temperaturi u stvarnom vremenu s Arduino UNO i SD-karticom - DHT11 Zapisnik podataka Simulacija u Proteusu: 5 koraka
Kako napraviti snimač podataka o vlažnosti i temperaturi u stvarnom vremenu s Arduino UNO i SD-karticom | DHT11 Simulator zapisnika podataka u Proteusu: Uvod: zdravo, ovdje Liono Maker, ovdje je YouTube veza. Radimo na kreativnom projektu s Arduinom i radimo na ugrađenim sistemima. Zapisnik podataka: Zapisnik podataka (također zapisnik podataka ili snimač podataka) je elektronički uređaj koji bilježi podatke tokom vremena sa
Radio antena na krovu sa gradskim krovom: 8 koraka (sa slikama)
Radio antena sa gradskim krovom: Nedavno sam stavio radio antenu sa šunkom na krov, kako bih mogao dobiti bolji signal u svom stanu, koji nije na visokom spratu. Kao ultra početnik bez mnogo ulaganja u hobi, bilo je savršeno prihvatljivo da se morate popeti na krov t
Oblačni oblak vas liječi (robot koji izbjegava prepreke s funkcijom prikupljanja): 8 koraka
Oblačni oblak vas liječi (robot koji izbjegava prepreke s funkcijom prikupljanja): beskorisna mašina - Arduino robot
Krug prikupljanja EKG -a: 5 koraka
Krug za prikupljanje EKG -a: OBAVIJEST: Ovo nije medicinski uređaj. Ovo je samo u obrazovne svrhe korištenjem simuliranih signala. Ako koristite ovaj krug za stvarna mjerenja EKG-a, provjerite da li krug i veze kola s instrumentom koriste odgovarajuću izolaciju
EAL-Industri4.0-RFID prikupljanje podataka do baze podataka: 10 koraka (sa slikama)
EAL-Industri4.0-RFID podatkovno prikupljanje podataka u bazi podataka: Ovaj projektni upravitelj opsamlira sve podatke i podatke, registrovane kao identifikator u vašoj bazi podataka. RFID, zaostajanje podataka u MySQL bazi podataka. node-RED, samo ažuriranje i ponašanje u skladu sa općenitim podacima u et C# programu koji se formira u aplikaciji Windows Form