[Raspberry Pi] Processing 3.0.1 et Raspberry Pi (Raspbian)
par
, 24/11/2015 à 22h06 (2577 Affichages)
Processing 3.0.1 et Raspberry Pi (Raspbian)
Avec une nouvelle bibliothèque d’accès aux entrées-sorties (GPIO) du Pi
Processing est une bibliothèque Java et un environnement de développement libre (sous licence GNU GPL), créé par Benjamin Fry et Casey Reas, deux artistes américains.
Source Developpez.com : Processing - langage de programmation et environnement de développement libreConçu par des artistes, pour des artistes, Processing est un des principaux environnements de création utilisant le code informatique pour générer des œuvres multimédias sur ordinateur. L'attrait de ce logiciel réside dans sa simplicité d'utilisation et dans la diversité de ses applications : image, son, applications sur internet et sur téléphones mobiles, conception d'objets électroniques interactifs.
Processing fédère une forte communauté d'utilisateurs professionnels et amateurs : artistes, graphistes, vidéastes, typographes, architectes, web designers et designers en général. Il est également utilisé par des enseignants en arts qui souhaitent familiariser leurs étudiants avec les potentialités artistiques de la programmation, les concepteurs du logiciel l'ayant pensé dès l'origine comme un outil d'apprentissage.
J’avais proposé une démonstration d’une utilisation conjointe de Processing avec Arduino dans un article précédent : Partie I : Aperçu de la plateforme Arduino et ses cartes d'interface (shields), VI – Processing
La dernière version 3.01 de Processing supporte maintenant officiellement le Raspberry Pi. Vous pouvez même télécharger une image de distribution complète Raspbian avec Processing préinstallé ici : http://download.processing.org/proce...x-raspbian.zip
https://www.raspberrypi.org/learning...ing/worksheet/
https://www.raspberrypi.org/blog/#no...oad-processing
Il le supporte même pleinement en proposant une nouvelle bibliothèque d’accès aux entrées-sorties (ou GPIO) du Pi.
Outre les classiques commandes d’écritures/lectures des broches numériques tels pinMode(), digitalWrite() et digitalRead(), l’utilisateur trouvera également les classes pour gérer le PWM, puis les liaisons série I2C et SPI.
Exemple de programme Processing pilotant à la souris une LED branchée sur la broche GPIO n°17
D’après https://www.raspberrypi.org/learning...g/worksheet-2/ - licence CC By-Sa
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 import processing.io.*; // use the GPIO library // store the desired state of the LED in a variable boolean ledOn = false; void setup() { // set pin 17 as an output: GPIO.pinMode(17, GPIO.OUTPUT); } void draw() { if (ledOn == true) { // If the desired state is on, then: // turn the LED on: GPIO.digitalWrite(17, GPIO.HIGH); // and set the background red: background(255, 0, 0); } else { // otherwise: // turn the LED off: GPIO.digitalWrite(17, GPIO.LOW); // and set the background black: background(0, 0, 0); } } void mouseClicked() { // When the mouse is clicked, store the opposite of // ledOn into ledOn, which toggles ledOn: ledOn = !ledOn; }
Quand on clique dans la fenêtre ouverte à l’exécution du programme, la couleur du fond bascule en rouge tandis que la LED s’allume. SI vous cliquez à nouveau, la couleur du fond redevient à sa couleur initiale noire et la LED s’éteint.
Plus de détails dans le wiki du projet Processing sur GitHub.
Conclusion
Si l’apprentissage de la programmation est votre objectif, mais que vous souhaitez sortir des sentiers balisés de la Fondation Raspberry Pi avec le langage de script Python, Processing est peut-être fait pour vous. Vous programmez alors dans un langage basé sur Java dans un EDI très semblable à celui d’Arduino (puisque l’EDI d’Arduino s’en est inspiré), avec des fonctionnalités facilitant le développement comme le Tweak Mode qui permet de modifier à la volée les variables en dur dans votre sketch quand celui-ci tourne et visualiser en temps réel les changements que vous y apportez.
Démonstration Tweak Mode dans Processing
Processing est naturellement doué pour le multimédia (il fait penser au couple Python+Pygame), mais avec ses nombreuses bibliothèques supplémentaires proposées par la communauté pour la vidéo, la 3D, laudio, les sockets… et maintenant pour la gestion du port GPIO du Pi, vous avez un environnement sympathique pour débuter en informatique physique à moindre investissement.