Sadržaj:
- Korak 1: Što je knjižnica?
- Korak 2: Struktura knjižnice i datoteke
- Korak 3: Datoteka zaglavlja
- Korak 4: Izvorna datoteka
- Korak 5: Pružanje primjera skica
- Korak 6: Objavljivanje u Upravitelju knjižnice
- Korak 7: Sljedeći koraci
Video: Izrada Arduino knjižnice za YouTube pogled: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:34
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?
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
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
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
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
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
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:
Nvidia Jetson Nano Vodič - Prvi pogled s AI & ML: 7 koraka
Nvidia Jetson Nano Vodič | Prvi pogled s AI & ML: Hej, što ima ljudi! Akarsh ovdje iz CETech -a. Danas ćemo pogledati novi SBC iz Nvidije koji je Jetson Nano, Jetson Nano je fokusiran na tehnike umjetne inteligencije poput prepoznavanja slika itd. Prvo ćemo pokrenuti
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 Bluetooth zvučnik bio kompatibilan sa starim zvučnikom.*Ako niste pročitali moje prve upute o &"izradi Bluetooth adapter " Predlažem da to učinite prije nego nastavite. C
Povežite svoj Pi bez glave s WiFi mrežom knjižnice: 7 koraka
Povežite svoj Pi bez glave s WiFi mrežom knjižnice: Koliko ste puta htjeli raditi na svojim projektima Raspberry Pi bez glave u lokalnoj knjižnici, samo da biste se zaglavili jer otvorena mreža WiFi zahtijeva da koristite preglednik? Ne brinite više, ovaj Instructable je tu da vam pomogne! Mi ćemo
Stari telefon za pokretno kretanje! Pogled iz svemira!: 4 koraka
Stari telefon za pokretno kretanje! Pogled iz svemira !: Nadograđujem telefone i mislio sam da bi stari telefon morao biti zabavan … bizarna kombinacija Dana planeta Zemlje, kišnog dana, natjecanja Instructables o svemiru i nedavnog članka o ISS HD Zemlji Gledanje eksperimenta natjeralo me da sastavim
Izrada malih robota: izrada mikro-sumo robota od jednog kubičnog inča i manji: 5 koraka (sa slikama)
Izrada malih robota: Izrada mikro-sumo robota od jednog kubičnog inča i manjih: Evo nekoliko detalja o izgradnji sićušnih robota i sklopova. Ova instrukcija ć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