Vous avez installé tout ce qu'il faut pour faire tourner un moteur branché sur le Raspberry Pi. Parfait. Passons maintenant aux choses plus sérieuses.
Il est possible de contrôler ce même moteur à partir du Web. Et, fait intéressant, une fois que vous aurez réussi à faire tourner le moteur à distance, vous aurez en main tous les ingrédients pour faire de même avec un robot.
Après un peu de recherche sur la meilleure approche à prendre, j'ai choisi de passer par un serveur Web installé sur le Pi. Le serveur fera tourner un service Web en charge des mouvements du robot et un autre ordinateur pourra charger une page Web qui fait appel à ce service.
Avant de me lancer dans la programmation, il me fallait décider dans quel environnement le code sera réalisé : langage, framework, serveur. Les possibilités sont nombreuses et plusieurs choix sont valables.
J'ai choisi de développer le service Web :
Voici quelques lignes pour motiver mes choix.
Python est un langage très utilisé pour les projets Pi. Et programmer en Python est un vrai charme. De plus, Python est installé par défaut sous Raspberry Pi OS.
Les deux principales versions de Python (2.7 et 3.x) sont installées sour Raspberry Pi OS.
Normalement, on travaillera avec Python 3.x. La seule raison qui nous poussera à travailler avec Python 2.7, c'est lorsqu'on doit utiliser une bibliothèque qui ne supporte que cette version. Et ce n'est pas le cas ici.
Pour vous assurer que tout fonctionne sous Python 3.x, lancez l'invite de Python :
python3
Le terminal réagira en affichant l'invite de Python : >>>.
Pour sortir de l'invite Python :
exit()
Flask est un cadre d'application (framework) pour bâtir des projets Web en Python. Il est si léger qu'on parle même de microframework. Il est tout indiqué pour des projets sur le Raspberry Pi. Et il est gratuit (licence BSD).
Le code Flask sera exécuté côté serveur, donc directement sur le Pi. Il sera en charge de recevoir des requêtes HTTP que le serveur Web lui envoie et de fournir des réponses.
Comme Python, Flask est installé par défaut sur Raspberry Pi OS.
Avec Python et Flask installés, il est possible d'écrire une application Flask sur le Pi et de l'afficher dans une page Web sur un autre ordinateur qui fait partie du même réseau que le Pi.
Pour vous assurer que Flask est bien installé, lancez l'invite Python puis entrez-y ces commandes :
import flask
flask.__version__
La version de Flask sera affichée.
L'utilisation d'un serveur HTTP n'est nécessaire que si l'application Flask doit être exécutée à partir du Web.
J'ai choisi Nginx car il s'agit d'un serveur HTTP léger, puissant et sécuritaire.
Notez qu'il faudra installer une couche supplémentaire entre l'application Web bâtie avec Flask et le serveur Web Nginx. Cette couche, c'est un petit outil nommé uWSGI.
Dans les fiches qui suivent, je vais vous guider pour effectuer les installations, les configurations et la programmation pour contrôler le moteur à distance.
▼Publicité