Fonctionnement du système
Le schéma suivant expose l'architecture générale du système de compteur d'abonnées que vous allez concevoir.
L'ESP8266 est un microcontrôleur, comme les cartes Arduino ou Rasberry Pi que vous avez peut être déjà croisées, mais en plus adaptées à notre projet, et ce pour plusieurs raisons:
- les cartes Arduino ne possèdent pas de module WiFi intégré, sauf pour les plus grosses, et donc les plus chères d'entre elles.
- l'utilisation d'une Rasberry Pi n'est pas très intéressante, car le projet nécessiterait de coder à peine une dizaine de ligne en Python. Le but étant de vous faire apprendre des choses, on cherche donc un peu plus de difficulté :)
L'ESP8266 qu'on vous propose d'utiliser peut se programmer en une multitude de langage, dont le C++ et le Micro-Python (sorte de Python adapté à de l'électronique embarquée). Il se rapproche beaucoup d'une carte Arduino mais possède un module WiFi intégré. On pourra utiliser dans un premier temps l'IDE Arduino, puis éventuellement développer sur VsCode avec l'extension PlatformIo.
En ce qui concerne le système d'affichage, pas besoin d'aller très loin. Un simple écran LCD suffira dans un premier temps. Mais libre à vous de concevoir quelque chose de plus joli...
La difficulté du projet réside surtout dans le développement du code qui permet de récupérer le nombre d'abonnés au compte Instagram @robotronik.phelma. Il existe en effet une multitude de méthodes pour y parvenir:
- L'utilisation de l'API proposée par Facebook. C'est la solution la plus "clean" mais très complexe à réaliser car il faut correctement développer l'application qui utilise l'API: CGU, respect des données personnelles, etc. Un peu trop prise de tête pour récupérer une simple valeur...
- L'utilisation d'une API quelconque prévue pour la navigation sur Instagram. On peut en trouver une multitude sur Internet
- On peut aussi travailler avec des requêtes HTTPS, qui permettent de récupérer le fichier HTML de la page Web et d'en extraire les données qui nous intéresse
Peut importe la méthode que vous choisissez d'utiliser, il faudra chercher de la documentation, sur le fonctionnement des requêtes HTTPS si vous utilisez la 3e méthode par exemple.