Obsah:
- Krok 1: Materiály
- Krok 2: Nainstalujte Linaro do Dragonboard 410c
- Krok 3: Krok 2: Nainstalujte si knihovny a stáhněte si zdrojový kód z GitHubu
- Krok 4: Nastavení AWS IoT Core, DynamoDB
- Krok 5: Nastavení rozhraní Twilio a Dweet API
- Krok 6: Výzvy
- Krok 7: Výsledky a budoucí práce
- Krok 8: Reference
Video: Cambus - systém sběru dat v městské autobusové dopravě: 8 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Mezi problémy a obtížemi známými ve veřejné dopravě chybí obyvatelstvu informace v reálném čase a s nejmenší asertivitou. Přeplněnost autobusů veřejné dopravy odhání uživatele, kteří dávají přednost používání vlastních vozidel, přestože jsou stále v provozu celé hodiny. Pokud jsou uživateli v reálném čase k dispozici informace v reálném čase, například počet autobusů, může si vybrat, zda bude čekat na další autobus, nebo se bude pohybovat autobusem nebo použije vlastní vozidlo. Díky možnosti volby je veřejná doprava pro uživatele atraktivnější volbou.
Počítání nebo odhadování lidí v interiéru lze provádět mnoha způsoby, mezi nejčastěji používané patří:
- Termální obrazy;
- Počítačové vidění;
- Čítač obličeje;
Mezi několik obtíží při odhadování lidí v prostředí využívajícím počítačové vidění patří tyto hlavní:
- Okluze lidí;
- Invertující osvětlení;
- Statická okluze, tedy lidé za objekty;
- Úhel kamery vůči prostředí;
Úkolem pro tento projekt je znát správný úhel kamery, který nejlépe pomůže při odečítání pozadí obrázku, stejně jako proměnné světelnosti během dne uvnitř autobusu.
Hlavním cílem návrhu je vytvořit robustní a konfigurovatelný model pro odhad přeplněnosti a zpřístupnění výsledků obyvatelstvu prostřednictvím chytrých telefonů.
Krok 1: Materiály
Materiál potřebný pro projekt je následující:
1 x Dragon Board 410c;
1 x USB kamera;
1 x chytrý telefon Android;
Krok 2: Nainstalujte Linaro do Dragonboard 410c
Podle pokynů na níže uvedeném odkazu nainstalujte Linaro 17.09 na DragonBoard 410c. Pro podporu jádra pro GPS doporučujeme nainstalovat Linaro 17.09.
www.96boards.org/documentation/consumer/dr…
Krok 3: Krok 2: Nainstalujte si knihovny a stáhněte si zdrojový kód z GitHubu
Cambus má modulární architekturu a návrh kódu. Je možné kódovat vlastní algoritmus strojového učení, přejít na jinou cloudovou službu a vytvářet vlastní uživatelské aplikace.
Chcete -li spustit projekt cambus, musíte si nejprve stáhnout zdrojový kód z github (https://github.com/bmonteiro00/cambus). Nainstalujte python (Cambus byl režim pro verison 2.7 a> 3.x) a následující knihovny pomocí 'pip' (sudo apt-get install python-pip). Bude nutné nainstalovat spoustu knihoven v systému Linaro (Také se doporučuje vytvořit virtuální prostředí - pip install virtualenv - za účelem izolace systému Cambus od SO). Nainstalujte si prosím následující knihovny:
- pip install paho-mqtt
- pip install numpy
- pip install opencv-python
- pip install opencv-contrib-python
- pip install twilio
- pip install matplotlib
Hlavní program byl rozdělen do tříd:
- CamBus - hlavní třída;
- Senzor - třída pro získávání dat, jako je poloha GPS, teplota, Co2.
- Counter - třída s algoritmem zpracování obrazu.
Ujistěte se, že jsou nainstalovány všechny knihovny, a spusťte python CamBus_v1.py.
Krok 4: Nastavení AWS IoT Core, DynamoDB
Pro protokolování dat jsme použili jádro AWS IoT jako broker MQTT s TLS a X509 a NoSQL a DynamoDB. Budete si muset vytvořit účet na https://aws.amazon.com/free.). Dále budete muset při vytváření věci a integraci s Dynamem provést následující kroky:
docs.aws.amazon.com/iot/latest/developergu…
Krok 5: Nastavení rozhraní Twilio a Dweet API
Byla také zřízena služba Twilio SMS. Pokyny k dokončení tohoto kroku naleznete na níže uvedené adrese URL:
www.twilio.com/docs/iam/api/account
Integrace mezi aplikací pro Android a systémem proběhla prostřednictvím platformy REST využívající platformu Dweet. Není nutná registrace.
dweet.io/
Krok 6: Výzvy
Během našeho vývoje jsme čelili mnoha výzvám, počínaje technikami OpenCV až po platformu AWS. Rozhodli jsme se kódovat pomocí Pythonu, abychom ušetřili čas při vývoji v C/C ++. Během našeho vývoje byly použity pouze základní metody Opencv, jako například:
• cv2. GaussianBlur (..)
• cv2.threshold (..)
• cv2.morphologyEx (..)
• cv2.contourArea (..)
• cv2.findContours (..)
Tyto základní metody nestačily k dosažení dobré kvality při detekci osob. Byly použity scénáře s roztřeseným videem ML (Machine Learning). Rozhodli jsme se tedy použít knihovnu strojového učení OpenCV a máme další problém, protože najít dobrý vstup dat pro algoritmus ML byl problém, který jsme strávili mnoho dní. Použili jsme algoritmus OpenCV SVM, ale nefungoval. Použili jsme OpenCV Naive Bayses a tento fungoval dobře. Zkoušeli jsme použít neurální sítě Tensorflow a CNN, ale prozatím se nám to nepodařilo. CNN využívá mnoho výpočetního výkonu, což jsme neměli. Použití OpenCV ML a základů metod OpenCV nám pomohlo dosáhnout dobré míry detekce lidí. Nicméně pro každý typ videa musíme přizpůsobit parametry OpenCV, abychom dosáhli dobré míry detekce lidí a vyhnuli se falešným poplachům. V polovině těchto dvou měsíců jsme vyvinuli naši první myšlenku udělat centrum pro sběr dat, nikoli pouze počet cestujících a poloha GPS. Rozhodli jsme se, že nebudeme shromažďovat data pomocí jiných senzorů, jako je teplota atd. Vytvořili jsme soubor.ini, který umožňuje parametrizaci aplikace a její konfiguraci. Na souboru Cambus.ini můžete aplikaci konfigurovat mnoha způsoby.
Krok 7: Výsledky a budoucí práce
Jak vidíte na videu, počítadlo funguje přesně. Modré čáry označují vstupní limit a červené čáry výstupní limit. V tomto případě bylo pro simulaci použito video, protože jsme jej nemohli nasadit do autobusu.
Uvědomte si, že ve vašem stavu musí být provedena určitá změna týkající se velikosti videa, úhlu kamery, světelnosti atd. Každý typ videa musí mít přizpůsobení vlastních parametrů, jako je pozadí odsávání jádra opencv atd.
Změňte prosím také proměnné na cambus.ini, označující brokera MQTT a tak dále.
V budoucích implementacích uvažujeme o přidání senzorů, například teploty, vlhkosti a CO2 do systému. Cílem je získat data po městech a zpřístupnit je komunitě.
Následuje výčet dalších kroků, které můžete pro vylepšení projektu:
- Přepište kód pomocí C/C ++;
- Vylepšit algoritmus ML;
- Znovu faktorujte kód pythonu;
- Nasazení do autobusu;
Chtěli bychom poděkovat Embarcados a Qualcomm za veškerou poskytnutou podporu.
Spolupracovníci:
Bruno Monteiro - [email protected]
Kleber Drobowok - [email protected]
Vinicius de Oliveira - [email protected]
Krok 8: Reference
[1]
[2]
[3]
[4]
[5]
Doporučuje:
Řada IoT ESP8266: 2- Monitorování dat prostřednictvím ThingSpeak.com: 5 kroků
Řada IoT ESP8266: 2- Monitorujte data prostřednictvím ThingSpeak.com: Toto je druhá část řady IoT ESP8266. Chcete -li vidět část 1, podívejte se na tuto instrukovatelnou řadu IoT ESP8266: 1 Připojte se k routeru WIFI. Tato část si klade za cíl ukázat vám, jak odeslat data ze senzoru do jedné z populárních bezplatných cloudových služeb IoT https: //thingspeak.com
Vizualizace dat z Magicbit v AWS: 5 kroků
Vizualizace dat z Magicbit v AWS: Data shromážděná ze senzorů připojených k Magicbit budou publikována do jádra AWS IOT prostřednictvím MQTT a budou graficky vizualizována v reálném čase. Jako vývojovou desku v tomto projektu, který je založen na ESP32, používáme magicbit. Proto jakýkoli ESP32 d
Čtení a vykreslování dat světelných a teplotních senzorů s Raspberry Pi: 5 kroků
Čtení a vykreslování dat světelných a teplotních senzorů s Raspberry Pi: V tomto Instructable se naučíte číst světelný a teplotní senzor s převodníkem maliny pi a ADS1115 analogově na digitální převod a grafovat jej pomocí matplotlib. Začněme s potřebnými materiály
Zatažený mrak vás uzdraví (Robot vyhýbající se překážkám s funkcí sběru): 8 kroků
Cloudy Cloud vás uzdraví (Robot vyhýbající se překážkám s funkcí sběru): Zbytečný stroj - robot Arduino
Okruh sběru EKG: 5 kroků
Obvod sběru EKG: UPOZORNĚNÍ: Nejedná se o zdravotnický prostředek. Toto je pouze pro vzdělávací účely pomocí simulovaných signálů. Pokud používáte tento obvod pro skutečná měření EKG, zajistěte, aby obvod a připojení mezi obvodem a přístrojem používaly správnou izolaci