Բովանդակություն:
- Քայլ 1: Նյութեր
- Քայլ 2: Տեղադրեք Linaro- ն Dragonboard 410c- ում
- Քայլ 3: Քայլ 2. Տեղադրեք գրադարաններ և ներբեռնեք աղբյուրի կոդը GitHub- ից
- Քայլ 4. AWS IoT Core- ի, DynamoDB- ի կարգավորում
- Քայլ 5: Կարգավորեք Twilio և Dweet API- ները
- Քայլ 6: Մարտահրավերներ
- Քայլ 7: Արդյունքներ և ապագա աշխատանք
- Քայլ 8: Հղումներ
Video: Cambus - Քաղաքային ավտոբուսի տվյալների հավաքագրման համակարգ. 8 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Հասարակական տրանսպորտում հայտնի խնդիրների և դժվարությունների շարքում բնակչությունը չունի իրական ժամանակի տեղեկատվություն և նվազագույն ինքնահաստատմամբ: Հասարակական տրանսպորտի ավտոբուսների գերբնակեցումը վանում է այն օգտվողներին, ովքեր նախընտրում են օգտվել սեփական տրանսպորտային միջոցներից, չնայած նրանք դեռ ժամերով երթևեկի մեջ են: Եթե իրական ժամանակի տեղեկատվությունը, օրինակ ՝ ավտոբուսների քանակը, օգտվողին հեշտությամբ հասանելի է, նա կարող է ընտրել ՝ սպասե՞լ հաջորդ ավտոբուսին, թե՞ ավտոբուսով շրջել, թե՞ օգտագործել իր սեփական տրանսպորտը: Ընտրության ուժը հանրային տրանսպորտը դարձնում է ավելի գրավիչ տարբերակ օգտվողի համար:
Ներսում մարդկանց հաշվելը կամ գնահատելը կարող է իրականացվել բազմաթիվ եղանակներով, որոնցից ամենատարածվածներն են.
- Theերմային պատկերներ;
- Համակարգչային տեսողություն;
- Դեմքի հաշվիչ;
Համակարգչային տեսլականն օգտագործող միջավայրում մարդկանց գնահատելու մի քանի դժվարությունների շարքում հիմնականներն են.
- Մարդկանց խցանումներ;
- Շրջադարձային լուսավորություն;
- Ստատիկ խցանում, այսինքն ՝ մարդիկ առարկաների հետևում.
- Տեսախցիկի անկյունը շրջակա միջավայրի նկատմամբ;
Այս նախագծի մարտահրավերն է տեսախցիկի ճիշտ անկյունը իմանալը, որը լավագույնս կօգնի պատկերի ֆոնի հանումին, ինչպես նաև ավտոբուսի ներսում օրվա ընթացքում փոփոխական լուսավորությանը:
Առաջարկի հիմնական նպատակն է ստեղծել կայուն և կազմաձևվող մոդել `գերբնակեցումը գնահատելու և արդյունքները հասանելի դարձնելու բնակչությանը սմարթֆոնների միջոցով:
Քայլ 1: Նյութեր
Նախագծի համար անհրաժեշտ նյութը հետևյալն է.
1 x Dragon Board 410c;
1 x USB տեսախցիկ;
1 x սմարթֆոն Android;
Քայլ 2: Տեղադրեք Linaro- ն Dragonboard 410c- ում
Հետևեք ստորև բերված հղման հրահանգներին ՝ Linaro 17.09 -ը DragonBoard 410c- ում տեղադրելու համար: GPS- ի միջուկի աջակցության համար խորհուրդ ենք տալիս տեղադրել Linaro 17.09 -ը:
www.96boards.org/documentation/consumer/dr…
Քայլ 3: Քայլ 2. Տեղադրեք գրադարաններ և ներբեռնեք աղբյուրի կոդը GitHub- ից
Cambus- ն ունի մոդուլային ճարտարապետություն և ծածկագրերի ձևավորում: Հնարավոր է կոդավորել ձեր սեփական մեքենայական ուսուցման ալգորիթմը, անցնել այլ ամպային ծառայության և ստեղծել ձեր սեփական օգտագործողի ծրագրերը:
Cambus նախագիծը գործարկելու համար նախ անհրաժեշտ է ներբեռնել աղբյուրի կոդը github- ից (https://github.com/bmonteiro00/cambus): Տեղադրեք python (Cambus- ը գործարկվեց verison 2.7 և> 3.x- ով) և հետևյալ գրադարանները `օգտագործելով« pip »(sudo apt-get install python-pip): Լինարո համակարգում անհրաժեշտ կլինի տեղադրել մի քանի գրադարաններ (Բացի այդ, խորհուրդ է տրվում ստեղծել վիրտուալ միջավայր - pip install virtualenv - Cambus համակարգը SO- ից մեկուսացնելու համար): Տեղադրեք հետևյալ գրադարանները.
- pip տեղադրել paho-mqtt
- pip տեղադրել numpy
- pip տեղադրել opencv-python
- pip տեղադրել opencv-contrib-python
- pip տեղադրել twilio
- pip տեղադրել matplotlib
Հիմնական ծրագիրը բաժանված էր դասերի.
- CamBus - հիմնական դասարան;
- Սենսոր - այնպիսի տվյալների ստացման դաս, ինչպիսիք են GPS դիրքը, ջերմաստիճանը, Co2:
- Հաշվիչ դաս `պատկերի մշակման ալգորիթմով:
Համոզվեք, որ բոլոր գրադարանները տեղադրված են, և գործարկեք python CamBus_v1.py- ն:
Քայլ 4. AWS IoT Core- ի, DynamoDB- ի կարգավորում
Մենք օգտագործել ենք AWS IoT միջուկը ՝ որպես MQTT բրոքեր ՝ TLS և X509 և NoSQL և DynamoDB տվյալների մուտքագրման համար: Դուք պետք է հաշիվ ստեղծեք https://aws.amazon.com/free հասցեով): Հաջորդը, դուք կունենաք հետևյալ քայլերը ՝ ինչ -որ բան ստեղծելու և Դինամոյի հետ ինտեգրվելու համար.
docs.aws.amazon.com/iot/latest/developergu…
Քայլ 5: Կարգավորեք Twilio և Dweet API- ները
Ստեղծվեց նաև Twilio SMS ծառայությունը: Այս քայլը կատարելու հրահանգների համար տես ստորև բերված URL- ը:
www.twilio.com/docs/iam/api/account
Android հավելվածի և համակարգի միջև ինտեգրումը կատարվել է REST- ի միջոցով ՝ օգտագործելով Dweet հարթակը: Գրանցում չի պահանջվում:
dweet.io/
Քայլ 6: Մարտահրավերներ
Մեր զարգացման ընթացքում մենք հանդիպեցինք բազմաթիվ մարտահրավերների ՝ սկսած OpenCV տեխնիկայից մինչև AWS հարթակ: Մենք որոշեցինք ծածկագրել Python- ի հետ `C/C ++ - ում զարգացող ժամանակը խնայելու համար: Մեր զարգացման ընթացքում միայն Opencv- ի հիմնական մեթոդները, ինչպիսիք են.
• cv2. GaussianBlur (..)
• cv2. Շեմ (..)
• cv2.morphologyEx (..)
• cv2.contourArea (..)
• cv2.findContours (..)
Այս հիմնական մեթոդները բավարար չէին մարդկանց հայտնաբերելու լավ որակի հասնելու համար: Օգտագործվել են ML (մեքենայական ուսուցում) ցնցող տեսանյութով սցենարներ: Այսպիսով, մենք որոշեցինք օգտագործել OpenCV մեքենայական ուսուցման գրադարանը և ստացանք մեկ այլ խնդիր, քանի որ ML ալգորիթմի համար տվյալների լավ մուտքագրումը խնդիր էր, որը մենք անցկացրել էինք շատ օրեր: Մենք օգտագործել ենք OpenCV SVM ալգորիթմը, բայց չենք աշխատել: Մենք օգտագործեցինք OpenCV Naive Bayses- ը, և այս մեկը լավ աշխատեց: Մենք փորձել ենք օգտագործել Tensorflow և CNN նյարդային ցանցերը, սակայն առայժմ դա չիրականացրինք: CNN- ն օգտագործում է շատ մշակման հզորություն, մի բան, որը մենք չունեինք: OpenCV ML- ի և հիմնական OpenCV մեթոդների օգտագործումը մեզ օգնեց մարդկանց հայտնաբերելու լավ տեմպերի հասնել: Այնուամենայնիվ, վիդեոյի յուրաքանչյուր տեսակի համար մենք պետք է հարմարեցնենք OpenCV- ի պարամետրերը, որպեսզի հասնենք մարդկանց հայտնաբերման և կեղծ դրականից խուսափելու լավ տեմպերի: Այս երկու ամսվա կեսերին մենք ձևավորեցինք մեր առաջին գաղափարը ՝ տվյալների հավաքագրման կենտրոն չկատարելու համար: միայն ուղևորների թիվը և GPS տեղադրությունը: Մենք որոշեցինք ոչ թե տվյալներ հավաքել ՝ օգտագործելով այլ սենսորներ, ինչպիսիք են ջերմաստիճանը և այլն: Մենք ստեղծեցինք.ini ֆայլ `դիմումը պարամետրավորելու և այն կարգավորելի դարձնելու համար: Cambus.ini ֆայլում դուք կարող եք կարգավորել ծրագիրը բազմաթիվ եղանակներով:
Քայլ 7: Արդյունքներ և ապագա աշխատանք
Ինչպես տեսնում եք տեսանյութում, հաշվիչը ճշգրիտ է աշխատում: Կապույտ գծերը նշում են մուտքի սահմանը, իսկ կարմիր գիծը ՝ ելքի սահմանը: Այս դեպքում տեսանյութը օգտագործվեց մոդելավորման համար, քանի որ մենք չկարողացանք այն տեղադրել ավտոբուսում:
Նկատի ունեցեք, որ որոշ փոփոխություններ պետք է կատարվեն ձեր վիճակի վերաբերյալ ՝ տեսանյութի չափի, տեսախցիկի անկյունի, լուսավորության և այլն:
Խնդրում ենք նաև փոփոխել փոփոխականները cambus.ini- ում ՝ նշելով MQTT միջնորդը և այլն:
Մենք ապագայում կիրառում ենք սենսորների ավելացում, օրինակ `ջերմաստիճանի, խոնավության և CO2 համակարգում: Գաղափարն այն է, որ տվյալներ ձեռք բերվեն քաղաքների շուրջ ՝ դրանք հասանելի դարձնելով համայնքին:
Հետևում մենք թվարկում ենք հաջորդ քայլերը, որոնք կարող եք կատարելագործել նախագիծը.
- Կրկին գրել կոդը ՝ օգտագործելով C/C ++;
- Բարելավել ML ալգորիթմը;
- Կրկին գործոնային պիթոնի ծածկագիր;
- Տեղավորում ավտոբուս;
Մենք ցանկանում ենք շնորհակալություն հայտնել Embarcados- ին և Qualcomm- ին ՝ ցուցաբերած աջակցության համար:
Համագործակիցներ.
Բրունո Մոնտեյրո - [email protected]
Kleber Drobowok - [email protected]
Վինիսիուս դե Օլիվեյրա - [email protected]
Քայլ 8: Հղումներ
[1]
[2]
[3]
[4]
[5]
Խորհուրդ ենք տալիս:
Ինչպես կատարել խոնավության և ջերմաստիճանի իրական ժամանակի տվյալների գրանցիչ Arduino UNO- ի և SD- քարտի միջոցով: - DHT11 Տվյալների գրանցման մոդելավորում Proteus- ում. 5 քայլ
Ինչպես կատարել խոնավության և ջերմաստիճանի իրական ժամանակի տվյալների գրանցիչ Arduino UNO- ի և SD- քարտի միջոցով DHT11 Տվյալների գրանցման մոդելավորում Proteus- ում. Ներածություն. Բարև, սա Liono Maker- ն է, ահա YouTube- ի հղումը: Մենք ստեղծում ենք ստեղծագործական նախագիծ Arduino- ի հետ և աշխատում ներկառուցված համակարգերի վրա: Data-Logger: Տվյալների գրանցիչ (նաև տվյալների գրանցիչ կամ տվյալների գրանցիչ) էլեկտրոնային սարք է, որը ժամանակի ընթացքում գրանցում է տվյալները
Ինչպես վերծանել մեքենայի CAN ավտոբուսի տվյալները. 8 քայլ
Ինչպե՞ս վերծանել մեքենայի CAN ավտոբուսի տվյալները Վերծանման համար մենք կօգտագործենք can2sky.com ամպային ծառայությունը, որն անվճար է: Մենք կարող ենք գրանցամատյանը գրանցել CAN-USB ադապտերների միջոցով, բայց վճարել
Տվյալների ձեռքբերման և տվյալների տեսողականացման համակարգ MotoStudent Electric Racing Bike– ի համար ՝ 23 քայլ
Տվյալների ձեռքբերման և տվյալների տեսողականացման համակարգ MotoStudent Electric Racing Bike- ի համար. Տվյալների ձեռքբերման համակարգն ապարատային և ծրագրային ապահովման հավաքածու է, որը աշխատում է միասին ՝ արտաքին սենսորներից տվյալներ հավաքելու, դրանք պահելու և հետագայում մշակելու համար, որպեսզի դրանք գրաֆիկականորեն պատկերացվեն և վերլուծվեն, թույլ տալով ինժեներներին կատարել
LCD ավտոբուսի ժամանակացույցի ցուցադրում `7 քայլ
LCD ավտոբուսների ժամանակացույց
IoT միացված տվիչների տվյալների հավաքագրման կենտրոն ESP8266- ով և PubNub- ով ՝ 9 քայլ (նկարներով)
IoT Enabled Sensor Data Collection Center With ESP8266 & PubNub: խրատական նպատակ ունի կամրջել այս բացը դեպի ստեղծող