Qu'est-ce que Raspberry Pi ?
Pourquoi Raspberry Pi a-t-il vu le jour ?
En moins de dix ans, Raspberry Pi est devenu la référence des amateurs et des électroniciens. Cet ordinateur de la taille d'une carte de crédit, alimenté par un processeur ARM, a connu plusieurs itérations qui ont également donné naissance à une version miniature et simplifié. Ayant maintenant vendu plus de 40 millions d'unités [1] (2021), il est devenu l'ordinateur le plus vendu au Royaume-Uni en 2015 [2]. Le record qu'il a battu était détenu par le Sinclair ZX Spectrum [3], une boîte noire à touches en caoutchouc qui a contribué à la révolution informatique domestique des années 1980. Et, pour comprendre pourquoi il a vu le jour, il est nécessaire de revenir sur cette décennie de l'enfance de son créateur, Eben Upton.
L'industrie se plaignant régulièrement d'un manque de recrues dans le domaine des sciences, de la technologie, de l'ingénierie et des mathématiques (STEM), des personnes comme Eben Upton [4] se sont demandées ce qui avait conduit à la pénurie d'étudiants compétents en programmation et intéressés par l'ingénierie (figure 1). Comme de nombreux enfants nés dans les années 1970, Eben a grandi pendant le boom de l'informatique domestique des années 1980. Les processeurs à 8 bits, tels que le Z80 et le 6502, étaient utilisés pour construire des ordinateurs suffisamment bon marché pour être achetés par des particuliers. Cependant, l'élément le plus critique était sans doute le fait qu'à l'allumage, l'utilisateur était confronté à un curseur clignotant : pas de fenêtre, pas de souris, pas de son de démarrage. C'était à l'utilisateur de décider ce qu'il devait faire ensuite. Beaucoup chargeaient un jeu à partir d'une cassette, ce qui nécessitait au minimum de saisir la commande LOAD. Mais, à un moment donné, beaucoup ont décidé de se tourner vers la programmation de ces appareils en utilisant le langage de programmation que chacun d'entre eux supportait : le BASIC.
Ce moment privilégié de l'histoire de l'informatique a été déterminant pour le lancement de la carrière de nombreux ingénieurs d'aujourd'hui. Dans les années 1990, les consoles de jeux de Nintendo et Sega s'adressaient à ceux qui voulaient simplement jouer. En raison de leur modèle économique, leurs consoles étaient conçues pour ne pas être programmables par l'utilisateur. Si vous vouliez écrire un jeu, il vous fallait des outils spéciaux fournis par le fabricant de la console [5]. De même, avec l'essor des PC et du système d'exploitation Windows, la nécessité de programmer pour que l'ordinateur fasse ce que l'on veut est également passée au second plan, ce qui a donné naissance à une génération d'utilisateurs et non de programmeurs.
Il semblait évident que si l'on voulait remédier à la pénurie de compétences dans les STEM, les enfants d'aujourd'hui devaient avoir accès au type d'ordinateurs accessibles et programmables qu'Eben avait connus dans son enfance.
La naissance de Raspberry PI
Au départ, Eben a joué avec un Atmel ATmega644, un peu comme pour Arduino [6]. Cependant, le défi des microcontrôleurs est que les utilisateurs ont besoin d'un ordinateur pour les programmer, et C/C++ n'est pas le langage de programmation le plus simple à apprendre pour les débutants ou à enseigner. L'objectif était d'introduire un ordinateur utilisable dans les écoles, similaire au BBC Micro avec lequel les élèves des écoles britanniques avaient grandi dans les années 1980 [7]. Ils avaient été intégrés au programme scolaire pour enseigner la programmation et les compétences informatiques. Le Raspberry Pi devrait être capable de faire de même.
En outre, la programmation et l'informatique ont beaucoup évolué depuis les années 1980. Alors que les BBC Micros étaient reliés entre eux par Econet [8], les futurs programmeurs auraient besoin d'une connexion Internet. Et les langages de programmation ne doivent pas nécessairement être écrits ; les outils de programmation graphique, tels que Scratch, fournissent les principes nécessaires aux apprentis sans les difficultés liées à la fixation de la grammaire du langage de programmation.
Le plus important était peut-être le prix, fixé à 35 dollars (environ 28/29 €) [9]. L'objectif était de mettre une quantité raisonnable de puissance informatique entre les mains des gens, de sorte que, en cas de dommage, la perte soit supportable. Employé par Broadcom à l'époque, Eben a vu le potentiel d'un nouveau système sur puce compact et puissant basé sur la technologie ARM, le BCM2835. Il semblait être le point de départ idéal avec une unité de traitement graphique (GPU) intégrée et les périphériques standard utilisés dans les PC (USB). Cependant, la conception de la version alpha a coûté environ 110 dollars, ce qui est loin du prix visé. Une série d’optimisations, telles que l'implémentation de l'audio à l'aide d'une sortie à modulation de largeur d'impulsions (MLI) au lieu d'une puce audio dédiée, ont permis de réduire le coût total. La meilleure caractéristique du Raspberry Pi, le connecteur GPIO, a été ajoutée à ce stade, ce qui lui a permis de contrôler des moteurs et de s'interfacer avec des périphériques.
Que peut faire Raspberry Pi
Depuis sa création, Raspberry Pi, de la taille d'une carte de crédit, ne demande pas grand-chose à son utilisateur que tout propriétaire de PC ou de smartphone n'ait déjà. La carte peut être alimentée par un chargeur de smartphone (bien que les besoins en énergie des modèles les plus récents nécessitent des versions un peu plus puissantes). La souris et le clavier sont connectés via USB, tandis qu'un écran peut être relié à l'interface HDMI. Les cartes de première génération supportaient également une sortie vidéo composite, mais celle-ci a été supprimée avec l'introduction de la deuxième génération.
Il existe une gamme de systèmes d'exploitation basés sur Linux qui doivent d'abord être copiés sur une carte SD, bien que certaines cartes préprogrammées soient disponibles. Le système d'exploitation initial était Raspian (désormais appelé Raspberry Pi OS), une distribution basée sur Debian, à laquelle s'est ajoutée plus récemment Ubuntu. Microsoft propose également Windows IoT Core, une version allégée de Windows destinée aux applications de l'Internet des objets. RISC OS, créé à l'origine pour les ordinateurs Archimedes qui ont succédé au BBC Micro, et des distributions de systèmes de centre multimédia comme LibreELEC sont également pris en charge.
La vue d’ensemble du système d'exploitation Raspberry Pi comprend une gamme d'applications logicielles qui permettent aux utilisateurs de tout âge de se lancer. Les jeunes utilisateurs qui souhaitent s'initier à la programmation peuvent utiliser l'environnement visuel Scratch. À l'instar de LOGO [10] de l'époque de la BBC Micro, des procédures simples peuvent être décrites et mises en boucle, et des réponses à des entrées simples peuvent également être mises en œuvre. Pour ceux qui recherchent un langage de programmation, Python est également disponible. Un programme passionnant mais peut-être souvent négligé est le synthétiseur Sonic Pi [11], et son langage de programmation simple permet de créer de la musique polyphonique. Enfin, Wolfram et Mathematica fournissent des outils puissants pour aborder les problèmes scientifiques et d'ingénierie à l'aide des mathématiques.
Le système d'exploitation comprend également un navigateur Web et une boutique où des programmes et des applications supplémentaires peuvent être téléchargés. Pour les personnes intéressées par les jeux, une version de Minecraft est également incluse. Python peut également être utilisé pour programmer le jeu, ce qui permet d'insérer et de manipuler des objets dans le monde en 3D.
Quel Raspberry Pi est le meilleur pour moi ?
Au cours des dix dernières années, quatre générations différentes de Raspberry Pi ont été introduites au format carte de crédit. Au cours de cette période, la quantité de mémoire et les performances du processeur dans le système sur puce n'ont cessé de s'améliorer. Si vous débutez votre aventure, vous avez tout intérêt à investir dans les modèles les plus récents de Raspberry Pi 4 [12,13] (figure 2). L'expérience utilisateur est meilleure, grâce au processeur plus rapide, notamment lors de l'utilisation du navigateur Web et des applications basées sur le navigateur, telles que Node-RED [14]. Il prend également en charge deux moniteurs HDMI 4k, dispose d'Ethernet gigabit et de la W-Fi bibande, et offre des ports USB 2.0 et 3.0. Grâce à une large gamme de boîtiers disponibles, la carte peut être intégrée facilement et en toute sécurité à tout circuit externe.
Si votre objectif est plutôt d'utiliser Raspberry Pi comme une alternative à un ordinateur classique, le nouveau Raspberry Pi 400 [15] est un excellent choix (figure 3). L'ordinateur est intégré dans un clavier, ne nécessitant qu'une souris et un écran à connecter pour démarrer. Les packs complets comprennent également une alimentation électrique et un guide de démarrage.
Tout le monde n'a pas besoin d'un écran pour l'utilisation qu'il envisage, notamment si vous cherchez à intégrer une machine basée sur Linux dans quelque chose comme une machine industrielle ou un robot. Pour de tels cas, Raspberry Pi Zero, introduit pour la première fois en 2015, mérite d'être considéré. Également disponible avec le WLAN [16], cette version compacte conserve l'interface GPIO à 40 broches pour contrôler les moteurs ou communiquer avec les périphériques I2C et SPI.
Raspberry Pi Pico introduit en 2021, se démarque des plates-formes alimentées par Linux de ses prédécesseurs (figure 4). Pico est doté d'un microcontrôleur RP2040 qui intègre deux processeurs Arm Cortex-M0+, des cœurs qui ne sont pas adaptés à l'exécution de Linux. Il peut plutôt être considéré comme une alternative aux cartes Arduino, bien que ses performances soient suffisamment bonnes pour l'apprentissage automatique bas de gamme utilisant TensorFlow Lite [17].
Comment les capacités peuvent-elles être étendues ?
Grâce à l'embase GPIO standardisée, plusieurs HAT et autres cartes d'extension sont disponibles pour étendre les capacités de votre Raspberry Pi. Comparables aux Shields pour les produits Arduino, ils vont du plus simple au plus complexe. Le prototypage est simplifié avec le JOY-iT ProtoShield+ [18] qui offre des connexions soudables, des bornes à vis et des connecteurs au pas de 2,54 mm. L'utilisation de Raspberry Pi à partir d'une batterie est simplifiée avec le JOY-iT StromPi3 [19], qui permet de supporter une plage de tension d'entrée plus large que 5 V. En plus de vous informer lorsque la source de la batterie doit être rechargée, il comprend également une horloge en temps réel, permettant a Raspberry Pi de conserver l'heure exacte sans accès à Internet.
Il existe également des options pour ceux qui cherchent à améliorer la qualité de la sortie audio. HiFiBerry [20] utilise des convertisseurs numériques-analogiques Burr-Brown de haute qualité et s'intègre aux commandes du mélangeur ALSA utilisé dans Linux. D'autres HAT incluent des relais pour la domotique et le contrôle, des interfaces bus CAN et RS-485, et des cartes d'extension I2C [21].
Les cartes Raspberry Pi comprennent également deux interfaces de circuit imprimé flexible. L'une d'elles prend en charge une interface de sortie vidéo numérique utilisée avec les dalles LCD. Une gamme d'écrans de moins de dix pouces permet de construire des applications autonomes, telles que des stations météorologiques ou des centres multimédias, couplées à une interface d'écran tactile. L'autre interface est une entrée vidéo, pour laquelle il existe également une gamme de caméras disponibles (figure 5). Le module caméra V2 de Raspberry Pi [22] peut être utilisé pour mettre en œuvre le streaming vidéo, la photographie en temps réel, ou même la reconnaissance d'images avec des outils ML. Pour ceux qui souhaitent capturer ce qui se passe dans leur jardin la nuit, des caméras infrarouges sont également disponibles [23].
Et ensuite?
En l'absence de feuille de route claire fournie par la Fondation Raspberry Pi, nous ne pouvons pas dire à quoi ressemblera la prochaine génération de cartes. En tant que fournisseur de système sur puce, Broadcom continue à développer sa technologie, donc plus de performances et plus de cœurs seront très probablement disponibles. Il y a également de fortes chances que les capacités graphiques soient améliorées. La mémoire a aussi progressé, il est donc possible que l'on passe à la SRAM LPDDR5. À la lecture des blogs, des forums et des articles en ligne, le passage au micro HDMI semble avoir dérangé de nombreuses personnes, mais il est difficile de voir comment le remplacement par des connecteurs HDMI de taille normale peut s'accommoder de ce minuscule facteur de forme.
Une mise à niveau bénéfique serait l'abandon de la carte SD au profit du stockage UFS. Les smartphones et, dans une certaine mesure, l'automobile évoluent déjà dans ce sens, il serait donc surprenant que Broadcom ne le prenne pas en charge. Par ailleurs, la prise en charge intégrée d'un SSD NVMe M.2 sous la forme d'un module pourrait rendre des centaines de gigaoctets de stockage facilement disponibles. Le Wi-Fi 6 offre d'autres possibilités de mise à niveau, mais il est peu probable qu'une telle évolution apporte un avantage significatif.
En dehors du domaine de l'éducation et de la scène maker, les industriels se sont tournés en grand nombre vers Raspberry Pi. Compte tenu de la croissance des algorithmes d'apprentissage automatique utilisés dans les systèmes de vision, une carte dotée d'une sorte d'accélérateur d'IA serait logique.
On peut dire que tout le monde a été abasourdi par la sortie d'une nouvelle pièce de silicium lors du récent lancement de Raspberry Pi Pico. Peut-être faut-il y voir le signe que Raspberry Pi 5 sera lui aussi équipé d'une surprise ?