Innehållsförteckning:

Gör ett Arduino -bibliotek för YouTube Sight: 7 steg
Gör ett Arduino -bibliotek för YouTube Sight: 7 steg

Video: Gör ett Arduino -bibliotek för YouTube Sight: 7 steg

Video: Gör ett Arduino -bibliotek för YouTube Sight: 7 steg
Video: Lesson 01 Arduino Boards | Robojax Arduino Step By Step Course 2024, November
Anonim
Image
Image
Vad är ett bibliotek?
Vad är ett bibliotek?

Hej allihopa, Jag har nyligen byggt en tjänst som heter YouTube Sight som kan extrahera prenumerationsdata från YouTube Analytics API och ge dig mer exakta abonnentantal sedan YouTube började aggregera resultaten. Med det har jag byggt en exempelskiss men jag ville också göra ett Arduino -bibliotek så att människor lättare kan använda det.

Steg 1: Vad är ett bibliotek?

Vad är ett bibliotek?
Vad är ett bibliotek?

Ett bibliotek är en kodbit som kan hantera en specifik operation, bearbeta en typ av data eller kan veta hur man interagerar med ett specifikt maskinvaruelement. De tillåter oss att enkelt utöka Arduino-miljön och det finns många av dem som kommer förinstallerade med Arduino IDE.

I fall som mitt, där vi vill lägga till nya möjligheter till Arduino, kan vi skapa våra egna bibliotek för andra människor att använda dem. Alla installerade bibliotek finns i en specifik mapp på vår dator. I mitt fall för Windows -datorn lever biblioteken under mappen Dokument/Arduino. Hela sökvägen är specifik för dig, baserat på ditt användarnamn.

Steg 2: Bibliotekets struktur och filer

Bibliotekets struktur och filer
Bibliotekets struktur och filer

För att börja bygga vårt bibliotek måste vi först skapa en mapp här med namnet på det så jag har skapat en mapp som heter YouTube Sight. I den lägsta versionen av biblioteket måste vi ha minst två filer.

Den första är en så kallad "header" -fil som innehåller alla definitioner av de metoder och egenskaper som vårt bibliotek tillhandahåller, och den andra är källfilen som innehåller all källkod.

Rubrikfilerna har ett tillägg på ".h" medan källfilen har ett tillägg på ".cpp" och de har vanligtvis bibliotekets namn som filnamn. I mitt fall kallas de två filerna "YouTubeSight.h" och "YouTubeSight.cpp".

Processen att skriva bibliotekskoden kan vara lite tråkig och frustrerande, särskilt när du skriver ett bibliotek för första gången, men med mycket försök och fel kan du uppnå önskat resultat. På grund av det kommer jag att guida dig genom den färdiga koden för de två filerna och förklara det.

Hela koden och biblioteket finns att ladda ner från GitHub på följande länk:

Steg 3: Rubrikfilen

Rubrikfilen
Rubrikfilen
Rubrikfilen
Rubrikfilen
Rubrikfilen
Rubrikfilen

Inne i huvudfilen, i början, är hela filen insvept i en "ifndef" -uttalning som kontrollerar om den angivna variabeln är definierad eller inte. Detta förhindrar fel för alla som använder biblioteket om de av misstag inkluderar det två gånger i samma skiss.

Därefter måste vi inkludera bas -Arduino -biblioteket och eftersom vi kommer att arbeta med en HTTP -klient av något slag för att skicka in begäran till YouTube Sight kommer vi också att inkludera basklientbiblioteket.

Innan vi börjar skriva innehållet i vår huvudklass måste vi definiera eventuella statiska variabler och inställningar som vi inte vill ändra. I mitt fall finns det två sådana variabler. Huvudadressen till YouTube Sight -tjänsten och timeout -variabeln som vi kommer att använda för att kontrollera hur länge vi läser ett värde.

Även i det här avsnittet kan vi definiera alla anpassade typer som vi vill använda som denna kanalStatistikstruktur som vi kommer att spara resultaten till.

Klassstrukturdefinitionen är uppdelad i två delar. Den första delen är definitionen av alla offentliga funktioner och fastigheter och den andra är definitionen av alla privata funktioner och fastigheter. Skillnaden mellan båda är att slutanvändarna av vårt bibliotek inte kommer att kunna använda någonting från den privata sektionen direkt medan de kommer att kunna direkt ändra och använda någon av egenskaperna och funktionerna från den offentliga delen.

I det offentliga avsnittet definierar vi klasskonstruktorn, variabeln channelStats där vi kommer att lagra resultaten, funktionen som kommer att hämta data och en felsökningsegenskap som vi senare kan använda för att kontrollera fall där vi kanske inte får de förväntade resultaten.

För de privata fastigheterna kommer vi att definiera en för att lagra kanal -GUID, en pekare till HTTP -klienten som vi kommer att använda och en funktion som delar den returnerade strängen från YouTube Sight.

Steg 4: Källfilen

Källfilen
Källfilen
Källfilen
Källfilen

Låt oss nu undersöka den faktiska implementeringen av allt detta i källfilen.

Det första steget för oss är att inkludera vår egen rubrikfil som vi just skapade och sedan måste vi definiera bibliotekskonstruktorn. I det passerar vi två variabler. GUID sparas i den privata variabeln som vi definierade tidigare och klienten skickas som referens så att vi sedan kan ringa samma instans som vi fick.

Bibliotekets huvudsakliga getData -funktion definieras sedan genom att först ange returtypen, följt av bibliotekets namn och funktionsnamnet. Jag kommer inte att gå in på detaljer om vad varje rad gör i den här funktionen, men i allmänhet öppnar funktionen en anslutning till YouTube Sight -servern, skickar in begäran om att få statistiken och analyserar sedan den returnerade informationen med hjälp av den privata getValue -funktionen.

De hämtade resultaten ställs sedan in på variabeln channelStats och en indikator returneras om vi lyckades hämta resultaten eller inte och därmed är kärnan i vårt bibliotek komplett.

Steg 5: Ge exempelskisser

Tillhandahåller exempelskisser
Tillhandahåller exempelskisser

Vanligtvis ger varje bibliotek exempel som du snabbt kan ladda upp och använda för att visa vad biblioteket kan göra och hur du gör det. För att tillhandahålla sådana exempel måste vi ändra biblioteksstrukturen där nu rubriken och källfilen kommer att finnas i en "src" -mapp och en ny mapp kommer att läggas till under bibliotekets rot som kallas "exempel".

Alla Arduino -skisser som du lägger in i den här mappen kommer att serveras från Arduino IDE som ett exempel för ditt bibliotek och människor kan snabbt utforska det och lära sig hur biblioteket fungerar.

Steg 6: Publicera till Library Manager

Publicerar till bibliotekschefen
Publicerar till bibliotekschefen

För att använda biblioteket måste människor helt enkelt inkludera rubrikfilen i ditt bibliotek i sin skiss och Arduino IDE kommer att bygga det tillsammans med det. Men för att kunna göra det måste de först installera det på sina maskiner.

Ett vanligt sätt är att ladda ner biblioteket från GitHub och installera det via ZIP -installationsprogrammet i IDE eller helt enkelt placera det i biblioteksmappen som vi gjorde när vi skapade det. Arduino IDE innehåller dock också ett verktyg som kallas Library Manager som låter dig söka efter ett bibliotek direkt från IDE.

För att inkludera ditt bibliotek i det måste vi först skapa en ytterligare fil i rotmappen som heter "library.properties" och i den måste vi ange bibliotekets namn, den aktuella versionen och ytterligare information som hjälper bibliotekshanteraren för att visa bättre information om det.

Med filen på plats måste ett problem skapas på Arduino GitHub -sidan som helt enkelt ber om att ditt bibliotek ska inkluderas i indexet med länken till den och när den har godkänts och lagts till av Arduino -personalen kommer bibliotekschefen att börja erbjuda ditt bibliotek i resultaten. Dessutom kommer chefen att leta efter eventuella versionstaggar i GitHub -lagret i framtiden och erbjuda en uppdatering till personer som använder det när det finns ändringar.

Steg 7: Nästa steg

Jag hoppas att du efter denna Instructable har en bättre förståelse för hur Arduino -bibliotek fungerar, hur du kan skapa ett och viktigast av allt, jag hoppas att du blir inspirerad att börja arbeta med din nästa stora idé.

För ytterligare frågor eller förslag, skriv gärna ner i kommentarerna, prenumerera på min YouTube -kanal och följ mig här på Instructables.

Rekommenderad: