Obsah:
- Krok 1: Materiály
- Krok 2: Nainštalujte Linaro do Dragonboard 410c
- Krok 3: Krok 2: Nainštalujte si knižnice a stiahnite si zdrojový kód z GitHub
- Krok 4: Nastavenie AWS IoT Core, DynamoDB
- Krok 5: Nastavte rozhrania API Twilio a Dweet
- Krok 6: Výzvy
- Krok 7: Výsledky a budúca práca
- Krok 8: Referencie
Video: Cambus - systém zberu údajov o mestskej zbernici: 8 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Medzi problémami a ťažkosťami známymi vo verejnej doprave chýba obyvateľstvu informácie v reálnom čase a s najmenšou asertivitou. Preplnenosť autobusov mestskej hromadnej dopravy odháňa používateľov, ktorí uprednostňujú používanie vlastných vozidiel, napriek tomu, že sú v prevádzke hodiny. Ak sú používateľovi ľahko dostupné informácie v reálnom čase, ako napríklad počet autobusov, môže si vybrať, či bude čakať na ďalší autobus alebo sa bude pohybovať autobusom alebo použije vlastné vozidlo. Vďaka možnosti výberu je verejná doprava pre užívateľa atraktívnejšou možnosťou.
Počítanie alebo odhadovanie ľudí v interiéri je možné vykonať mnohými spôsobmi, z ktorých najčastejšie sa používajú:
- Termálne obrazy;
- Počítačové videnie;
- Počítadlo tváre;
Medzi niekoľko ťažkostí odhadnúť ľudí v prostredí pomocou počítačového videnia patrí medzi hlavné tieto:
- Oklúzie ľudí;
- Invertujúce osvetlenie;
- Statická oklúzia, to znamená ľudia za predmetmi;
- Uhol kamery voči prostrediu;
Výzvou pre tento projekt je poznať správny uhol kamery, ktorý najlepšie pomôže pri odčítaní pozadia obrázku, ako aj premenlivej svietivosti počas dňa v autobuse.
Hlavným cieľom návrhu je vytvoriť robustný a konfigurovateľný model na odhad preplnenosti a sprístupnenie výsledkov obyvateľstvu prostredníctvom smartfónov.
Krok 1: Materiály
Materiál potrebný na projekt je nasledujúci:
1 x Dragon Board 410c;
1 x USB kamera;
1 x smartphone pre Android;
Krok 2: Nainštalujte Linaro do Dragonboard 410c
Nainštalujte Linaro 17.09 na DragonBoard 410c podľa pokynov v nižšie uvedenom odkaze. Odporúčame nainštalovať Linaro 17.09 na podporu jadra pre GPS.
www.96boards.org/documentation/consumer/dr…
Krok 3: Krok 2: Nainštalujte si knižnice a stiahnite si zdrojový kód z GitHub
Cambus má modulárnu architektúru a návrh kódu. Je možné kódovať vlastný algoritmus strojového učenia, prejsť na inú cloudovú službu a vytvárať si vlastné používateľské aplikácie.
Na spustenie projektu cambus si najskôr musíte stiahnuť zdrojový kód z github (https://github.com/bmonteiro00/cambus). Nainštalujte python (Cambus bol režim, ktorý bežal na verzii 2.7 a> 3.x) a nasledujúce knižnice pomocou 'pip' (sudo apt-get install python-pip). Bude potrebné nainštalovať veľa knižníc do systému Linaro (Tiež sa odporúča vytvoriť virtuálne prostredie - pip install virtualenv - aby sa izoloval systém Cambus od SO). Nainštalujte prosím nasledujúce knižnice:
- pip install paho-mqtt
- pip install numpy
- pip install opencv-python
- pip install opencv-contrib-python
- pip install twilio
- pip install matplotlib
Hlavný program bol rozdelený do tried:
- CamBus - hlavná trieda;
- Senzor - trieda na získavanie údajov, ako je poloha GPS, teplota, CO2.
- Counter - trieda s algoritmom spracovania obrazu.
Uistite sa, že sú nainštalované všetky knižnice, a spustite python CamBus_v1.py.
Krok 4: Nastavenie AWS IoT Core, DynamoDB
Jadro AWS IoT sme použili ako brokera MQTT s protokolmi TLS a X509 a NoSQL a DynamoDB na zaznamenávanie údajov. Na https://aws.amazon.com/free si budete musieť vytvoriť účet.) Ďalej budete musieť pri vytváraní veci a integrácii s Dynamom vykonať nasledujúce kroky:
docs.aws.amazon.com/iot/latest/developergu…
Krok 5: Nastavte rozhrania API Twilio a Dweet
Bola zriadená aj služba Twilio SMS. Pokyny na dokončenie tohto kroku nájdete na nižšie uvedenej adrese URL:
www.twilio.com/docs/iam/api/account
Integrácia medzi aplikáciou pre Android a systémom sa uskutočnila prostredníctvom platformy REST, ktorá používa platformu Dweet. Nie je potrebná žiadna registrácia.
dweet.io/
Krok 6: Výzvy
Počas nášho vývoja sme čelili mnohým výzvam, od techník OpenCV po platformu AWS. Rozhodli sme sa kódovať v Pythone, aby sme ušetrili čas pri vývoji v C/C ++. Počas nášho vývoja len základné metódy Opencv, ako napríklad:
• cv2. GaussianBlur (..)
• cv2.threshold (..)
• cv2.morphologyEx (..)
• cv2.contourArea (..)
• cv2.findContours (..)
Tieto základné metódy nestačili na dosiahnutie dobrej kvality pri zisťovaní osôb. Použili sa scenáre s trasúcim sa videom ML (Machine Learning). Preto sme sa rozhodli použiť knižnicu strojového učenia OpenCV a dostali sme ďalší problém, pretože nájsť dobrý vstup údajov pre algoritmus ML bol problém, ktorý sme strávili mnoho dní. Použili sme algoritmus OpenCV SVM, ale nefungoval. Použili sme OpenCV Naive Bayses a tento fungoval dobre. Pokúsili sme sa použiť neurónové siete Tensorflow a CNN, ale zatiaľ sa nám to nepodarilo. CNN používa veľa výpočtového výkonu, čo sme nemali. Použitie OpenCV ML a základov metód OpenCV nám pomohlo dosiahnuť dobrú mieru detekcie ľudí. Napriek tomu pre každý typ videa musíme prispôsobiť parametre OpenCV, aby sme dosiahli dobrú mieru detekcie ľudí a vyhli sa falošným pozitívam. V polovici týchto dvoch mesiacov sme vyvinuli našu prvú myšlienku vytvoriť centrum zberu údajov, nie iba počet pasažierov a poloha GPS. Rozhodli sme sa nezhromažďovať údaje pomocou iných senzorov, ako je teplota a podobne. Vytvorili sme súbor.ini na parametrizáciu aplikácie a jej konfiguráciu. Na súbore Cambus.ini môžete aplikáciu nakonfigurovať mnohými spôsobmi.
Krok 7: Výsledky a budúca práca
Ako vidíte na videu, počítadlo funguje presne. Modré čiary označujú vstupný limit a červené čiary výstupný limit. V tomto prípade bolo na simuláciu použité video, pretože sme ho nemohli nasadiť do autobusu.
Majte na pamäti, že je potrebné vykonať určité zmeny vo vašich podmienkach týkajúcich sa veľkosti videa, uhla kamery, svetelnosti atď. Každý typ videa musí mať prispôsobenie svojim vlastným parametrom, ako napríklad pozadie odsávania jadra opencv atď.
Zmeňte tiež premenné na cambus.ini, ktoré označujú makléra MQTT a podobne.
V budúcich implementáciách uvažujeme o pridaní senzorov, napríklad teploty, vlhkosti a CO2 do systému. Cieľom je získať údaje o mestách a sprístupniť ich komunite.
Nasleduje zoznam ďalších krokov, ktoré môžete zlepšiť projekt:
- Opíšte kód pomocou C/C ++;
- Vylepšiť algoritmus ML;
- Zopakujte faktor pythonového kódu;
- Nasadenie do autobusu;
Radi by sme poďakovali spoločnostiam Embarcados a Qualcomm za všetku poskytnutú podporu.
Spolupracovníci:
Bruno Monteiro - [email protected]
Kleber Drobowok - [email protected]
Vinicius de Oliveira - [email protected]
Krok 8: Referencie
[1]
[2]
[3]
[4]
[5]
Odporúča:
Vizualizácia údajov z Magicbit v AWS: 5 krokov
Vizualizácia údajov z Magicbit v AWS: Údaje zozbierané zo senzorov pripojených k Magicbit budú zverejnené do jadra AWS IOT prostredníctvom MQTT, aby boli graficky vizualizované v reálnom čase. V tomto projekte používame magicbit ako vývojovú dosku, ktorá je založená na ESP32. Preto akýkoľvek ESP32 d
Záznamník údajov čiapky GPS: 7 krokov (s obrázkami)
Záznamník údajov GPS Cap: Tu je skvelý víkendový projekt, ak sa venujete pešej turistike alebo dlhým cyklom a potrebujete záznamník údajov GPS, ktorý vám pomôže sledovať všetky vaše treky/jazdy, ktoré ste absolvovali … Keď dokončíte stavbu a stiahli údaje z modulu GPS tr
Ako dekódovať údaje o zbernici CAN vozidla: 8 krokov
Ako dekódovať údaje zbernice CAN vozidla: V tomto návode zaznamenáme údaje zbernice CAN automobilu alebo nákladného auta a prevedieme zaznamenané údaje denníka zbernice CAN na čitateľné hodnoty. Na dekódovanie použijeme bezplatnú cloudovú službu can2sky.com. Denník môžeme zaznamenávať pomocou adaptérov CAN-USB, ale platiť za
Okruh zberu EKG: 5 krokov
Okruh zberu EKG: UPOZORNENIE: Toto nie je zdravotnícke zariadenie. Toto je len na vzdelávacie účely pomocou simulovaných signálov. Ak používate tento obvod na skutočné meranie EKG, uistite sa, že obvod a pripojenia obvodu k prístroju používajú správnu izoláciu
Centrum zberu údajov senzorov povolené s IoT s ESP8266 a PubNub: 9 krokov (s obrázkami)
Centrum zberu údajov zo senzorov povolených pre IoT s ESP8266 a PubNub: Väčšina výukových programov k systému ESP8266 je buď na úrovni nováčika (diaľkovo bliká LED dióda), alebo je príliš zložitá pre niekoho, kto hľadá niečo, čo by mohol zlepšiť a vylepšiť podľa svojich schopností blikať pomocou LED. Toto inštruovateľné ciele majú preklenúť túto priepasť a vytvoriť