Բովանդակություն:

Mobility Smartparking: 7 քայլ
Mobility Smartparking: 7 քայլ

Video: Mobility Smartparking: 7 քայլ

Video: Mobility Smartparking: 7 քայլ
Video: Transforming Urban Mobility: SKIDATA's Smart Parking Revolution in Linköping 2024, Նոյեմբեր
Anonim
Mobility Smartparking
Mobility Smartparking

Մենք սկսեցինք այս նախագիծը մի պարզ նպատակով. Մենք ցանկանում էինք չափել ավտոկայանատեղիի մեքենաների մուտքային և ելքային քանակը և այդպիսով մարդկանց տեղեկացնել լոտի ազատ և զբաղեցրած տարածքների մասին:

Մեր աշխատանքի ընթացքում մենք բարելավեցինք նախագիծը որոշ լրացուցիչ գործառույթներով, ինչպիսիք են թվիթերը և էլ. Փոստի ուղարկումը, որպեսզի մարդիկ կարողանան հեշտությամբ տեղեկանալ:

Քայլ 1: Գործիքներ, մասեր

Նախագծի վրա աշխատանք սկսելու համար մեր առաջին քայլը եղավ ձեռք բերել անհրաժեշտ մասերը, որոնք հետևյալն են.

● Ազնվամորի Պի 3

www.raspberrypi.org/products/raspberry-pi-3-model-b/

● Ուլտրաձայնային փոխարկիչ HC-SR04

hobbielektronikabolt.hu/spd/HCSR04/Ultrahangos-tavolsagmero-HC-SR04

● Սենսորների ցուցիչ և միացման համար մալուխներ ՝ 1000 Ω դիմադրությամբ

● Էներգամատակարարում - Powerbank

Քայլ 2: Ազնվամորի Պի և տվիչներ

Ազնվամորի Պի և սենսորներ
Ազնվամորի Պի և սենսորներ

Որպես մեր երկրորդ քայլ, մենք հավաքել էինք ապարատային մասը: Այսպիսով, մենք միացրեցինք 2 ուլտրաձայնային տվիչները և տեղադրեցինք OS (Raspbian) մեր Raspberry Pi- ի վրա: Դրանից հետո, ստուգելու համար, թե արդյոք սենսորները ճիշտ են աշխատում, մենք Python 3 -ում մի քանի տող կոդ գրեցինք և որոշ փորձարկումներ կատարեցինք:

Քայլ 3: Հիմնական ծածկագրի գրառում

Հիմնական ծածկագրի գրելը
Հիմնական ծածկագրի գրելը

Մեր հաջորդ քայլում մենք ծրագրավորեցինք մեր հիմնական կոդը: Դրա հիմքում ընկած էր մուտքային և ելքային օբյեկտների (տրանսպորտային միջոցների) հայտնաբերումը: Ավտոմեքենայի անցնելիս հայտնաբերված հեռավորությունը կլինի ավելի փոքր, քան առաջին չափման ժամանակ չափված սկզբնական տարածությունը: Կախված նրանից, թե որ սենսորը կբացահայտի օբյեկտը, այն կհամարվի որպես ելքային կամ մուտքային մեքենա, և այդպիսով կամ կնշանակի նվազեցում կամ լրացում զբաղեցված տարածքների վրա:

Քայլ 4: Փորձարկում

Փորձարկում
Փորձարկում

Մեր աշխատանքի ընթացքում մենք փորձարկեցինք ծածկագրի յուրաքանչյուր հատված, որպեսզի կարողանանք գիտակցել սխալը և հեշտությամբ ստուգել, թե ծածկագրի որ հատվածն է այն ունեցել:

Մեր հիմնական կոդի փորձարկման ժամանակ մենք ստիպված եղանք փոխել որոշ պարամետրեր: Օրինակ ՝ վայրի փոփոխության ժամանակ անսարքությունների հանդուրժողականությունը և տվիչների քնի ժամանակը:

Սխալների հանդուրժողականությունը սկզբում ֆիքսված թիվ էր, բայց հաշվի առնելով, որ այն պետք է լինի շարժական, և այնպես որ այն հեշտությամբ կարող է ստեղծվել ցանկացած միջավայրում, մենք օգտագործեցինք տարբեր փոփոխականներ if վիճակում:

Քայլ 5: Լրացուցիչ գործառույթներ

Լրացուցիչ գործառույթներ
Լրացուցիչ գործառույթներ

Մեր հինգերորդ քայլում մենք ցանկանում էինք իրազեկման ծածկագիր ներդնել, ինչը նշանակում էր, որ այն երբեմն մարդկանց կտեղեկացնի կայանատեղիների ընթացիկ կարգավիճակի մասին:

Այս քայլի ընթացքում մենք սկզբում իրականացրեցինք թվիթ, այնուհետև էլ.

Այս երկուսն էլ ծանուցումներ են ուղարկում յուրաքանչյուր 30 րոպեն մեկ, բայց այն հեշտությամբ կարող է փոխվել:

Քայլ 6: II. Փորձարկում

Այս քայլով մենք փորձարկեցինք ամբողջ ծածկագրի նոր ներդրված տարրերը:

Այս քայլով մենք հայտնաբերեցինք Twitters- ի կանոններով պայմանավորված հնարավոր անսարքությունը: Twitter- ը թույլ չի տալիս կրկնօրինակ գրառումներ կատարել, ուստի, երբ մեքենաների թիվը 30 րոպեից չի փոխվում, նույն տեղեկատվությունը թվիթ է տալիս: Մենք այս հարցը լուծեցինք ժամանակային կնիքի օգտագործմամբ, ինչը նաև բարելավեց գրառումների իսկությունը:

Քայլ 7: Փորձ

Փորձ
Փորձ
Փորձ
Փորձ
Փորձ
Փորձ

Մեր վերջին քայլում մենք փորձարկեցինք ամբողջ համակարգը, որը ներառում էր վերը նշված մասերից յուրաքանչյուրը: Դա արվել է Մոբիլիսի ավտոկայանատեղիում ՝ որոշ կամավորների օգնությամբ: Մենք պետք է որոշ պարամետրեր փոխեինք նաև այս դեպքում, այնպես որ կարող էինք առանց սխալի հաշվել մեքենաների քանակը:

Թեստը կատարվել է 3 հոգու օգնությամբ: Դրա ընթացքում մենք կարող ենք որոշել, որ սենսորների քնի ժամանակը պետք է ստանա 1,5 արժեք ՝ մեքենաները կատարյալ հաշվելու համար:

Խորհուրդ ենք տալիս: