Choix du langage
Quel langage pour développer ?
De nombreux langages sont disponibles pour développer des programmes. En fonction des besoins des programmeurs (vitesse de développement, solidité du code, existence de bibliothèques, compétences du développeur…), le choix s’oriente vers un des nombreux langages disponibles.
1. Une nébuleuse de langages
Raspberry Pi OS est une version de Debian adaptée au Raspberry Pi. À ce titre, tous les langages utilisables avec Debian fonctionnent sur le Raspberry Pi.
Si on se réfère à la page Wikipedia consacrée aux langages de programmation, on trouve plusieurs centaines de noms. (cf. https://fr.wikipedia.org/wiki/Liste_de_langages_de_programmation)
Cependant, un certain nombre de langages se détachent et sont plus employés que les autres. Il existe deux approches pour les langages de programmation, les langages interprétés et les langages compilés.
a. Langages interprétés
L’outil utilisé dans ce cas est lui-même un programme appelé "interprète", ou "interpréteur". Il est chargé d’analyser, de traduire et d’exécuter les scripts écrits dans un langage de programmation.
Pour exécuter un script, l’interpréteur réalise à chaque exécution du script et pour chacune des instructions des opérations...
Les bibliothèques pour le Raspberry Pi
Des passionnés ont développé des bibliothèques pour permettre aux utilisateurs du Raspberry Pi de gérer les GPIO de la carte.
Ces bibliothèques ont chacune leurs particularités.
1. RPi.GPIO
Cette bibliothèque est disponible sous la licence MIT. Son auteur est Ben Croston.
Cette bibliothèque gère les E/S GPIO. Elle n’est pas adaptée aux applications critiques en temps réel. La version actuelle ne supporte pas encore SPI, I²C, le PWM matériel ou le port série du Raspberry Pi. Ceci est prévu dans les développements futurs de la bibliothèque. Bien que le PWM matériel ne soit pas encore disponible, le PWM logiciel est disponible sur tous les ports GPIO.
Plus d’informations sur https://sourceforge.net/p/raspberry-gpio-python/wiki/Home/.
2. RPIO.GPIO
RPIO.GPIO est un module de gestion des ports GPIO Raspberry Pi développé par Chris Hager. Il est disponible sous licence GNU LGPLv3+.
RPIO gère les E/S, le PWM matériel via DMA (avec une résolution jusqu’à 1 µs), les interruptions GPIO (appels d’une fonction), les interruptions de socket TCP.
Le code source est rapide et bien documenté avec une utilisation minimale du CPU.
Plus d’informations sur https://pythonhosted.org/RPIO.
3. WiringPi
WiringPi est une bibliothèque...
Écrire un script en Python
1. Avec un IDE
Un IDLE ou IDE (Integrated DeveLopment Environment = environnement de développement intégré) est un programme qui regroupe les fonctions fréquemment utilisées par un développeur.
Il existe de nombreux IDE (ou IDLE) pour Python. La Fondation a récemment intégré Thonny (https://thonny.org/) à Raspberry Pi OS. Elle considère que c’est un IDE qui convient aux débutants. C’est cet IDE qui sera utilisé pour écrire les scripts du livre.
a. Démarrer l’IDE Thonny
Dans le menu Programmation, cliquez sur Thonny Python IDE pour démarrer Thonny.
b. Présentation de l’écran de Thonny IDE
La fenêtre de Thonny s’ouvre. Vous pourrez en redimensionner les différentes parties à votre convenance.
Les icônes situées en haut de la fenêtre permettent de gérer l’exécution et la mise au point des scripts.
La zone de script est réservée à l’écriture de script. Les erreurs détectées par l’IDE sont indiquées par la mise en surbrillance de la zone en cause. Ici dans l’expression test = (34*2) la parenthèse fermante a été volontairement omise. L’IDE passe la suite du script en surbrillance pour signaler l’emplacement de l’erreur.
La partie basse se nomme Shell. Elle correspond à ce qui se passe quand on lance Python en ligne de commande pour saisir les commandes ligne par ligne.
La partie droite est réservée aux variables et permet de suivre leur évolution...