Indholdsfortegnelse:
- Trin 1: Hvad er et bibliotek?
- Trin 2: Bibliotekstruktur og filer
- Trin 3: Hovedfilen
- Trin 4: Kildefilen
- Trin 5: Tilvejebringelse af eksempelskitser
- Trin 6: Offentliggørelse til Library Manager
- Trin 7: Næste trin
Video: Lav et Arduino -bibliotek til YouTube Sight: 7 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
Hej allesammen, Jeg har for nylig bygget en service kaldet YouTube Sight, der kan udtrække abonnentdata fra YouTube Analytics API og give dig mere præcise abonnenttællinger, siden YouTube begyndte at samle resultaterne. Med det har jeg bygget en eksempelskitse, men jeg ville også lave et Arduino -bibliotek, så folk lettere kan bruge det.
Trin 1: Hvad er et bibliotek?
Et bibliotek er et stykke kode, der kan håndtere en bestemt operation, behandle en type data eller kan vide, hvordan man interagerer med et specifikt hardwareelement. De giver os mulighed for let at udvide Arduino-miljøet, og der er mange af dem, der leveres forudinstalleret med Arduino IDE.
I tilfælde som mit, hvor vi vil tilføje nye muligheder til Arduino, kan vi oprette vores egne biblioteker, så andre mennesker kan bruge dem. Alle de installerede biblioteker bor i en bestemt mappe på vores computer. I mit tilfælde til Windows -pc'en lever bibliotekerne under mappen Dokumenter/Arduino. Den fulde sti vil være specifik for dig baseret på dit brugernavn.
Trin 2: Bibliotekstruktur og filer
For at begynde at bygge vores bibliotek skal vi først oprette en mappe her med navnet på det, så jeg har oprettet en mappe kaldet YouTube Sight. I den minimale version af biblioteket skal vi have mindst to filer.
Den første er en såkaldt "header" -fil, der indeholder alle definitionerne af de metoder og egenskaber, vores bibliotek giver, og den anden er kildefilen, der vil indeholde hele kildekoden.
Overskriftsfiler har en udvidelse af ".h", mens kildefilen har en udvidelse af ".cpp", og de har normalt bibliotekets navn som filnavn. I mit tilfælde kaldes de to filer "YouTubeSight.h" og "YouTubeSight.cpp".
Processen med at skrive bibliotekskoden kan være lidt kedelig og frustrerende, især når du skriver et bibliotek for første gang, men med en masse forsøg og fejl kan du opnå de ønskede resultater. På grund af det vil jeg guide dig gennem den færdige kode for de to filer og forklare det.
Den fulde kode og biblioteket kan downloades fra GitHub på følgende link:
Trin 3: Hovedfilen
Inde i headerfilen, i begyndelsen, er hele filen pakket ind i en "ifndef" -sætning, der kontrollerer, om den angivne variabel er defineret eller ej. Dette forhindrer fejl for alle, der bruger biblioteket, hvis de ved en fejltagelse inkluderer det to gange i den samme skitse.
Dernæst skal vi inkludere det basale Arduino -bibliotek, og da vi vil arbejde med en slags HTTP -klient for at sende anmodningen til YouTube Sight, inkluderer vi også basisklientbiblioteket.
Inden vi begynder at skrive indholdet i vores hovedklasse, skal vi definere eventuelle statiske variabler og indstillinger, som vi ikke ønsker at blive ændret. I mit tilfælde er der to sådanne variabler. Hovedwebadressen til YouTube Sight -tjenesten og den timeout -variabel, som vi vil bruge til at kontrollere, hvor længe vi læser en værdi.
Også i dette afsnit kan vi definere alle brugerdefinerede typer, som vi ønsker at bruge som denne kanalstatistikstruktur, som vi vil gemme resultaterne til.
Klassestrukturdefinitionen er opdelt i to dele. Den første del er definitionen af alle de offentlige funktioner og ejendomme, og den anden er definitionen af alle de private funktioner og ejendomme. Forskellen mellem begge er, at slutbrugerne af vores bibliotek ikke vil være i stand til at bruge noget fra den private sektion direkte, mens de vil være i stand til direkte at ændre og bruge nogen af egenskaberne og funktionerne fra den offentlige del.
I det offentlige afsnit definerer vi klassekonstruktøren, variablen channelStats, hvor vi vil gemme resultaterne, funktionen, der får dataene og en fejlfindingsegenskab, som vi senere kan bruge til at kontrollere, om vi ikke kan få de forventede resultater.
For de private ejendomme definerer vi en til lagring af kanal -GUID, en markør til den HTTP -klient, vi vil bruge, og en funktion, der deler den returnerede streng fra YouTube Sight.
Trin 4: Kildefilen
Lad os nu se på den faktiske implementering af alt dette inde i kildefilen.
Det første trin for os er at inkludere vores egen header -fil, som vi lige har oprettet, og derefter skal vi definere bibliotekskonstruktøren. I det passerer vi to variabler. GUID'en gemmes i den private variabel, som vi definerede tidligere, og klienten videregives ved reference, så vi derefter kan kalde den samme forekomst, som vi fik.
Bibliotekets vigtigste getData -funktion defineres derefter ved først at angive returtypen efterfulgt af biblioteksnavnet og funktionsnavnet. Jeg vil ikke gå i detaljer om, hvad hver enkelt linje gør i denne funktion, men generelt åbner funktionen en forbindelse til YouTube Sight -serveren, sender anmodningen om at få statistikken og analyserer derefter de returnerede data ved hjælp af den private getValue -funktion.
De hentede resultater indstilles derefter til varianten channelStats, og en indikator returneres, hvis det lykkedes os at hente resultaterne eller ej, og dermed er kernen i vores bibliotek færdig.
Trin 5: Tilvejebringelse af eksempelskitser
Normalt giver hvert bibliotek eksempler, som du hurtigt kan indlæse og bruge til at vise, hvad biblioteket kan, og hvordan du gør det. For at give sådanne eksempler skal vi ændre biblioteksstrukturen, hvor nu overskriften og kildefilen vil være i en "src" -mappe, og en ny mappe vil blive tilføjet under bibliotekets rod kaldet "eksempler".
Enhver Arduino -skitse, du placerer inde i denne mappe, vil blive serveret fra Arduino IDE som et eksempel på dit bibliotek, og folk kan hurtigt udforske det og lære, hvordan biblioteket fungerer.
Trin 6: Offentliggørelse til Library Manager
For at bruge biblioteket skal folk blot inkludere header -filen i dit bibliotek i deres skitse, og Arduino IDE vil bygge det sammen med det. Men for at gøre det skal de først installere det på deres maskiner.
En almindelig måde er at downloade biblioteket fra GitHub og installere det via ZIP -installationsprogrammet i IDE eller blot placere det i biblioteksmappen, som vi gjorde, da vi oprettede det. Arduino IDE indeholder imidlertid også et værktøj, kaldet Library Manager, der giver dig mulighed for at søge efter et bibliotek direkte fra IDE.
For at inkludere dit bibliotek i det skal vi først oprette en ekstra fil i rodmappen kaldet "library.properties" og i den skal vi angive bibliotekets navn, den aktuelle version og nogle yderligere oplysninger, der hjælper biblioteksadministratoren for at vise bedre information om det.
Med filen på plads skal der oprettes et problem på Arduino GitHub -siden, der blot beder om, at dit bibliotek indgår i indekset med linket til det, og når det er godkendt og tilføjet af Arduino -personalet, vil bibliotekschefen begynde at tilbyde dit bibliotek i resultaterne. Derudover vil lederen i fremtiden kigge efter eventuelle versionskoder i GitHub -repoen og tilbyde en opdatering til folk, der bruger det, når der er ændringer.
Trin 7: Næste trin
Jeg håber, at du efter denne Instructable har en bedre forståelse af, hvordan Arduino -biblioteker fungerer, hvordan du kan oprette en og vigtigst af alt, jeg håber, at du bliver inspireret til at begynde at arbejde på din næste store idé.
For yderligere spørgsmål eller forslag er du velkommen til at skrive ned i kommentarerne, abonnere på min YouTube -kanal og følge mig her på Instructables.
Anbefalede:
Den hurtige guide til at lave en video med din iPhone og uploade den til Facebook eller YouTube: 9 trin
Hurtigguide til at lave en video med din iPhone og uploade den til Facebook eller YouTube: Brug denne enkle 5 -trins proces (Instructables får det til at ligne flere trin end det faktisk er) til at oprette og uploade din første YouTube- eller Facebook -video - ved hjælp af bare din iPhone
LoRa Messenger til to enheder til distancer Op til 8 km: 7 trin
LoRa Messenger til to enheder til afstande Op til 8 km: Tilslut projektet til din bærbare computer eller telefon, og chat derefter mellem enhederne uden internet eller SMS ved hjælp af bare LoRa.Hey, hvad sker der gutter? Akarsh her fra CETech. I dag skal vi lave et projekt, der kan forbindes til din smartphone eller en hvilken som helst
1A til 40A nuværende BOOST -konverter til op til 1000W DC -motor: 3 trin
1A til 40A Current BOOST-konverter til op til 1000W DC-motor: Hej! I denne video lærer du, hvordan du laver et strømforstærkerkredsløb til dine høj ampere DC-motorer op til 1000W og 40 ampere med transistorer og en center-tap-transformer. Selvom, strømmen ved udgangen er meget høj, men spændingen bliver r
Lav DSLR -monteringsstativ til mindre end 6 $ ved hjælp af PVC -rør (monopod/stativ til ethvert kamera): 6 trin
Lav DSLR -monteringsstativ til mindre end 6 $ Ved hjælp af PVC -rør (monopod/stativ til ethvert kamera): Ja …. Du kan lave din egen med bare noget PVC -rør og T's Det er let … Det er perfekt afbalanceret … Det er solid stærk … Det er tilpasningsvenligt … Jeg er Sooraj Bagal, og jeg vil dele min erfaring med dette kameraholder, jeg har oprettet til
Overbevis dig selv om bare at bruge en 12V-til-AC-line inverter til LED-lysstrenge i stedet for at genoprette dem til 12V .: 3 trin
Overbevis dig selv om bare at bruge en 12V-til-AC-line inverter til LED-lysstrenge i stedet for at genoprette dem til 12V .: Min plan var enkel. Jeg ville skære en væg-drevet LED-lysstreng i stykker og derefter genkoble den til at køre 12 volt. Alternativet var at bruge en strømomformer, men vi ved alle, at de er frygtelig ineffektive, ikke? Ret? Eller er de det?