Obsah:

Vytvoření knihovny Arduino pro YouTube Sight: 7 kroků
Vytvoření knihovny Arduino pro YouTube Sight: 7 kroků

Video: Vytvoření knihovny Arduino pro YouTube Sight: 7 kroků

Video: Vytvoření knihovny Arduino pro YouTube Sight: 7 kroků
Video: Arduino návody - Ovládání serva 2024, Listopad
Anonim
Image
Image
Co je knihovna?
Co je knihovna?

Ahoj všichni, Nedávno jsem vytvořil službu s názvem YouTube Sight, která dokáže extrahovat data odběratelů z YouTube Analytics API a poskytovat vám přesnější počty odběratelů, protože YouTube začal agregovat výsledky. S ním jsem vytvořil příklad skici, ale chtěl jsem také vytvořit knihovnu Arduino, aby ji lidé mohli snadněji používat.

Krok 1: Co je to knihovna?

Co je knihovna?
Co je knihovna?

Knihovna je kus kódu, který dokáže zpracovat konkrétní operaci, zpracovat typ dat nebo může vědět, jak komunikovat s konkrétním hardwarovým prvkem. Umožňují nám snadno rozšířit prostředí Arduino a existuje mnoho z nich, které jsou předinstalovány s Arduino IDE.

V případech, jako je můj, kde chceme do Arduina přidat nové možnosti, můžeme vytvořit vlastní knihovny, které budou používat ostatní lidé. Všechny nainstalované knihovny žijí v konkrétní složce v našem počítači. V mém případě pro Windows PC knihovny žijí ve složce Documents/Arduino. Úplná cesta bude pro vás konkrétní na základě vašeho uživatelského jména.

Krok 2: Struktura a soubory knihovny

Struktura a soubory knihovny
Struktura a soubory knihovny

Abychom mohli začít budovat naši knihovnu, musíme zde nejprve vytvořit složku s jejím názvem, takže jsem vytvořil složku s názvem YouTube Sight. V minimální verzi knihovny musíme mít alespoň dva soubory.

První z nich je takzvaný „hlavičkový“soubor, který obsahuje všechny definice metod a vlastností, které naše knihovna poskytuje, a druhý je zdrojový soubor, který bude obsahovat veškerý zdrojový kód.

Soubory záhlaví mají příponu „.h“, zatímco zdrojový soubor má příponu „.cpp“a jako název souboru obvykle obsahují název knihovny. V mém případě se tyto dva soubory nazývají „YouTubeSight.h“a „YouTubeSight.cpp“.

Proces psaní kódu knihovny může být trochu zdlouhavý a frustrující, zvláště když píšete knihovnu poprvé, ale se spoustou pokusů a omylů můžete dosáhnout požadovaných výsledků. Z tohoto důvodu vás provedu hotovým kódem těchto dvou souborů a vysvětlím to.

Úplný kód a knihovnu si můžete stáhnout z GitHubu na následujícím odkazu:

Krok 3: Soubor záhlaví

Soubor záhlaví
Soubor záhlaví
Soubor záhlaví
Soubor záhlaví
Soubor záhlaví
Soubor záhlaví

V hlavičkovém souboru je na začátku celý soubor zabalen do příkazu „ifndef“, který kontroluje, zda je zadaná proměnná definována nebo ne. To zabrání chybám pro každého, kdo používá knihovnu, pokud ji omylem zahrnou dvakrát do stejného náčrtu.

Dále musíme zahrnout základní knihovnu Arduino a protože budeme pracovat s nějakým HTTP klientem, který pošle požadavek na YouTube Sight, zahrneme také základní klientskou knihovnu.

Než začneme psát obsah naší hlavní třídy, musíme definovat všechny statické proměnné a nastavení, které nechceme upravovat. V mém případě existují dvě takové proměnné. Hlavní adresa URL služby YouTube Sight a proměnná časového limitu, kterou použijeme ke kontrole, jak dlouho čteme hodnotu.

Také v této sekci můžeme definovat jakékoli vlastní typy, které chceme použít, jako je tato struktura channelStatistics, do které výsledky uložíme.

Definice struktury třídy je rozdělena na dvě části. První část je definicí všech veřejných funkcí a vlastností a druhá část je definicí všech soukromých funkcí a vlastností. Rozdíl mezi oběma je ten, že koncoví uživatelé naší knihovny nebudou moci přímo používat nic ze soukromé sekce, zatímco budou moci přímo upravovat a používat jakékoli vlastnosti a funkce z veřejné části.

Ve veřejné sekci definujeme konstruktor třídy, proměnnou channelStats, kam budeme ukládat výsledky, funkci, která data získá, a vlastnost ladění, kterou můžeme později použít ke kontrole případů, kdy bychom nemuseli dostat očekávané výsledky.

Pro soukromé vlastnosti definujeme jeden pro ukládání GUID kanálu, ukazatel na klienta HTTP, který použijeme, a funkci, která rozdělí vrácený řetězec z YouTube Sight.

Krok 4: Zdrojový soubor

Zdrojový soubor
Zdrojový soubor
Zdrojový soubor
Zdrojový soubor

Nyní se podívejme na skutečnou implementaci toho všeho ve zdrojovém souboru.

Prvním krokem je zahrnout vlastní soubor záhlaví, který jsme právě vytvořili, a poté musíme definovat konstruktor knihovny. V něm předáme dvě proměnné. Identifikátor GUID je uložen do soukromé proměnné, kterou jsme definovali dříve, a klient je předán odkazem, takže můžeme volat stejnou instanci, kterou jsme získali.

Hlavní funkce getData knihovny je definována jako další zadáním návratového typu, následovaným názvem knihovny a názvem funkce. Nebudu se podrobně zabývat tím, co v této funkci dělá každý jednotlivý řádek, ale obecně tato funkce otevírá připojení k serveru YouTube Sight, odešle požadavek na získání statistik a poté analyzuje vrácená data pomocí soukromá funkce getValue.

Načtené výsledky se pak nastaví na proměnnou channelStats a vrátí se indikátor, pokud se nám podařilo načíst výsledky nebo ne a tím je jádro naší knihovny dokončeno.

Krok 5: Poskytnutí příkladů skic

Poskytování příkladů skic
Poskytování příkladů skic

Obvykle vám každá knihovna poskytuje příklady, které můžete rychle načíst a použít k předvedení toho, co knihovna umí a jak to udělat. Abychom takové příklady mohli poskytnout, musíme upravit strukturu knihovny, kde nyní bude záhlaví a zdrojový soubor ve složce „src“a do kořenového adresáře knihovny bude přidána nová složka s názvem „examples“.

Jakákoli skica Arduina, kterou umístíte do této složky, bude doručena z Arduino IDE jako příklad pro vaši knihovnu a lidé ji mohou rychle prozkoumat a zjistit, jak knihovna funguje.

Krok 6: Publikování ve Správci knihoven

Publikování do správce knihovny
Publikování do správce knihovny

Aby lidé mohli knihovnu používat, budou muset do svého náčrtu jednoduše zahrnout soubor záhlaví vaší knihovny a Arduino IDE jej vytvoří společně s ním. Ale aby to mohli udělat, budou si to nejprve muset nainstalovat na své stroje.

Běžným způsobem je stáhnout si knihovnu z GitHubu a nainstalovat ji pomocí instalačního programu ZIP v IDE nebo ji jednoduše umístit do složky knihoven, jako když jsme ji vytvářeli. Arduino IDE však také obsahuje nástroj, nazývaný Správce knihoven, který vám umožní vyhledat knihovnu přímo z IDE.

Abychom do něj zahrnuli vaši knihovnu, musíme nejprve vytvořit další soubor v kořenové složce s názvem „library.properties“a v něm musíme zadat název knihovny, aktuální verzi a některé další informace, které pomohou správci knihovny zobrazit o tom lepší informace.

Když je soubor na místě, je třeba na stránce Arduino GitHub vytvořit problém, který jednoduše požádá o zahrnutí vaší knihovny do rejstříku s odkazem na ni a jakmile bude schválen a přidán pracovníky Arduina, správce knihovny provede začněte nabízet svou knihovnu ve výsledcích. Kromě toho správce v budoucnu vyhledá všechny značky verzí v úložišti GitHub a nabídne aktualizaci lidem, kteří ji používají, jakmile dojde ke změnám.

Krok 7: Další kroky

Doufám, že po tomto Instructable budete lépe rozumět tomu, jak knihovny Arduino fungují, jak je můžete vytvořit a hlavně, doufám, že se necháte inspirovat, abyste mohli začít pracovat na svém dalším velkém nápadu.

V případě dalších dotazů nebo návrhů neváhejte napsat do komentářů, přihlásit se k odběru mého kanálu YouTube a sledovat mě zde na Instructables.

Doporučuje: