Kazalo:

Ustvarjanje knjižnice Arduino za ogled YouTube: 7 korakov
Ustvarjanje knjižnice Arduino za ogled YouTube: 7 korakov

Video: Ustvarjanje knjižnice Arduino za ogled YouTube: 7 korakov

Video: Ustvarjanje knjižnice Arduino za ogled YouTube: 7 korakov
Video: Измерьте ток до 500A с помощью шунтирующего резистора с помощью Arduino 2024, November
Anonim
Image
Image
Kaj je knjižnica?
Kaj je knjižnica?

Zdravo vsi, Pred kratkim sem razvil storitev, imenovano YouTube Sight, ki lahko izvleče podatke o naročnikih iz API -ja YouTube Analytics in vam da natančnejše število naročnikov, odkar je YouTube začel zbirati rezultate. Z njim sem zgradil primer skice, želel pa sem tudi narediti knjižnico Arduino, da jo bodo ljudje lažje uporabljali.

1. korak: Kaj je knjižnica?

Kaj je knjižnica?
Kaj je knjižnica?

Knjižnica je del kode, ki lahko upravlja določeno operacijo, obdeluje vrsto podatkov ali lahko ve, kako komunicirati z določenim elementom strojne opreme. Omogočajo nam preprosto razširitev okolja Arduino in veliko jih je vnaprej nameščenih z Arduino IDE.

V primerih, kot je moj, kjer želimo Arduinu dodati nove možnosti, lahko ustvarimo lastne knjižnice, ki jih bodo lahko uporabljali drugi ljudje. Vse nameščene knjižnice živijo v določeni mapi v našem računalniku. V mojem primeru za računalnik z operacijskim sistemom Windows so knjižnice pod mapo Dokumenti/Arduino. Celotna pot bo za vas specifična glede na vaše uporabniško ime.

2. korak: Struktura knjižnice in datoteke

Knjižnična struktura in datoteke
Knjižnična struktura in datoteke

Če želimo začeti graditi svojo knjižnico, moramo najprej ustvariti mapo z imenom, zato sem ustvaril mapo z imenom YouTube Sight. V najnižji različici knjižnice moramo imeti vsaj dve datoteki.

Prva je tako imenovana datoteka z glavo, ki vsebuje vse definicije metod in lastnosti, ki jih ponuja naša knjižnica, druga pa izvorna datoteka, ki bo vsebovala vso izvorno kodo.

Datoteke z glavo imajo razširitev ».h«, izvorna datoteka pa ».cpp« in običajno imajo ime knjižnice ime datoteke. V mojem primeru se obe datoteki imenujeta »YouTubeSight.h« in »YouTubeSight.cpp«.

Postopek pisanja knjižnične kode je lahko nekoliko dolgočasen in frustrirajoč, še posebej, če knjižnico pišete prvič, vendar z veliko poskusov in napak lahko dosežete želene rezultate. Zaradi tega vas bom vodil skozi dokončano kodo obeh datotek in jo razložil.

Celotna koda in knjižnica sta na voljo za prenos s spletnega mesta GitHub na naslednji povezavi:

3. korak: Datoteka z glavo

Datoteka z glavo
Datoteka z glavo
Datoteka z glavo
Datoteka z glavo
Datoteka z glavo
Datoteka z glavo

V datoteki z glavo je na začetku celotna datoteka zavita v stavek »ifndef«, ki preveri, ali je podana spremenljivka definirana ali ne. To bo preprečilo napake vsem, ki knjižnico uporabljajo, če jo pomotoma dvakrat vključijo v isto skico.

Nato moramo vključiti osnovno knjižnico Arduino in ker bomo sodelovali z nekakšnim odjemalcem HTTP za pošiljanje zahteve v YouTube Sight, bomo vključili tudi osnovno knjižnico odjemalcev.

Preden začnemo pisati vsebino našega glavnega razreda, moramo opredeliti vse statične spremenljivke in nastavitve, ki jih ne želimo spreminjati. V mojem primeru obstajata dve taki spremenljivki. Glavni URL storitve YouTube Sight in spremenljivka časovne omejitve, s katero bomo preverili, kako dolgo beremo vrednost.

Tudi v tem razdelku lahko določimo vse vrste po meri, ki jih želimo uporabiti, na primer to strukturo kanalaStatistics, v katero bomo shranili rezultate.

Opredelitev strukture razreda je razdeljena na dva dela. Prvi del je opredelitev vseh javnih funkcij in lastnosti, drugi pa opredelitev vseh zasebnih funkcij in lastnosti. Razlika med obema je v tem, da končni uporabniki naše knjižnice ne bodo mogli neposredno uporabljati ničesar iz zasebnega razdelka, medtem ko bodo lahko neposredno spreminjali in uporabljali katero koli lastnost in funkcijo iz javnega dela.

V javnem razdelku določimo konstruktor razreda, spremenljivko channelStats, kamor bomo shranili rezultate, funkcijo, ki bo pridobila podatke, in lastnost za odpravljanje napak, ki jo lahko kasneje uporabimo za preverjanje primerov, ko morda ne bomo dobili pričakovanih rezultatov.

Za zasebne lastnosti bomo določili enega za shranjevanje GUID kanala, kazalec na odjemalca HTTP, ki ga bomo uporabili, in funkcijo, ki bo ločila vrnjeni niz iz YouTubovega vida.

4. korak: izvorna datoteka

Izvorna datoteka
Izvorna datoteka
Izvorna datoteka
Izvorna datoteka

Zdaj pa poglejmo dejansko izvajanje vsega tega v izvorni datoteki.

Prvi korak za nas je vključitev lastne datoteke z glavo, ki smo jo pravkar ustvarili, nato pa moramo definirati konstruktor knjižnice. V njem podajamo dve spremenljivki. GUID je shranjen v zasebno spremenljivko, ki smo jo definirali prej, odjemalca pa posredujemo s sklicem, tako da lahko nato pokličemo isti primerek, ki smo ga dobili.

Glavna funkcija knjižnice getData je definirana tako, da najprej poda vrsto vračila, nato ime knjižnice in ime funkcije. Ne bom podrobno opisal, kaj vsaka vrstica počne v tej funkciji, na splošno pa funkcija odpre povezavo s strežnikom YouTube Sight, pošlje zahtevo po statističnih podatkih in nato razčleni vrnjene podatke s pomočjo zasebna funkcija getValue.

Pridobljeni rezultati so nato nastavljeni na spremenljivko channelStats in indikator se vrne, če nam je uspelo pridobiti rezultate ali ne in s tem je jedro naše knjižnice popolno.

5. korak: Zagotovite primerne skice

Zagotavljanje primerov skic
Zagotavljanje primerov skic

Običajno vsaka knjižnica vsebuje primere, ki jih lahko hitro naložite in uporabite, da prikažete, kaj lahko knjižnica naredi in kako to storiti. Za takšne primere moramo spremeniti strukturo knjižnice, kjer bosta zdaj glava in izvorna datoteka v mapi »src«, nova mapa pa bo dodana pod korenom knjižnice, imenovana »primeri«.

Vsaka skica Arduino, ki jo postavite v to mapo, bo iz Arduino IDE prikazana kot primer za vašo knjižnico, ljudje pa jo bodo lahko hitro raziskali in izvedeli, kako knjižnica deluje.

6. korak: objava v upravitelju knjižnice

Objavljanje v upravitelju knjižnice
Objavljanje v upravitelju knjižnice

Za uporabo knjižnice bodo morali ljudje preprosto vključiti datoteko glave vaše knjižnice v svojo skico in Arduino IDE jo bo skupaj z njo sestavil. Toda za to ga bodo morali najprej namestiti na svoje stroje.

Pogost način je, da knjižnico prenesete z GitHub -a in jo namestite prek namestitvenega programa ZIP v IDE ali pa jo preprosto postavite v mapo knjižnic, kot smo to storili pri ustvarjanju. Vendar Arduino IDE vključuje tudi orodje, imenovano Upravitelj knjižnic, ki vam omogoča iskanje knjižnice neposredno iz IDE.

Če želite vanjo vključiti svojo knjižnico, moramo najprej ustvariti dodatno datoteko v korenski mapi, imenovano “library.properties”, v njej pa moramo določiti ime knjižnice, trenutno različico in nekaj dodatnih informacij, ki bodo v pomoč upravitelju knjižnice za prikaz boljših informacij o tem.

Ko je datoteka na mestu, je treba na strani Arduino GitHub ustvariti težavo, ki preprosto zahteva, da se vaša knjižnica vključi v indeks s povezavo do nje, in ko jo odobri in doda osebje Arduina, bo upravitelj knjižnice v rezultatih začnite ponujati svojo knjižnico. Poleg tega bo upravitelj v prihodnosti iskal vse oznake različic v repoju GitHub in ljudem, ki ga uporabljajo, ponudil posodobitev, ko bodo spremembe.

7. korak: Naslednji koraki

Upam, da boste po tem navodilu bolje razumeli, kako delujejo knjižnice Arduino, kako lahko ustvarite eno in kar je najpomembneje, upam, da vas bo navdihnilo, da začnete delati na svoji naslednji veliki ideji.

Za vsa dodatna vprašanja ali predloge vas prosimo, da jih zapišete v komentarje, se naročite na moj YouTube kanal in me spremljate tukaj na Instructables.

Priporočena: