INHOUDSOPGAWE:
- Stap 1: Wat is 'n biblioteek?
- Stap 2: Biblioteekstruktuur en lêers
- Stap 3: Die koptekstlêer
- Stap 4: Die bronlêer
- Stap 5: Voorsien sketse
- Stap 6: Publiseer aan die biblioteekbestuurder
- Stap 7: Volgende stappe
Video: Maak 'n Arduino -biblioteek vir YouTube Sight: 7 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Haai almal, Ek het onlangs 'n diens genaamd YouTube Sight gebou wat intekenaarsdata uit die YouTube Analytics API kan onttrek en u meer akkurate intekenertellings kan gee sedert YouTube die resultate begin saamstel het. Daarmee het ek 'n voorbeeldskets gebou, maar ek wou ook 'n Arduino -biblioteek maak sodat mense dit makliker kan gebruik.
Stap 1: Wat is 'n biblioteek?
'N Biblioteek is 'n stuk kode wat 'n spesifieke operasie kan hanteer, 'n tipe data kan verwerk of kan weet hoe om met 'n spesifieke hardeware -element om te gaan. Dit stel ons in staat om die Arduino-omgewing maklik uit te brei, en daar is baie wat vooraf met die Arduino IDE geïnstalleer is.
In gevalle soos myne, waar ons nuwe moontlikhede by die Arduino wil voeg, kan ons ons eie biblioteke skep sodat ander dit kan gebruik. Al die geïnstalleerde biblioteke woon in 'n spesifieke gids op ons rekenaar. In my geval vir die Windows -rekenaar, woon die biblioteke onder die dokumente/Arduino -lêergids. Die volledige pad sal spesifiek vir u wees, gebaseer op u gebruikersnaam.
Stap 2: Biblioteekstruktuur en lêers
Om ons biblioteek te begin bou, moet ons eers 'n gids hier met die naam daarvan skep, sodat ek 'n gids met die naam YouTube Sight geskep het. In die minimum weergawe van die biblioteek moet ons ten minste twee lêers hê.
Die eerste een is 'n sogenaamde 'kop' -lêer wat al die definisies bevat van die metodes en eienskappe wat ons biblioteek bied, en die tweede een is die bronlêer wat al die bronkode bevat.
Die koplêers het 'n uitbreiding van ".h", terwyl die bronlêer die ".cpp" -uitbreiding het en gewoonlik die naam van die biblioteek as die lêernaam het. In my geval word die twee lêers 'YouTubeSight.h' en 'YouTubeSight.cpp' genoem.
Die proses om die biblioteekkode te skryf, kan 'n bietjie vervelig en frustrerend wees, veral as u 'n biblioteek vir die eerste keer skryf, maar met baie probeer en foute kan u die gewenste resultate behaal. Daarom sal ek u deur die voltooide kode van die twee lêers lei en dit verduidelik.
Die volledige kode en die biblioteek kan op GitHub afgelaai word op die volgende skakel:
Stap 3: Die koptekstlêer
Aan die begin is die hele lêer in die koplêer toegedraai in 'n 'ifndef' -verklaring wat kyk of die veranderlike gedefinieer is of nie. Dit sal foute voorkom vir almal wat die biblioteek gebruik as hulle dit per ongeluk twee keer in dieselfde skets insluit.
Vervolgens moet ons die basiese Arduino -biblioteek insluit, en aangesien ons met 'n soort HTTP -kliënt sal saamwerk om die versoek na YouTube Sight te stuur, sal ons ook die basiese kliëntbiblioteek insluit.
Voordat ons die inhoud van ons hoofklas begin skryf, moet ons enige statiese veranderlikes en instellings definieer wat ons nie wil verander nie. In my geval is daar twee sulke veranderlikes. Die hoof -URL van die YouTube Sight -diens en die time -out -veranderlike wat ons sal gebruik om te kyk hoe lank ons 'n waarde lees.
Ook in hierdie afdeling kan ons enige aangepaste tipes definieer wat ons wil gebruik, soos hierdie kanaalstatistieke struktuur waarop ons die resultate sal stoor.
Die definisie van die klasstruktuur word in twee dele verdeel. Die eerste deel is die definisie van al die openbare funksies en eiendomme en die tweede een is die definisie van al die privaat funksies en eiendomme. Die verskil tussen beide is dat die eindgebruikers van ons biblioteek niks uit die privaat afdeling direk kan gebruik nie, terwyl hulle enige van die eiendomme en funksies van die openbare deel direk kan verander en gebruik.
In die publieke afdeling definieer ons die klaskonstrukteur, die veranderlike channelStats waar ons die resultate sal stoor, die funksie wat die data sal kry en 'n ontfoutingseiendom wat ons later kan gebruik om te kyk of daar nie die verwagte resultate is nie.
Vir die private eiendomme definieer ons een vir die stoor van die kanaal -GUID, 'n wyser na die HTTP -kliënt wat ons sal gebruik en 'n funksie wat die teruggekeerde string van YouTube Sight verdeel.
Stap 4: Die bronlêer
Kom ons kyk nou na die werklike implementering van dit alles in die bronlêer.
Die eerste stap vir ons is om ons eie koplêer wat ons pas geskep het, in te sluit, en dan moet ons die biblioteekkonstrukteur definieer. Daarin slaag ons twee veranderlikes. Die GUID word gestoor in die private veranderlike wat ons vroeër gedefinieer het, en die kliënt word deur verwysing deurgegee, sodat ons dieselfde instansie wat ons gekry het, kan noem.
Die belangrikste getData -funksie van die biblioteek word vervolgens gedefinieer deur eers die retourtipe te spesifiseer, gevolg deur die biblioteeknaam en die funksienaam. Ek sal nie in detail gaan oor wat elke enkele reël in hierdie funksie doen nie, maar oor die algemeen maak die funksie 'n verbinding met die YouTube Sight -bediener, stuur die versoek om die statistieke te kry en ontleed dan die teruggestuurde data met behulp van die private getValue -funksie.
Die opgehaalde resultate word dan ingestel op die veranderlike channelStats en 'n aanduiding word teruggekeer as ons daarin slaag om die resultate op te haal of nie, en daarmee is die kern van ons biblioteek voltooi.
Stap 5: Voorsien sketse
Gewoonlik bied elke biblioteek voorbeelde wat u vinnig kan laai en gebruik om te wys wat die biblioteek kan doen en hoe u dit moet doen. Om sulke voorbeelde te gee, moet ons die biblioteekstruktuur verander waar die kop en die bronlêer in 'n 'src' -lêergids sal wees en 'n nuwe gids sal bygevoeg word onder die biblioteekwortel genaamd' voorbeelde '.
Elke Arduino -skets wat u in hierdie gids plaas, word uit die Arduino IDE as voorbeeld vir u biblioteek bedien, en mense kan dit vinnig verken en leer hoe die biblioteek werk.
Stap 6: Publiseer aan die biblioteekbestuurder
Om die biblioteek te gebruik, moet mense eenvoudig die koplêer van u biblioteek in hul skets insluit, en die Arduino IDE sal dit daarmee saamstel. Maar om dit te kan doen, moet hulle dit eers op hul masjiene installeer.
'N Algemene manier is om die biblioteek van GitHub af te laai en dit deur die ZIP -installeerder in die IDE te installeer of dit eenvoudig in die biblioteekmap te plaas, soos ons gedoen het toe ons dit geskep het. Die Arduino IDE bevat egter ook 'n instrument, genaamd die Library Manager, waarmee u direk vanaf die IDE na 'n biblioteek kan soek.
Om u biblioteek daarin te kan insluit, moet ons eers 'n ekstra lêer in die wortelmap met die naam "library.properties" skep, en die biblioteeknaam, die huidige weergawe en 'n paar ekstra inligting wat die biblioteekbestuurder kan help, spesifiseer. om beter inligting daaroor te vertoon.
Met die lêer in plek, moet 'n probleem op die Arduino GitHub -bladsy geskep word wat net vra dat u biblioteek in die indeks opgeneem word met die skakel daarna, en sodra dit deur die Arduino -personeel goedgekeur en bygevoeg is, sal die biblioteekbestuurder begin om u biblioteek in die resultate aan te bied. Boonop sal die bestuurder in die toekoms na weergawemerkers in die GitHub -repo soek en 'n opdatering aanbied aan mense wat dit gebruik sodra daar veranderings is.
Stap 7: Volgende stappe
Ek hoop dat u na hierdie instruksies 'n beter begrip het van hoe Arduino -biblioteke werk, hoe u een kan skep, en die belangrikste: ek hoop dat u geïnspireer word om aan u volgende groot idee te begin werk.
Vir enige verdere vrae of voorstelle, skryf dit gerus in die kommentaar, teken in op my YouTube -kanaal en volg my hier op Instructables.
Aanbeveel:
Sight Reading Tutor met Makey Makey en Scratch: 3 stappe
Sight Reading Tutor met Makey Makey en Scratch: Om vir kinders te leer lees, is 'n uitdaging vir baie kinders, my seun is een daarvan. Ons het verskillende tegnieke wat ons aanlyn gevind het, probeer om te probeer, maar nie een van hulle was besonder " pret " in sy oë. Dit het ook nie gehelp dat ek nie lees nie
Maak 'n DSLR -houer vir minder as 6 $ met behulp van PVC -pype (monopod/driepoot vir enige kamera): 6 stappe
Maak 'n DSLR -houer vir minder as 6 $ met behulp van PVC -pype (monopod/driepoot vir enige kamera): Ja …. U kan u eie maak met net 'n paar PVC -pype en T's Dit is liggewig … dit is perfek gebalanseerd … dit is solied sterk … Dit is vriendelik vir aanpassings … Ek is Sooraj Bagal en ek deel my ervaring met hierdie kamera -houer wat ek geskep het vir
Musiekreaktiewe lig -- Hoe om 'n super -eenvoudige musiekreaktiewe lig te maak vir die maak van 'n tafelblad: 5 stappe (met foto's)
Musiekreaktiewe lig || Hoe om 'n super -eenvoudige musiekreaktiewe lig te maak om lessenaars te maak: Hallo ouens, vandag bou ons 'n baie interessante projek. Vandag gaan ons musiek reaktiewe lig bou. Die LED sal sy helderheid verander volgens die bas wat eintlik 'n lae-frekwensie klanksein is. Dit is baie eenvoudig om te bou. Ons sal
Instruksies vir die maak van 'n vierstaaf -koppeling vir voetsteun in die middel: 9 stappe (met foto's)
Instruksies vir die maak van 'n viertrekstang vir voetsteun in die middel: middelwielaangedrewe rolstoele (PWC) het die afgelope paar jaar gewilder geword. As gevolg van die plasing van die voorste wiele, is die tradisionele voetstutte aan die sykant egter vervang deur 'n enkele voetsteun in die middel. Ongelukkig is die sentrum
Hoe om 'n klankstelsel vir 'n winkelwaentjie vir straatpartytjies te maak: 10 stappe
Hoe om 'n winkelkar-klankstelsel vir straatpartytjies te maak: hierdie instruksie sal u die stappe wys om 'n selfstandige mobiele klanksisteem in 'n inkopiemandjie te skep. Hierdie opset kan gebruik word vir allerhande openbare byeenkomste, insluitend protesoptredes, Street Dance -partytjies, Parkling Lot Rap Battles en selfs meer