Sadržaj:

Izrada Arduino knjižnice za YouTube pogled: 7 koraka
Izrada Arduino knjižnice za YouTube pogled: 7 koraka

Video: Izrada Arduino knjižnice za YouTube pogled: 7 koraka

Video: Izrada Arduino knjižnice za YouTube pogled: 7 koraka
Video: SKR 1.4 - TMC2208 UART v3.0 2024, Studeni
Anonim
Image
Image
Što je knjižnica?
Što je knjižnica?

Pozdrav svima, Nedavno sam izgradio uslugu pod nazivom YouTube Sight koja može izdvojiti podatke o pretplatnicima iz YouTube Analytics API -ja i dati vam toč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: Što je knjižnica?

Što je knjižnica?
Što je knjižnica?

Knjižnica je dio koda koji može obraditi određenu operaciju, 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 knjižnice za druge ljude koji će ih koristiti. Sve instalirane knjižnice žive u određenoj mapi na našem računalu. U mom slučaju za računalo sa sustavom Windows, knjižnice se nalaze u mapi Dokumenti/Arduino. Cijeli put bit će specifičan za vas, na temelju vašeg korisničkog imena.

Korak 2: Struktura knjižnice i datoteke

Struktura i datoteke knjižnice
Struktura i datoteke knjižnice

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

Prva je takozvana "zaglavna" datoteka koja sadrži sve definicije metoda i svojstava koje pruža naša knjižnica, a druga je izvorna datoteka koja će sadržavati sav izvorni kod.

Zaglavne datoteke imaju proširenje ".h", dok izvorna datoteka ima nastavak ".cpp" i obično imaju naziv knjižnice kao naziv datoteke. U mom slučaju, dvije datoteke se zovu “YouTubeSight.h” i “YouTubeSight.cpp”.

Postupak pisanja knjižničnog koda može biti pomalo dosadan i frustrirajući, osobito kada pišete knjižnicu po prvi put, ali uz puno pokušaja i pogrešaka možete postići željene rezultate. Zbog toga ću vas provesti kroz gotov kôd dviju datoteka i objasniti ga.

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

Korak 3: Datoteka zaglavlja

Datoteka zaglavlja
Datoteka zaglavlja
Datoteka zaglavlja
Datoteka zaglavlja
Datoteka zaglavlja
Datoteka zaglavlja

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

Zatim moramo uključiti osnovnu Arduino knjižnicu, 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 timeout koje ćemo koristiti za provjeru koliko dugo čitamo vrijednost.

Također u ovom odjeljku možemo definirati sve prilagođene vrste 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 obojega je u tome što krajnji korisnici naše knjižnice neće moći izravno koristiti ništa iz privatnog odjeljka, dok će moći izravno mijenjati 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 pogreš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 odvojiti vraćeni niz od 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 knjižnice. U njemu prosljeđujemo dvije varijable. GUID se sprema u privatnu varijablu koju smo definirali ranije, a klijent se prosljeđuje referencom tako da tada možemo pozvati istu instancu koju smo dobili.

Glavna funkcija biblioteke getData definirana je sljedećim navođenjem vrste povratka, a zatim imenom knjižnice i nazivom funkcije. Neću ulaziti u detalje o tome što svaki redak 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 prikazuje se pokazatelj ako smo uspjeli dohvatiti rezultate ili ne i s tim je jezgra naše biblioteke potpuna.

Korak 5: Pružanje primjera skica

Pružanje primjera skica
Pružanje primjera skica

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

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

Korak 6: Objavljivanje u Upravitelju knjižnice

Objavljivanje u Upravitelju knjižnice
Objavljivanje u Upravitelju knjižnice

Da bi koristili knjižnicu, 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 ga morati instalirati na svoje strojeve.

Uobičajen način je da preuzmete knjižnicu s GitHub -a i instalirate je putem ZIP instalacijskog programa u IDE -u ili je jednostavno postavite u mapu knjižnica kao što smo to činili pri stvaranju. Međutim, Arduino IDE također uključuje alat nazvan Upravitelj knjižnice koji vam omogućuje pretraživanje biblioteke izravno iz IDE -a.

Da bismo u nju uključili svoju knjižnicu, prvo moramo stvoriti dodatnu datoteku u korijenskoj mapi pod nazivom “library.properties”, a u njoj moramo navesti naziv knjižnice, trenutnu verziju i neke dodatne informacije koje će pomoći upravitelju knjižnice za prikaz boljih informacija o tome.

Kad je datoteka na mjestu, potrebno je stvoriti problem na stranici Arduino GitHub koja jednostavno traži da se vaša knjižnica uključi u indeks s vezom do nje, a nakon što je odobri i doda osoblje Arduina, upravitelj knjižnice će počnite nuditi svoju knjižnicu u rezultatima. Nadalje, upravitelj će ubuduće tražiti sve oznake verzija u GitHub repo -u i ponuditi ažuriranje ljudima koji ga koriste kad dođe do promjena.

Korak 7: Sljedeći koraci

Nadam se da ćete nakon ovog Instructable -a bolje razumjeti kako Arduino knjižnice rade, kako možete stvoriti jednu i što je najvažnije, nadam se da ćete se nadahnuti za početak rada na 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čeni: