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

YouTube Տեսողության համար Arduino գրադարանի պատրաստում. 7 քայլ
YouTube Տեսողության համար Arduino գրադարանի պատրաստում. 7 քայլ

Video: YouTube Տեսողության համար Arduino գրադարանի պատրաստում. 7 քայլ

Video: YouTube Տեսողության համար Arduino գրադարանի պատրաստում. 7 քայլ
Video: Օգտագործելով Melexis MLX90614 ինֆրակարմիր ջերմաչափ `Arduino- ի հետ 2024, Հուլիսի
Anonim
Image
Image
Ի՞նչ է գրադարանը
Ի՞նչ է գրադարանը

Բարեւ բոլորին, Վերջերս ես կառուցեցի մի ծառայություն, որը կոչվում է YouTube Sight, որը կարող է քաղել բաժանորդների տվյալները YouTube Analytics API- ից և ձեզ տալ ավելի ճշգրիտ բաժանորդներ, քանի որ YouTube- ը սկսել է համախմբել արդյունքները: Դրանով ես կառուցեցի օրինակելի ուրվագիծ, բայց նաև ցանկանում էի ստեղծել Arduino գրադարան, որպեսզի մարդիկ ավելի հեշտությամբ օգտագործեն այն:

Քայլ 1: Ի՞նչ է գրադարանը:

Ի՞նչ է գրադարանը
Ի՞նչ է գրադարանը

Գրադարանը կոդի մի կտոր է, որը կարող է կարգավորել որոշակի գործողություն, մշակել մի տեսակ տվյալներ կամ կարող է իմանալ, թե ինչպես փոխազդել որոշակի ապարատային տարրի հետ: Նրանք թույլ են տալիս մեզ հեշտությամբ ընդլայնել Arduino միջավայրը, և դրանցից շատերը նախապես տեղադրված են Arduino IDE- ով:

Իմ նման դեպքերում, երբ մենք ցանկանում ենք նոր հնարավորություններ ավելացնել Arduino- ին, մենք կարող ենք ստեղծել մեր սեփական գրադարանները, որպեսզի դրանք օգտագործեն այլ մարդիկ: Բոլոր տեղադրված գրադարանները ապրում են մեր համակարգչի որոշակի թղթապանակում: Իմ դեպքում Windows համակարգչի համար գրադարանները ապրում են Documents/Arduino թղթապանակի տակ: Ամբողջ ուղին ձեզ համար հատուկ կլինի ՝ հիմնված ձեր օգտվողի անվան վրա:

Քայլ 2. Գրադարանի կառուցվածքը և ֆայլերը

Գրադարանի կառուցվածքը և ֆայլերը
Գրադարանի կառուցվածքը և ֆայլերը

Մեր գրադարանը կառուցելու համար մենք նախ պետք է այստեղ ստեղծենք դրա անունով պանակ, այնպես որ ես ստեղծել եմ YouTube Sight անունով պանակ: Գրադարանի նվազագույն տարբերակում մենք պետք է ունենանք առնվազն երկու ֆայլ:

Առաջինը այսպես կոչված «վերնագրի» ֆայլ է, որը պարունակում է մեր գրադարանի տրամադրած մեթոդների և հատկությունների բոլոր սահմանումները, իսկ երկրորդը `սկզբնաղբյուրը, որը պարունակելու է ամբողջ աղբյուրի կոդը:

Վերնագրի ֆայլերն ունեն «.h» ընդլայնում, իսկ աղբյուրի ֆայլը ՝.cpp »և նրանք սովորաբար գրադարանի անուն ունեն որպես ֆայլի անուն: Իմ դեպքում երկու ֆայլերը կոչվում են «YouTubeSight.h» և «YouTubeSight.cpp»:

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

Ամբողջական ծածկագիրը և գրադարանը հասանելի են GitHub- ից ներբեռնելու համար հետևյալ հղումով ՝

Քայլ 3: Վերնագրի ֆայլ

Վերնագրի ֆայլը
Վերնագրի ֆայլը
Վերնագրի ֆայլը
Վերնագրի ֆայլը
Վերնագրի ֆայլը
Վերնագրի ֆայլը

Վերնագրի ֆայլի ներսում, սկզբում, ամբողջ ֆայլը փաթաթված է «ifndef» հայտարարության մեջ, որը ստուգում է ՝ նշված փոփոխականը սահմանված է, թե ոչ: Սա կկանխի գրադարանն օգտագործողների սխալները, եթե դրանք սխալմամբ երկու անգամ ներառեն նույն ուրվագծում:

Հաջորդը, մենք պետք է ներառենք հիմնական Arduino գրադարանը, և քանի որ մենք աշխատելու ենք ինչ -որ HTTP հաճախորդի հետ ՝ YouTube Sight- ին հարցում ուղարկելու համար, մենք նաև կներառենք բազային Հաճախորդների գրադարանը:

Նախքան մեր հիմնական դասի բովանդակությունը գրելը, մենք պետք է սահմանենք ցանկացած ստատիկ փոփոխականներ և պարամետրեր, որոնք մենք չենք ցանկանում փոփոխվել: Իմ դեպքում կա երկու նման փոփոխական: YouTube Sight ծառայության հիմնական URL- ն ու timeout փոփոխականը, որը մենք կօգտագործենք ՝ արժեքը կարդալու համար ստուգելու համար:

Նաև այս բաժնում մենք կարող ենք սահմանել ցանկացած հարմարեցված տեսակներ, որոնք մենք ցանկանում ենք օգտագործել այս ալիքի պես Վիճակագրական կառուցվածք, որտեղ մենք կպահենք արդյունքները:

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

Հանրային բաժնում մենք սահմանում ենք դասի կոնստրուկտորը, channelStats փոփոխականը, որտեղ մենք կպահենք արդյունքները, գործառույթը, որը կստանա տվյալները և կարգաբերման հատկությունը, որը հետագայում կարող ենք օգտագործել ՝ այն դեպքերը ստուգելու համար, որտեղ հնարավոր է ՝ չստանանք ակնկալվող արդյունքները:

Անձնական սեփականությունների համար մենք կսահմանենք մեկը ՝ ալիքի GUID պահելու համար, ցուցիչ, որը մենք կօգտագործենք և գործառույթ, որը կբաժանի վերադարձված տողը YouTube Sight- ից:

Քայլ 4: Աղբյուրի ֆայլ

Աղբյուրի ֆայլը
Աղբյուրի ֆայլը
Աղբյուրի ֆայլը
Աղբյուրի ֆայլը

Այժմ եկեք նայենք այս ամենի իրական իրականացմանը աղբյուրի ֆայլում:

Մեզ համար առաջին քայլը ներառում է մեր ստեղծած վերնագրի ֆայլը, այնուհետև անհրաժեշտ է սահմանել գրադարանի կոնստրուկտորը: Դրա մեջ մենք անցնում ենք երկու փոփոխական: GUID- ը պահվում է մասնավոր փոփոխականի մեջ, որը մենք սահմանել էինք ավելի վաղ, և Հաճախորդը փոխանցվում է հղումով, որպեսզի մենք կարողանանք այնուհետև կանչել այն նույն օրինակը, որը ստացել ենք:

Գրադարանի հիմնական getData գործառույթը սահմանվում է ՝ նախ նշելով վերադարձի տեսակը, որին հաջորդում են գրադարանի անունը և գործառույթի անունը: Չեմ մանրամասնի, թե ինչ է անում այս տողում յուրաքանչյուր տող, բայց ընդհանուր առմամբ գործառույթը կապ է բացում YouTube Sight սերվերի հետ, ուղարկում վիճակագրություն ստանալու հարցումը, այնուհետև վերլուծում վերադարձված տվյալները մասնավոր getValue գործառույթը:

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

Քայլ 5. Էսքիզների օրինակների տրամադրում

Էսքիզների օրինակների տրամադրում
Էսքիզների օրինակների տրամադրում

Սովորաբար դուք, յուրաքանչյուր գրադարան տալիս է օրինակներ, որոնք կարող եք արագ բեռնել և օգտագործել ՝ ցուցադրելու համար, թե գրադարանը ինչ կարող է անել և ինչպես դա անել: Նման օրինակներ տալու համար մենք պետք է փոփոխենք գրադարանի կառուցվածքը, որտեղ այժմ վերնագիրն ու սկզբնական ֆայլը կլինեն «src» թղթապանակում, իսկ գրադարանի արմատին կավելանա նոր թղթապանակ, որը կոչվում է «օրինակներ»:

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

Քայլ 6. Հրապարակում գրադարանի կառավարչին

Հրատարակում գրադարանի կառավարչին
Հրատարակում գրադարանի կառավարչին

Գրադարանից օգտվելու համար մարդիկ պետք է պարզապես ներառեն ձեր գրադարանի վերնագրի ֆայլը իրենց ուրվագծի մեջ, և Arduino IDE- ն այն կկառուցի դրա հետ միասին: Բայց դա անելու համար նրանք նախ պետք է այն տեղադրեն իրենց մեքենաների վրա:

Սովորական եղանակն այն է, որ գրադարանը ներբեռնեք GitHub- ից և տեղադրեք այն IDE- ի ZIP տեղադրողի միջոցով կամ պարզապես տեղադրեք գրադարանների պանակի ներսում, ինչպես դա արեցինք, երբ այն ստեղծում էինք: Այնուամենայնիվ, Arduino IDE- ն ներառում է նաև գործիք, որը կոչվում է Գրադարանի կառավարիչ, որը թույլ է տալիս գրադարան փնտրել անմիջապես IDE- ից:

Ձեր գրադարանը դրա մեջ ներառելու համար մենք նախ պետք է լրացուցիչ ֆայլ ստեղծենք արմատային թղթապանակում, որը կոչվում է «library.properties», և դրանում մենք պետք է նշենք գրադարանի անունը, ընթացիկ տարբերակը և որոշ լրացուցիչ տեղեկություններ, որոնք կօգնեն գրադարանի կառավարչին դրա մասին ավելի լավ տեղեկություններ ցուցադրելու համար:

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

Քայլ 7: Հաջորդ քայլերը

Հուսով եմ, որ այս Instructable- ից հետո դուք ավելի լավ կհասկանաք, թե ինչպես են աշխատում Arduino գրադարանները, ինչպես կարող եք ստեղծել մեկը և ամենակարևորը, հուսով եմ, որ ոգեշնչված կլինեք ՝ սկսելու աշխատել ձեր հաջորդ մեծ գաղափարի վրա:

Լրացուցիչ հարցերի կամ առաջարկությունների դեպքում ազատ գրեք մեկնաբանություններում, բաժանորդագրվեք իմ YouTube ալիքին և հետևեք ինձ այստեղ ՝ Instructables- ում:

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