Sadržaj:

Izrada Arduino biblioteke za YouTube Sight: 7 koraka
Izrada Arduino biblioteke za YouTube Sight: 7 koraka

Video: Izrada Arduino biblioteke za YouTube Sight: 7 koraka

Video: Izrada Arduino biblioteke za YouTube Sight: 7 koraka
Video: Веб-приложения будущего с React, Нил Мехта 2024, Novembar
Anonim
Image
Image
Šta je biblioteka?
Šta je biblioteka?

Zdravo svima, Nedavno sam izgradio uslugu pod nazivom YouTube Sight koja može izdvojiti podatke o pretplatnicima iz YouTube Analytics API -ja i dati vam tačniji broj pretplatnika otkako je YouTube počeo prikupljati rezultate. Pomoću nje sam napravio primjer skice, ali sam također želio napraviti Arduino biblioteku kako bi je ljudi lakše koristili.

Korak 1: Šta je biblioteka?

Šta je biblioteka?
Šta je biblioteka?

Biblioteka je dio koda koji može rukovati određenom operacijom, obraditi vrstu podataka ili može znati kako stupiti u interakciju s određenim hardverskim elementom. Omogućuju nam jednostavno proširenje Arduino okruženja, a postoji mnogo njih koji dolaze unaprijed instalirani s Arduino IDE-om.

U slučajevima poput mog, gdje želimo dodati nove mogućnosti Arduinu, možemo stvoriti vlastite biblioteke za druge ljude koji će ih koristiti. Sve instalirane biblioteke žive u određenom folderu na našem računaru. U mom slučaju za Windows PC, biblioteke se nalaze u fascikli Documents/Arduino. Potpuna putanja će biti specifična za vas, na osnovu vašeg korisničkog imena.

Korak 2: Struktura biblioteke i datoteke

Struktura biblioteke i datoteke
Struktura biblioteke i datoteke

Da bismo započeli s izgradnjom naše biblioteke, prvo moramo ovdje stvoriti mapu s imenom, tako da sam stvorio mapu pod nazivom YouTube Sight. U minimalnoj verziji biblioteke moramo imati najmanje dvije datoteke.

Prva je takozvana datoteka „zaglavlja“koja sadrži sve definicije metoda i svojstava koje pruža naša biblioteka, a druga je izvorna datoteka koja će sadržavati sav izvorni kod.

Datoteke zaglavlja imaju ekstenziju “.h”, dok izvorna datoteka ima ekstenziju “.cpp” i obično imaju naziv biblioteke kao naziv datoteke. U mom slučaju, dvije datoteke se zovu “YouTubeSight.h” i “YouTubeSight.cpp”.

Proces pisanja koda biblioteke može biti pomalo dosadan i frustrirajući, pogotovo kada pišete biblioteku po prvi put, ali uz puno pokušaja i grešaka možete postići željene rezultate. Zbog toga ću vas provesti kroz gotov kod za dvije datoteke i objasniti ga.

Cijeli kôd i biblioteka dostupni su za preuzimanje sa GitHub-a na sljedećoj poveznici:

Korak 3: Datoteka zaglavlja

Zaglavlje datoteka
Zaglavlje datoteka
Zaglavlje datoteka
Zaglavlje datoteka
Zaglavlje datoteka
Zaglavlje datoteka

Unutar datoteke zaglavlja, na početku, cijela datoteka je omotana unutar "ifndef" izraza koji provjerava je li navedena varijabla definirana ili nije. Ovo će spriječiti greške za svakoga tko koristi biblioteku ako je greškom dva puta uključi u istu skicu.

Zatim moramo uključiti osnovnu Arduino biblioteku, a budući da ćemo raditi s nekom vrstom HTTP klijenta za slanje zahtjeva na YouTube Sight, uključit ćemo i osnovnu biblioteku klijenta.

Prije nego počnemo pisati sadržaj naše glavne klase, moramo definirati sve statičke varijable i postavke koje ne želimo mijenjati. U mom slučaju postoje dvije takve varijable. Glavni URL usluge YouTube Sight i varijabla vremenskog ograničenja koju ćemo koristiti za provjeru koliko dugo čitamo vrijednost.

Također u ovom odjeljku možemo definirati sve prilagođene tipove koje želimo koristiti, poput ove strukture statistike kanala u koju ćemo spremiti rezultate.

Definicija strukture klase podijeljena je u dva dijela. Prvi dio je definicija svih javnih funkcija i svojstava, a drugi je definicija svih privatnih funkcija i svojstava. Razlika između oba je u tome što krajnji korisnici naše biblioteke neće moći izravno koristiti ništa iz privatnog odjeljka, dok će moći izravno izmijeniti i koristiti bilo koja svojstva i funkcije iz javnog dijela.

U javnom odjeljku definiramo konstruktor klase, varijablu channelStats u koju ćemo pohraniti rezultate, funkciju koja će dobiti podatke i svojstvo za otklanjanje grešaka koje kasnije možemo koristiti za provjeru slučajeva u kojima možda nećemo dobiti očekivane rezultate.

Za privatna svojstva definirat ćemo jedan za spremanje GUID -a kanala, pokazivač na HTTP klijent koji ćemo koristiti i funkciju koja će razdvojiti vraćeni niz iz YouTube Sight -a.

Korak 4: Izvorna datoteka

Izvorna datoteka
Izvorna datoteka
Izvorna datoteka
Izvorna datoteka

Pogledajmo sada stvarnu implementaciju svega ovoga unutar izvorne datoteke.

Prvi korak za nas je uključivanje vlastite datoteke zaglavlja koju smo upravo stvorili, a zatim moramo definirati konstruktor biblioteke. U njemu prosljeđujemo dvije varijable. GUID se sprema u privatnu varijablu koju smo ranije definirali, a klijent se prosljeđuje referencom tako da tada možemo pozvati istu instancu koju smo dobili.

Glavna funkcija biblioteke getData je definirana sljedećom specifikacijom vrste povratka, a zatim imenom biblioteke i imenom funkcije. Neću ulaziti u detalje o tome što svaka linija radi u ovoj funkciji, ali općenito, funkcija otvara vezu sa poslužiteljem YouTube Sight, šalje zahtjev za dobivanje statistike i zatim analizira vraćene podatke uz pomoć privatnu funkciju getValue.

Dohvaćeni rezultati tada se postavljaju na varijablu channelStats i vraća se indikator ako smo uspjeli dohvatiti rezultate ili ne i s tim je jezgra naše biblioteke kompletna.

Korak 5: Pružanje primjera skica

Pružanje primjera skica
Pružanje primjera skica

Obično vi, svaka biblioteka nudi primjere koje možete brzo učitati i upotrijebiti za prikaz onoga što biblioteka može učiniti i kako to učiniti. Da bismo pružili takve primjere, moramo izmijeniti strukturu biblioteke gdje će sada zaglavlje i izvorna datoteka biti u mapi "src", a nova mapa će biti dodana pod korijenom biblioteke pod nazivom "primjeri".

Svaka Arduino skica koju postavite u ovu mapu poslužit će se iz Arduino IDE -a kao primjer za vašu biblioteku, a ljudi je mogu brzo istražiti i naučiti kako biblioteka funkcionira.

Korak 6: Objavljivanje u Upravitelju biblioteke

Objavljivanje u Upravitelju biblioteke
Objavljivanje u Upravitelju biblioteke

Da bi koristili biblioteku, ljudi će morati jednostavno uključiti datoteku zaglavlja vaše biblioteke u svoju skicu, a Arduino IDE će je izgraditi zajedno s njom. No kako bi to učinili, prvo će ih morati instalirati na svoje strojeve.

Uobičajen način je da preuzmete biblioteku sa GitHub -a i instalirate je putem ZIP instalacionog programa u IDE -u ili je jednostavno postavite u fasciklu biblioteke kao što smo to činili kada smo je stvarali. Međutim, Arduino IDE također uključuje alat koji se naziva Upravitelj biblioteke i omogućava vam pretraživanje biblioteke izravno iz IDE -a.

Da bismo vašu biblioteku uključili u nju, prvo moramo stvoriti dodatnu datoteku u korijenskoj mapi koja se zove “library.properties” i u njoj moramo navesti naziv biblioteke, trenutnu verziju i neke dodatne informacije koje će pomoći upravitelju biblioteke za prikaz boljih informacija o tome.

Kad je datoteka na mjestu, potrebno je stvoriti problem na stranici Arduino GitHub koja jednostavno traži da vaša biblioteka bude uključena u indeks sa vezom do nje, a nakon što je odobri i doda osoblje Arduina, upravitelj biblioteke će počnite nuditi svoju biblioteku u rezultatima. Osim toga, upravitelj će ubuduće tražiti sve oznake verzija u GitHub repo -u i ponuditi ažuriranje ljudima koji ga koriste kada dođe do promjena.

Korak 7: Sljedeći koraci

Nadam se da ćete nakon ovog Instructable -a bolje razumjeti kako Arduino biblioteke rade, kako možete stvoriti jednu i što je najvažnije, nadam se da ćete se nadahnuti da počnete raditi na svojoj sljedećoj velikoj ideji.

Za sva dodatna pitanja ili prijedloge slobodno napišite u komentarima, pretplatite se na moj YouTube kanal i pratite me ovdje na Instructables.

Preporučuje se: