Table des matières:

Créer une bibliothèque Arduino pour YouTube Sight : 7 étapes
Créer une bibliothèque Arduino pour YouTube Sight : 7 étapes

Vidéo: Créer une bibliothèque Arduino pour YouTube Sight : 7 étapes

Vidéo: Créer une bibliothèque Arduino pour YouTube Sight : 7 étapes
Vidéo: Arduino #27: Comment créer une nouvelle bibliothèque en 3 étapes ? [TUTO] 2024, Novembre
Anonim
Image
Image
Qu'est-ce qu'une bibliothèque ?
Qu'est-ce qu'une bibliothèque ?

Salut à tous, J'ai récemment créé un service appelé YouTube Sight qui peut extraire les données des abonnés de l'API YouTube Analytics et vous donner un nombre d'abonnés plus précis depuis que YouTube a commencé à agréger les résultats. Avec lui, j'ai construit un exemple de croquis mais je voulais aussi créer une bibliothèque Arduino pour que les gens puissent l'utiliser plus facilement.

Étape 1: Qu'est-ce qu'une bibliothèque ?

Qu'est-ce qu'une bibliothèque ?
Qu'est-ce qu'une bibliothèque ?

Une bibliothèque est un morceau de code capable de gérer une opération spécifique, de traiter un type de données ou de savoir comment interagir avec un élément matériel spécifique. Ils nous permettent d'étendre facilement l'environnement Arduino et il y en a beaucoup qui sont préinstallés avec l'IDE Arduino.

Dans des cas comme le mien, où nous voulons ajouter de nouvelles possibilités à l'Arduino, nous pouvons créer nos propres bibliothèques pour que d'autres personnes les utilisent. Toutes les bibliothèques installées vivent dans un dossier spécifique sur notre ordinateur. Dans mon cas pour le PC Windows, les bibliothèques se trouvent dans le dossier Documents/Arduino. Le chemin complet vous sera spécifique, en fonction de votre nom d'utilisateur.

Étape 2: Structure et fichiers de la bibliothèque

Structure et fichiers de la bibliothèque
Structure et fichiers de la bibliothèque

Pour commencer à créer notre bibliothèque, nous devons d'abord créer un dossier ici avec le nom de celui-ci, j'ai donc créé un dossier appelé YouTube Sight. Dans la version stricte minimum de la bibliothèque, nous devons avoir au moins deux fichiers.

Le premier est un fichier dit « d'en-tête » qui contient toutes les définitions des méthodes et propriétés fournies par notre bibliothèque, et le second est le fichier source qui contiendra tout le code source.

Les fichiers d'en-tête ont une extension ".h" tandis que le fichier source a une extension ".cpp" et ils ont généralement le nom de la bibliothèque comme nom de fichier. Dans mon cas, les deux fichiers s'appellent "YouTubeSight.h" et "YouTubeSight.cpp".

Le processus d'écriture du code de la bibliothèque peut être un peu fastidieux et frustrant, surtout lorsque vous écrivez une bibliothèque pour la première fois, mais avec beaucoup d'essais et d'erreurs, vous pouvez obtenir les résultats souhaités. Pour cette raison, je vais vous guider à travers le code fini des deux fichiers et l'expliquer.

Le code complet et la bibliothèque sont disponibles en téléchargement sur GitHub sur le lien suivant:

Étape 3: Le fichier d'en-tête

Le fichier d'en-tête
Le fichier d'en-tête
Le fichier d'en-tête
Le fichier d'en-tête
Le fichier d'en-tête
Le fichier d'en-tête

À l'intérieur du fichier d'en-tête, au début, le fichier entier est enveloppé dans une instruction « ifndef » qui vérifie si la variable spécifiée est définie ou non. Cela évitera les erreurs pour quiconque utilise la bibliothèque s'il l'inclut deux fois dans le même croquis par erreur.

Ensuite, nous devons inclure la bibliothèque Arduino de base et puisque nous allons travailler avec un client HTTP quelconque pour envoyer la demande à YouTube Sight, nous inclurons également la bibliothèque client de base.

Avant de commencer à écrire le contenu de notre classe principale, nous devons définir les variables statiques et les paramètres que nous ne voulons pas modifier. Dans mon cas, il y a deux de ces variables. L'URL principale du service YouTube Sight et la variable de délai d'attente que nous utiliserons pour vérifier combien de temps nous lisons une valeur.

Également dans cette section, nous pouvons définir tous les types personnalisés que nous souhaitons utiliser, comme cette structure channelStatistics dans laquelle nous enregistrerons les résultats.

La définition de la structure de classe est divisée en deux parties. La première partie est la définition de toutes les fonctions et propriétés publiques et la seconde est la définition de toutes les fonctions et propriétés privées. La différence entre les deux est que les utilisateurs finaux de notre bibliothèque ne pourront rien utiliser directement de la section privée alors qu'ils pourront directement modifier et utiliser les propriétés et fonctions de la partie publique.

Dans la section publique, nous définissons le constructeur de classe, la variable channelStats où nous stockerons les résultats, la fonction qui obtiendra les données et une propriété de débogage que nous pourrons ensuite utiliser pour vérifier les cas où nous pourrions ne pas obtenir les résultats attendus.

Pour les propriétés privées, nous en définirons une pour stocker le GUID de la chaîne, un pointeur vers le client HTTP que nous utiliserons et une fonction qui divisera la chaîne renvoyée par YouTube Sight.

Étape 4: Le fichier source

Le fichier source
Le fichier source
Le fichier source
Le fichier source

Examinons maintenant la mise en œuvre réelle de tout cela dans le fichier source.

La première étape pour nous consiste à inclure notre propre fichier d'en-tête que nous venons de créer, puis nous devons définir le constructeur de la bibliothèque. On y passe deux variables. Le GUID est enregistré dans la variable privée que nous avons définie précédemment et le client est passé par référence afin que nous puissions ensuite appeler la même instance que nous avons obtenue.

La fonction principale getData de la bibliothèque est définie ensuite en spécifiant d'abord le type de retour, suivi du nom de la bibliothèque et du nom de la fonction. Je n'entrerai pas dans les détails de ce que fait chaque ligne dans cette fonction, mais en général, la fonction ouvre une connexion au serveur YouTube Sight, envoie la demande pour obtenir les statistiques, puis analyse les données renvoyées à l'aide de la fonction privée getValue.

Les résultats récupérés sont ensuite définis sur la variable channelStats et un indicateur est renvoyé si nous avons réussi à récupérer les résultats ou non et avec cela le noyau de notre bibliothèque est complet.

Étape 5: Fournir des exemples de croquis

Fournir des exemples de croquis
Fournir des exemples de croquis

Habituellement, chaque bibliothèque fournit des exemples que vous pouvez rapidement charger et utiliser pour montrer ce que la bibliothèque peut faire et comment le faire. Pour fournir de tels exemples, nous devons modifier la structure de la bibliothèque où maintenant l'en-tête et le fichier source seront dans un dossier « src » et un nouveau dossier sera ajouté sous la racine de la bibliothèque appelé « exemples ».

Tout croquis Arduino que vous placez dans ce dossier sera servi à partir de l'IDE Arduino comme exemple pour votre bibliothèque et les gens peuvent l'explorer rapidement et apprendre comment fonctionne la bibliothèque.

Étape 6: Publication dans le gestionnaire de bibliothèque

Publication dans le gestionnaire de bibliothèque
Publication dans le gestionnaire de bibliothèque

Pour utiliser la bibliothèque, les utilisateurs devront simplement inclure le fichier d'en-tête de votre bibliothèque dans leur croquis et l'IDE Arduino le construira avec lui. Mais pour ce faire, ils devront d'abord l'installer sur leurs machines.

Un moyen courant consiste à télécharger la bibliothèque à partir de GitHub et à l'installer via le programme d'installation ZIP dans l'IDE ou simplement à la placer dans le dossier des bibliothèques comme nous l'avons fait lors de sa création. Cependant, l'IDE Arduino comprend également un outil, appelé Library Manager, qui vous permet de rechercher une bibliothèque directement à partir de l'IDE.

Pour y inclure votre bibliothèque, nous devons d'abord créer un fichier supplémentaire dans le dossier racine appelé "library.properties" et dans celui-ci, nous devons spécifier le nom de la bibliothèque, la version actuelle et quelques informations supplémentaires qui aideront le gestionnaire de la bibliothèque pour afficher de meilleures informations à ce sujet.

Avec le fichier en place, un problème doit être créé sur la page Arduino GitHub qui demande simplement que votre bibliothèque soit incluse dans l'index avec le lien vers elle et une fois qu'elle est approuvée et ajoutée par le personnel Arduino, le gestionnaire de bibliothèque commencez à proposer votre bibliothèque dans les résultats. De plus, le gestionnaire recherchera à l'avenir toutes les balises de version dans le référentiel GitHub et proposera une mise à jour aux personnes qui l'utilisent une fois qu'il y aura des changements.

Étape 7: Étapes suivantes

J'espère qu'après ce Instructable, vous aurez une meilleure compréhension du fonctionnement des bibliothèques Arduino, comment vous pouvez en créer une et surtout, j'espère que vous serez inspiré pour commencer à travailler sur votre prochaine grande idée.

Pour toute question ou suggestion supplémentaire, n'hésitez pas à écrire dans les commentaires, abonnez-vous à ma chaîne YouTube et suivez-moi ici sur Instructables.

Conseillé: