Sadržaj:
- Korak 1: Šta je biblioteka?
- Korak 2: Struktura biblioteke i datoteke
- Korak 3: Datoteka zaglavlja
- Korak 4: Izvorna datoteka
- Korak 5: Pružanje primjera skica
- Korak 6: Objavljivanje u Upravitelju biblioteke
- Korak 7: Sljedeći koraci
Video: Izrada Arduino biblioteke za YouTube Sight: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
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?
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
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
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
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
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
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:
Programiranje Arduina pomoću drugog Arduina za prikaz teksta koji se pomiče bez biblioteke: 5 koraka
Programiranje Arduina pomoću drugog Arduina za prikaz pomicanja teksta bez biblioteke: Sony Spresense ili Arduino Uno nisu toliko skupi i ne zahtijevaju puno energije. Međutim, ako vaš projekt ima ograničenje snage, prostora ili čak proračuna, razmislite o upotrebi Arduino Pro Mini. Za razliku od Arduino Pro Micro, Arduino Pro Mi
Iscrtavanje svjetlosnog intenziteta pomoću Arduina i Pythonove glavne biblioteke Arduino: 5 koraka
Iscrtavanje intenziteta svjetlosti pomoću Arduina i Python -ove Arduino glavne biblioteke: Arduino je ekonomičan, ali vrlo efikasan i funkcionalan alat, a njegovo programiranje u Embedded C -u čini proces stvaranja projekata dosadnim! Arduino_Master modul Pythona to pojednostavljuje i omogućuje nam da vršimo proračune, uklanjamo vrijednosti smeća
Izrada Bluetooth adaptera Pt.2 (Izrada kompatibilnog zvučnika): 16 koraka
Izrada Bluetooth adaptera Pt.2 (Izrada kompatibilnog zvučnika): U ovom uputstvu pokazat ću vam kako koristiti svoj Bluetooth adapter kako bi stari zvučnik bio kompatibilan s Bluetooth -om.*Ako niste pročitali moje prve upute o " Bluetooth adapter " Predlažem da to učinite prije nego nastavite. C
Arduino generator tonova bez biblioteke ili serijskih funkcija (sa prekidima): 10 koraka
Arduino generator tonova bez biblioteke ili serijskih funkcija (sa prekidima): Ovo nije nešto na čemu bih obično imao instrukcije, više volim svoje metalne radove, ali pošto sam student elektrotehnike i moram pohađati predmet o mikrokontrolerima ( Dizajn ugrađenih sistema), mislio sam da ću napraviti instrukciju na jednom od svojih računara
Izrada malih robota: Izrada mikro-sumo robota od jednog kubičnog inča i manji: 5 koraka (sa slikama)
Izgradnja malih robota: izrada mikro-sumo robota od jednog kubičnog inča i manjih: Evo nekoliko detalja o izgradnji sićušnih robota i kola. Ovo uputstvo će obuhvatiti i neke osnovne savjete i tehnike koje su korisne u izgradnji robota bilo koje veličine. Za mene je jedan od velikih izazova u elektronici vidjeti koliko je mali