Imprimante 3DObjets ConnectésTutoriaux

Tuto : mon premier projet Arduino, un compteur Youtube

9Bonjour à tous,

Depuis la publication du test de l’horloge Connectée LaMetric Time par Sarakha et par Cédric, j’ai longtemps hésité sur l’achat de ce beau joujou. Mais le prix m’a quelques peu rebuté, et il m’arrive (très rarement) d’être raisonnable…
En faisant quelques recherches sur ce type de compteurs intelligents, je suis tombé sur quelques projets de Maker qui m’ont amené à me lancer. Je voulais partager avec vous ma première expérience dans la création d’un projet autour des Arduino…

Présentation du projet, un compteur Youtube

Premier projet alors commençons simple! Je ne vise pas encore toutes les fonctionnalités du LaMetric Time mais au moins on va poser les bases.
Tout a commencé avec un projet que j’ai trouvé sur Thingiverse : https://www.thingiverse.com/thing:2388910
Projet très bien fait, vous trouverez le modèle de la boite à imprimer avec une imprimante 3D ainsi que la liste de course (que je reprend ci dessous à l’identique) :

Voici la totalité de pièces recommandées dans le projet :

 

Vous pouvez lancer l’impression du boitier avec votre imprimante préférée :

Le matériel et montage du compteur Youtube

Avec le cablage complet :

Dans la pratique, je n’ai pas implementé la batterie, le chargeur micro-usb et l’interrupteur. Pourquoi? Par flemme, car je venais déjà de galérer au niveau des soudures de l’affichage…

Pour information, l’affichage MAX7219 possède un sens!!! Il faut donc bien cablé sur le IN :

 

J’ai donc du déssouder les connecteurs existants afin de souder mes propres fils.

Bon clairement, j’ai pas eu une formation à la soudure… mais pour une première…

Voici les branchements à réaliser entre l’affichage et la carte NodeMCU :

Coté NodeMCUCoté MAX7219
3VVCC
G (Ground)GND
D6DIN
D7CS
D8CLK

En photo, cela donne :

 

Si vous êtes un As du fer à souder, je vous invite à plutôt suivre le plan de câblage ci-dessous pour obtenir un compteur d’affichage qui fonctionne sur batterie (contrairement au LaMetric).

La récupération des données Youtube

Les données youtube sont accessible via une API gratuite, mais il vous faut d’abord activer ce service et récupérer une clé API. Voici les différentes étapes :

1. Se rendre sur https://developers.google.com/youtube/v3/getting-started, et cliquer ensuite sur le lien qui vous emmènera sur la console developer


2. Vous devriez arriver sur l’adresse suivante : https://console.developers.google.com/
Vous allez devoir créer un projet, en cliquant en haut à gauche (dans la zone marqué API-Google-JGomez sur ma capture écran).


3. Créer un projet avec le bouton +


4. Lui donner un nom


5. et attendre un peu que le projet se créé avant de pouvoir le sélectionner.


6. Une fois votre projet sélectionné, il faut cliquer sur « Identifiants » dans le menu de gauche. Et créer une clé API en cliquant d’abord sur « Créer des identifiants ».


7. Voici la clé API Google qui vous sera utile dans les étapes suivantes (Donc à bien conserver pour la suite).


8. Après avoir sélectionner « Bibliothèque » dans le menu de gauche, vous verrez la liste de toutes les API Google disponible. Il vous suffit de choisir le service Youtube Data API V3


9. Il ne vous reste plus qu’a cliquer sur le bouton « Activer », pour rendre le service disponible.

Vous pourrez tester le bon fonctionnement de l’appel API en utilisant l’url suivant dans votre navigateur.
https://www.googleapis.com/youtube/v3/channels?part=statistics&id=YOUR_CHANNEL_ID&key=YOUR_API_KEY

YOUR_CHANNEL_ID : id de votre chaine youtube, qui se trouve dans l’url de la page de votre chaine. Par exemple ma chaine posséde l’ID UCRlr3AttvYNXCK_ypUBcJxA
YOUR_API_KEY : la clé API créée ci-dessus.

vous devriez avoir cela :

La programmation du NodeMCU

En introduction et dans le titre, j’ai parlé abusivement de projet Arduino… En fait le coeur de ce compteur est en fait un NodeMCU.

NodeMCU est une plate-forme open source IoT. Il contient le firmware qui fonctionne sur le ESP8266 Wi-Fi SoC de Espressif Systèmes et le matériel qui est basé sur le module ESP-12. Le terme « NodeMCU » se réfère par défaut au firmware plutôt qu’aux kits de développement. Le firmware utilise le Lua qui est un langage de script. Il est basé sur le projet eLua et construit sur l’Espressif Non-OS SDK pour ESP8266. Il utilise de nombreux projets open source comme lua-cjson et spiffs.
(Source Wikipédia)
Mais pour le programmer (injecter le programme), nous allons utiliser le logiciel Arduino. Vous devrez pour cela vous rendre sur l’adresse suivante https://www.arduino.cc/
Et dans le menu Software, choisir Downloads

Avous de sélectionner la version en fonction de l’OS de votre ordinateur.

A cette écran, libre à vous si vous souhaitez soutenir Arduino avec un don ou juste télécharger le software.

Après la phase d’installation (suivant, clic, yes, clic, suivant,…), lancez le logiciel pour ensuite accéder au menu des préférences.

Dans l’option URL de gestionnaire de cartes supplémentaires, vous devez indiquer l’url suivante : http://arduino.esp8266.com/stable/package_esp8266com_index.json
et fermer la fenetre avec OK.

Dans le menu Outils, Type de carte, lancer le gestionnaire de carte et rechercher ESP afin d’installer les composants liés à notre NodeMCU

Vous pourrez ainsi sélectionner le NodeMCU 1.0 dans le type de carte (tout en bas).

Maintenant il va falloir connecter votre carte en USB, puis vous assurez que le port COM est bien sélectionné.

 

Vous pouvez fermer le logiciel Arduino, vous avons une autre étape préparatoire avant de charger le programme.

Vous devez vous rendre sur l’adresse suivante : https://github.com/bblanchon/ArduinoJson/releases/latest, afin de télécharger la dernière version de ArduinoJSON.

Le fichier téléchargé devra être renommé en ArduinoJson.h et placé dans le répertoire C:\Program Files (x86)\Arduino\libraries\ArduinoJson

 

Ensuite, il vous faudra télécharger le programme script Arduino a l’adresse suivante : https://mega.nz/#!It1n1BJC!cv7pS8N9KZqn2OyQGWAS8bfoVAGc9MXFJFkuKYmoh54
Les fichiers devront être décompressés dans le répertoire
C:\Users\VOTRE_USER\Documents\Arduino\compteur_youtube_matrix\. Attention à ne pas laisser d’espace dans les noms de fichiers.

 

Il ne vous reste plus qu’a double cliquer sur compteur_youtube_matrix.ino qui lancera le logiciel Arduino avec les bons fichiers ouverts.

un peu plus bas, vous trouverez des paramètres à renseigner :
ssid = le SSID de votre réseau WIFI
password = le mot de passe de votre réseau WIFI
ytApiV3Key = la clé API que vous avez récupérée plus haut.
channelId = l’ID de votre chaine Youtube.

Après cela, il ne vous reste plus qu’a compiler et à téléverser (envoyer vers le NodeMCU), le programme en cliquant sur les icones en haut à gauche.

Tadaaaaa, voici le résultat :

Ça sert à quoi un compteur Youtube avec un projet Arduino?

Pour les personnes n’ayant pas de chaine Youtube, l’utilisation de ce cas concret restera limitée. Mais comme expliqué en introduction, le but est d’avoir un affichage comparable avec le LaMetric. Sauf que le LaMetric est compatible avec d’autres sources de données…
Et bien, le projet que vous venez de lire n’est qu’une première étape vers un affichage domotique! En effet le NodeMCU est compatible avec MQTT qui est considéré comme un standard dans la communication des iot (Internet Of Things).
Après quelques recherches j’ai trouvé le moyen d’afficher sur le NodeMCU/MAX7219 ce que l’on désire via ce protocole. Et devinez quoi, il existe un plugin Jeedom MQTT développé par Lunarok!

Vous aurez maintenant compris pourquoi, même si vous n’avez pas tous une chaîne Youtube, je voulais partager avec vous cette première étape. Si vous êtes intéressé par la seconde étape et la connexion entre cette afficheur maison et Jeedom, faites chauffer les commentaires!

Voilà, j’espère que la découverte de ce tuto autour de la fabrication d’un compteur Youtube vous a plu. N’hésitez pas à poser vos questions et remarques dans les commentaires.

Julien

Passionné depuis mon plus jeune âge par les nouvelles technologies et doublé d’un acheteur compulsif, j’ai toujours adoré les nouveaux produits HighTech. Je m’aperçois que les « gadgets » deviennent plutôt des outils du quotidien voire du futur, mais le regard de beaucoup de personnes n’évolue pas aussi vite que les technologies. Qui n’a jamais fait face à la fameuse question « Ça sert à quoi? » en montrant sa nouvelle acquisition à son entourage.

Articles similaires

14 commentaires

    1. Salut,

      désolé mais je n’ai pas encore vu la même chose pour instagram. Insta propose des API donc ca doit être faisable, mais malheureusement pas avec mes connaissances 🙁

  1. salut, super ton tuto, c bien expliqué.
    par contre quand je compile j’ai un message d’erreur: cannot declare variable ‘client’ to be of abstract type ‘WiFiClientSecure’
    tu saurais me dire d’où vient ce probleme?
    merci!

  2. Bonjour je viens de faire ce projet et j ai un soucis aussi avec mon ami je ne vois pas mes video vue etc… tout est a 0 a tu trouver une solution

      1. Bonjour oui j ai tout suivi a la lettre et il reste toujours a 0 j ai vue sur certain tuto que le problème viendrai des nouveau code api

Répondre à JulienAnnuler la réponse.

Bouton retour en haut de la page