Une nouvelle version de Scratch pour Raspberry Pi
Avec la prise en charge du port GPIO

Le , par f-leb, Rédacteur/Modérateur
Une nouvelle version de Scratch pour Raspberry Pi
Avec la prise en charge du port GPIO

Il y a de nombreuses nouveautés dans la dernière release de Raspbian Jessie. Parmi elles, la dernière version de Scratch, que vous trouverez dans le menu Programming accessible à partir du bureau.


Connectez des boutons, capteurs, caméras, LED, mini-joysticks et autres gadgets connectés à votre Pi et interagissez avec ces composants grâce à Scratch.

Deux changements majeurs sont à noter dans cette nouvelle version :
  • une amélioration significative des performances ;
  • l’ajout d’un serveur intégré de gestion du port GPIO.


Scratch, encore plus rapide

Le plus gros travail a récemment consisté à moderniser le code de Scratch afin de s’exécuter dans un système Squeak/Smalltalk récent plutôt que sur l’ancienne version d’origine. Grâce aux améliorations dont a bénéficié Squeak ces dernières années (Scratch a été créé en utilisant Squeak, une variante du langage de programmation Smalltalk, et Squeak lui-même s’exécute dans une machine virtuelle), Scratch peut maintenant s’exécuter sur des machines virtuelles plus rapides, qui bénéficient de la translation de code dynamique, générant ainsi les instructions de la machine cible au moment de leur exécution.

L’avancée majeure a donc été dans la conception d’une telle machine virtuelle pour le Pi ; jusqu’à présent, seules des machines x86 avaient été capables d’exécuter cette version. Grâce à la contribution d’Eliot Miranda, l’auteur original de la machine virtuelle Cog, et celle d’autres contributeurs, la machine virtuelle pour processeur ARM (ARM Cog VM) fut mise au point en juin dernier.

Les benchmarks sont toujours sujets à polémiques, mais les performances de Squeak semblent avoir augmenté la rapidité du système d’un facteur 3 à 10, facteur qui dépend évidemment de ce que l’on mesure exactement. Les choses iront encore plus vite quand les derniers problèmes dans la génération de code seront aplanis, et la communauté espère bientôt commencer à profiter d’un autre projet d’optimisation de code à la volée, dont les allusions récentes suggèrent un doublement des performances au moins.

Comme Scratch utilise beaucoup de graphismes et de code pour l’interface utilisateur, l’augmentation des performances n’est pas toujours aussi sensible, mais de nombreuses améliorations de la vitesse d’affichage par rapport aux versions antérieures ont tout de même été constatées.
La démonstration la plus flagrante de ces améliorations provient sans doute du Pac-Man d’Andrew Oliver. Les animations de la version Scratch d’origine sur un Raspberry Pi modèle B tournaient au mieux à la vitesse d’une image par seconde. Le même modèle B avec la toute dernière version de Scratch et le jeu s’anime à une vitesse autour de 12 à 15 images par seconde, et sur un Raspberry Pi 2 on arrive à un véritable Pac-Man jouable atteignant les 30 images par seconde en vitesse d’animation.

Gestion du port GPIO

Le nouveau serveur GPIO de Scratch pour Pi est un premier passage vers un nouveau système plus simple pour les utilisateurs d’accéder aux broches GPIO du Raspberry Pi à partir de Scratch, et donc également aux cartes additionnelles branchées sur le Pi. Son fonctionnement en serveur permet d’avoir un travail en cours et d’utiliser en même temps le Pi comme une sorte de serveur GPIO ou une source de données.
Ce serveur permet aussi d’accéder au module Camera Pi, à l’adresse IP, à la date/heure système et d’autres fonctionnalités plus complexes encore.

Par exemple, le script suivant (avec les composants matériels convenablement enfichés et câblés sur une plaque d’essai) permet d’allumer ou éteindre des LED, suivant qu’un bouton est pressé ou non, de prendre une photo avec un compte à rebours généré par une LED qui s’illumine progressivement, de récupérer la date et l’heure de la prise de vue, etc.


Exemples d’utilisation de Scratch pour contrôler le module Camera, piloter les LED connectés au Pi et relever la date/heure système.

Cartes additionnelles d’extension

On peut également brancher des cartes additionnelles tels les Sense Hat, Pibrella, Explorer HAT, PiFace, PiLite ou encore la carte de contrôle de moteurs de Ryanteck.
Sous Scratch, chaque carte peut alors disposer de son propre jeu de commandes en plus des commandes GPIO de base vues précédemment.

Scripts et projets de démonstration

Dans le répertoire Examples de Scratch (via la boîte dialogue File-->Open et le raccourci Examples), vous trouverez un répertoire Sensors and motors et plusieurs scripts nouveaux exploitant le port GPIO incluant celui vu plus haut.

Conclusion

Les utilisateurs de Scratch pourront maintenant accéder aux broches GPIO et mettre un pied plus facilement dans l’informatique physique (physical computing). Selon la communauté, toutes les ressources pour Scratch utiliseront maintenant cette dernière version, et les ressources existantes seront réécrites en conséquence. Le Guide de référence détaille toutes les commandes et fonctionnalités, et un tutoriel pour guider les débutants est en préparation.

Source : A NEW VERSION OF SCRATCH FOR RASPBERRY PI: NOW WITH ADDED GPIO

Connaissez-vous Scratch ? Comptez-vous l’utiliser ?
Pensez-vous que cette nouvelle version du logiciel de programmation graphique permettra aux plus jeunes d’aborder plus facilement l’informatique au travers d’applications connectées au monde physique ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster un commentaire

Avatar de Julien698 Julien698 - Membre averti https://www.developpez.com
le 23/11/2015 à 12:14
Connaissez-vous Scratch ?
Je connaissais ce logiciel de nom et il est présent sur ma Raspberry Pi 2 mais je ne l'ai utilisé (ni ouvert d'ailleurs). J'utilise Python pour réaliser des programmes sur la carte.

Comptez-vous l’utiliser ?

Après avoir vu une ébauche dans l'article, je vais tenter de l'utiliser pour voir comment ça se comporte et surtout par curiosité.

Pensez-vous que cette nouvelle version du logiciel de programmation graphique permettra aux plus jeunes d’aborder plus facilement l’informatique au travers d’applications connectées au monde physique ?

L'interface graphique permet sans doute un accès plus simple pour réaliser des applications. Mais je pense qu'on atteint vite la limite en interface graphique.
Avatar de xoran xoran - Membre à l'essai https://www.developpez.com
le 24/11/2015 à 18:56
Oui je connais bien Scratch, et dans les faits je l'utilise vraiment dans le cadre d'utilisation pour lequel il a été développé, c.à.d. l'apprentissage de la programmation. J'apprends les bases de la logique et de la programmation a mes enfant (entre 10 et 12 ans) avec Scratch. Le nouveau serveur GPIO permettra d'accéder encore plus rapidement et facilement à de nombreuses interactions possibles avec l'environnement directe, ce qui est d'autant plus motivant pour les plus jeunes. Ceci étant, les grands enfant tels que moi peuvent également prendre beaucoup de plaisir à l'utiliser
Contacter le responsable de la rubrique Accueil