Obsah:
- Krok 1: Co je to knihovna?
- Krok 2: Struktura a soubory knihovny
- Krok 3: Soubor záhlaví
- Krok 4: Zdrojový soubor
- Krok 5: Poskytnutí příkladů skic
- Krok 6: Publikování ve Správci knihoven
- Krok 7: Další kroky
Video: Vytvoření knihovny Arduino pro YouTube Sight: 7 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
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?
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
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í
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
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
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
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:
Programování Arduina pomocí jiného Arduina pro zobrazení posouvaného textu bez knihovny: 5 kroků
Programování Arduina pomocí jiného Arduina pro zobrazení posouvaného textu bez knihovny: Sony Spresense nebo Arduino Uno nejsou tak drahé a nevyžadují mnoho energie. Pokud má však váš projekt omezení výkonu, prostoru nebo dokonce rozpočtu, můžete zvážit použití Arduino Pro Mini. Na rozdíl od Arduino Pro Micro, Arduino Pro Mi
Vykreslování intenzity světla pomocí Arduino a hlavní knihovny Arduino Python: 5 kroků
Vykreslování intenzity světla pomocí Arduino a hlavní knihovny Arduino v Pythonu: Arduino je ekonomický, ale vysoce účinný a funkční nástroj a jeho programování v Embedded C dělá proces vytváření projektů zdlouhavým! Modul Arduino_Master v Pythonu to zjednodušuje a umožňuje nám provádět výpočty, odstraňovat odpadky
Vytvoření aplikace pro Android pro malé firmy pomocí MIT APP a Google Fusion Table: 7 kroků
Vytváření aplikace pro Android pro malé firmy pomocí MIT APP a Google Fusion Table: Chtěli jste někdy vytvořit vlastní aplikaci, která bude k dispozici v obchodě Google Play !!! Pokud podnikáte, pak vám tento návod změní život. Po pečlivém přečtení si budete moci vytvořit vlastní aplikaci. Před
Připojte svůj Headless Pi k WiFi síti knihovny: 7 kroků
Připojte svůj Headless Pi k knihovně WiFi síti: Kolikrát jste již chtěli pracovat na svých bezhlavých projektech Raspberry Pi v místní knihovně, abyste se ocitli zaseknutí, protože otevřená WiFi síť vyžaduje použití prohlížeče? Už se nemusíte bát, tento Instructable je tu, aby vám pomohl! Budeme
Generátor tónů Arduino bez knihovny nebo sériových funkcí (s přerušením): 10 kroků
Generátor tónů Arduino bez knihovny nebo sériových funkcí (s přerušeními): Není to něco, o čem bych normálně dělal instruktáž, dávám přednost své zámečnické práci, ale jelikož jsem student elektrotechniky a musím absolvovat třídu na mikrokontrolérech ( Embedded Systems Design), myslel jsem si, že udělám instruktáž na jednom ze svých