15 Projets Python Originaux sur Raspberry Pi (Tout niveau)


Python est un élément important sur Raspberry Pi, et de nombreux projets pourront être réalisés une fois que vous aurez appris les bases de ce langage de programmation. En fait, il y a tellement de projets Python qui peuvent être réalisés sur Raspberry Pi qu’on peut vite s’y perdre. C’est pourquoi j’ai créé cet article, pour vous donner quelques idées intéressantes pour commencer.

Dans cette liste, vous découvrirez différents projets, certains sont destinés aux débutants, d’autres sont plus avancés, certains nécessitent du matériel, d’autres non, et il n’y a pas d’ordre précis. Il vous suffit de parcourir cette liste et de choisir votre prochain projet. Vous pouvez également en mélanger plusieurs pour créer quelque chose d’encore plus intéressant :).

Au passage, si vous vous sentez dépassé dès que Python est nécessaire pour un projet, je vous conseille de télécharger mon e-book « Maîtrisez Python on Raspberry Pi« . Il vous guidera pas à pas pour apprendre les concepts essentiels (et uniquement ceux-là) pour réaliser n’importe quel projet à l’avenir. Un Raspberry Pi sans Python, c’est comme une voiture sans moteur, vous ratez le plus intéressant ;-).
Profitez de 10 % de réduction en le téléchargeant dès aujourd’hui !

Utiliser les broches GPIO

Téléchargez mon antisèche !
Toute la syntaxe Python indispensable à connaitre (1 page au format PDF).

Je sais que cela peut sembler évident pour la plupart d’entre vous, mais je dois commencer par là. Python est un langage polyvalent populaire. Il serait dommage d’avoir un Raspberry Pi et de faire l’impasse sur les broches GPIO.

En branchant certains composants électroniques externes sur les broches GPIO, vous pouvez créer des projets beaucoup plus intéressants et exploiter cette fonctionnalité du Raspberry Pi. Le projet de base rencontré dans tout article de ce type consiste à allumer une LED avec Python. Génial ! C’est un projet obligatoire pour apprendre à utiliser les broches GPIO avec Python, mais il ne sert à rien.

Mon kit GPIO de SunFounder : des dizaines d’accessoires avec lesquels jouer.

Les broches GPIO peuvent être utilisées pour beaucoup plus de choses que cela, il y a des dizaines d’accessoires amusants que vous pouvez brancher dessus ! Vous pouvez également utiliser des HAT si, comme moi, vous n’êtes pas le meilleur bricoleur du monde.

Une fois que vous aurez compris les bases de Python, je vous recommande vivement de commencer par des accessoires de base. Allumer une LED bien sûr, mais essayez aussi d’aller un peu plus loin et de jouer avec des boutons, des capteurs et des moteurs pour construire votre propre projet à partir de rien.

Vous avez besoin d’aide pour commencer ? Consultez cet article.

Maîtrisez Raspberry Pi en 30 jours
10% de remise aujourd'hui !
Téléchargez le livre numérique.
Découvrez les secrets du Raspberry Pi à travers un challenge de 30 jours.

Programmer Minecraft Pi

J’aime les supports visuels quand j’apprends quelque chose de nouveau, et si c’est sous la forme d’un jeu, c’est encore mieux.

Pour apprendre le Python, une approche interactive avec Minecraft sur Raspberry Pi est parfaite.
Tout est préinstallé sur Raspberry Pi OS, vous pouvez donc commencer immédiatement et utiliser l’API de Minecraft.

Ce n’est peut-être pas la première chose que vous ferez en Python, mais une fois que vous saurez comment utiliser les fonctions et les modules, ça devrait être un excellent exercice. Il est possible d’envoyer des messages dans le chat, d’interagir avec les blocs dans le jeu et de placer également des blocs (pour construire une maison avec Python par exemple).

J’ai rédigé un article entier à ce sujet, n’hésitez pas à le lire si vous avez besoin d’exemples sur la façon de démarrer avec Python et Minecraft Pi.

Initiation au Raspberry Pi
10% de remise aujourd'hui !
Visionnez ma formation vidéo pour démarrer du bon pied.
Découvrez le Raspberry Pi, le matériel, ses logiciels particuliers et créez vos 5 premiers projets avec moi.

Amusez-vous avec le Sense HAT

Le Sense HAT est mon extension préférée pour Raspberry Pi. J’ai testé de nombreux HATs (liste ici), mais le Sense HAT a de nombreuses fonctionnalités intéressantes :

  • De multiples capteurs : température, humidité, accéléromètre, pression atmosphérique, etc.
  • Une matrice de LED pour afficher n’importe quoi (textes et pixels).
  • Un joystick pour interagir avec elle.

C’est un produit fabriqué par la fondation Raspberry Pi, donc il fonctionne parfaitement et la bibliothèque associée est assez facile à utiliser. Je pense que si vous pouvez vous en procurer un, c’est un excellent investissement (vérifiez le prix sur Amazon). Vous pouvez l’utiliser pour renforcer vos compétences en Python, mais aussi comme élément de base pour de nombreux autres projets (pour ses capteurs, son écran ou les deux).

J’ai rédigé un tutoriel complet sur la façon de démarrer avec le Sense HAT sur Raspberry Pi. Je vous recommande de le lire si vous êtes novice en la matière. La première partie explique ce qu’est le Sense Hat et comment il fonctionne et la seconde partie est consacrée à sa programmation en Python.

Maîtrisez Python sur Raspberry Pi
10% de remise aujourd'hui !
Téléchargez le livre numérique.
Envie d'aller un peu plus loin que faire clignoter une LED ? Vous avez besoin de ce livre pour passer à des projets plus avancés.

Créer un site Web avec Python

Je suis un développeur web, et quand je pense à la création d’un site web, Python n’est pas la première option qui me vient à l’esprit. Mais Python peut être utilisé pour cela et avant tout, créer un site web avec Python est un excellent moyen de faire quelque chose de visuel et de concret (apprendre avec des concepts abstraits est plus difficile et peu efficace).

La façon la plus simple de le faire sera d’utiliser un framework, Flask par exemple. Il se chargera de toutes les parties compliquées du serveur web, de sorte que vous pourrez vous concentrer sur le code. Vous utiliserez Python pour toutes les parties dynamiques, mais l’affichage sera du HTML standard.

Ils ont une solide documentation ici, que je recommande de consulter si vous êtes novice en la matière. Créez quelques pages, reliez-les entre elles et partagez ce que vous voulez avec quelques lignes de Python :).

Contrôlez vos ampoules connectées avec Python

C’est un autre excellent moyen d’avoir quelque chose de visuel avec lequel jouer. En général, vous contrôlez vos ampoules connectées depuis une application sur votre smartphone, mais certaines d’entre elles, comme Philips Hue, disposent d’une API complète. Vous pouvez les contrôler avec la plupart des langages, et Python en fait partie.

Quel que soit votre objectif : créer un arbre de Noël ou simplement allumer et éteindre la lumière à des heures précises, vous pouvez le faire avec Python et l’API Philips Hue.
Il vous suffit de disposer de quelques ampoules (ce kit de démarrage est parfait) et de la documentation de l’API.

Pour rendre cela encore plus facile, j’ai rédigé un guide complet sur la façon de procéder avec Philips Hue. Même si vous êtes un débutant avec Python, je pense que vous pouvez suivre ce guide et apprendre à interagir avec l’API pour faire exactement ce que vous voulez.

Créer une interface utilisateur visuelle

Créer des scripts Python, c’est bien. Mais cela n’offre pas la meilleure expérience utilisateur. Vous devez l’exécuter manuellement en utilisant une ligne de commande et si votre script a besoin de données de votre part pour exécuter quelque chose, vous devez également utiliser le terminal pour répondre aux questions. Ce n’est pas vraiment un projet en soi, mais vous pouvez essayer d’améliorer n’importe lequel de vos projets existants en ajoutant une interface graphique.

Contrairement à d’autres langages (j’ai de mauvais souvenirs de ce que j’ai fait en Java, c’est peut-être juste moi), la création d’une interface graphique utilisateur (GUI) sur Raspberry Pi peut se faire sans effort. Par exemple, vous pouvez utiliser la bibliothèque « guizero ».
Le classique « Hello world » ressemblera à ceci :

from guizero import App, Text

app = App(title="Hello world")
message = Text(app, text="Hello world")
app.display()

À partir de là, vous pouvez ajouter du texte d’entrée, un bouton, etc.
C’est un excellent moyen d’améliorer vos scripts, mais vous pouvez également l’utiliser pour créer des jeux simples ou peut-être pour exécuter des commandes Linux en arrière-plan.

Quoi qu’il en soit, il y a une documentation complète disponible ici, n’hésitez pas à l’utiliser pour commencer à utiliser guizero.

Si vous ne savez pas comment installer les paquets Python sur votre Raspberry Pi (en anglais), cliquez sur ce lien pour lire mon article complet sur le sujet.

Obtenir des données à partir d’une API

API signifie « Application Programming Interface » (interface de programmation d’applications). Il s’agit d’une méthode permettant à deux ordinateurs ou programmes de communiquer entre eux. De plus en plus de sites web disposent d’API pour obtenir des données, souvent en temps réel.
Donc, ce n’est pas vraiment un projet Python en soi, mais c’est une chose à laquelle il faut penser quand on a un projet en tête : « Y a-t-il une API disponible pour améliorer ce projet ? ».

Par exemple, j’ai automatisé toutes les ampoules de chez moi (j’ai des ampoules Philips Hue, comme expliqué précédemment). Je peux programmer l’heure à laquelle les lumières s’allument et s’éteignent dans chaque pièce. Mais cela n’est pas optimal, car on n’a pas besoin de lumière aux mêmes heures en janvier ou en juillet. J’ai donc connecté mon script à une API qui fournit les heures de coucher et de lever du soleil, pour ajuster la programmation avec ces informations. Cela fonctionne parfaitement !

Il existe de nombreuses autres API que vous pouvez utiliser, peut-être voulez-vous connaître l’emplacement de l’ISS, les statistiques COVID dans votre pays ou n’importe quoi d’autre. Il suffit de faire une recherche sur Google pour trouver ce que vous pouvez utiliser.

Construisez et contrôlez votre robot avec Python

Construire un robot avec un Raspberry Pi, c’est comme réunir plusieurs projets en un seul, et c’est vraiment amusant. Je m’amuse actuellement avec le Robot Dog de Freenove, et il est incroyable (j’ai fait un test de ce kit ici). L’assemblage est comme la construction d’une maquette ou d’un Lego Technic. Ensuite, vous pouvez coder pour contrôler la caméra, la LED, le module ultrasonique et évidemment déplacer le robot dans toutes les directions.

Une fois que vous avez compris les bases, vous pourrez définir des objectifs spécifiques pour votre robot, qui devient pratiquement à chaque fois un nouveau projet. Il peut suivre une balle rouge, reconnaître des visages et éviter des obstacles.

Si vous recherchez le meilleur kit de robot , vous pouvez lire mon article ici, il n’est pas très cher, et il est livré avec de nombreux accessoires GPIO que vous pourriez utiliser pour d’autres projets.

Créer un cluster de Raspberry Pi

Pour certains projets exigeants, vous pouvez penser que l’utilisation d’un Raspberry Pi n’est pas le meilleur choix. C’est peut-être vrai que les performances sont loin d’être illimitées et qu’un petit PC est parfois un meilleur choix. Mais une autre option pourrait être de construire un cluster de Raspberry Pi.

En bref, vous connectez plusieurs Raspberry Pi ensemble pour combiner leurs composants en une seule entité plus puissante. Ensuite, vous pouvez utiliser un protocole comme MPI pour exécuter un script Python sur tous les Raspberry Pi en même temps. Il existe de nombreux cas où cela peut être utile, comme vous pouvez le lire dans mon article ici.

J’ai également rédigé un guide sur la façon de construire un cluster de Raspberry Pi si vous voulez essayer.

Créer un bot Discord avec Python

Discord est une application gratuite de messagerie textuelle, vocale et vidéo. Elle est similaire à Slack, mais était principalement destinée aux joueurs. Elle est maintenant utilisée par de nombreuses communautés, et pas seulement par les joueurs.

Quoi qu’il en soit, il est possible d’utiliser Python pour créer un bot Discord qui en se connectant à un serveur effectuera les actions que vous aurez programmées. En général, les bots sont utilisés pour ajouter des fonctionnalités supplémentaires au serveur Discord, par exemple : commandes de gestion, lecture de musique, fournir une API à un périphérique externe (comme votre Raspberry Pi).

Cela peut être fait assez facilement, car discord a une fonctionnalité spécifique pour le faire (web hooks), et Python est le langage parfait pour les utiliser. Si vous voulez en savoir plus, vous pouvez lire cet article (en anglais) ou regarder la vidéo ci-dessous :

Construire une station météo

Ce n’est probablement pas le premier projet que vous allez réaliser en Python, car vous aurez besoin de beaucoup de matériel et d’une bonne connaissance de Python pour le contrôler, mais c’est un projet populaire. Avec tous les capteurs disponibles et la faible consommation d’énergie d’un Raspberry Pi, cela semble être le projet parfait pour celui-ci.

Vous pouvez trouver des kits complets, mais vous pouvez aussi acheter tous les composants séparément pour construire quelque chose de personnalisé. La partie Python ne devrait pas être compliquée à coder, car des bibliothèques sont disponibles pour chaque capteur. Vous pouvez même l’alimenter avec un panneau solaire, comme expliqué dans cet article (en anglais).

Si vous voulez, la Fondation Raspberry Pi a un guide de projet étape par étape à ce sujet (lien ici).

Coder un jeu en Python

Non, coder un jeu n’est pas forcément trop compliqué. Si vous pensez cela, c’est que vous avez en tête des jeux récents en 3D. Mais un jeu de base de type Tic Tac Toe, ou même un jeu de texte de type RPG peut être facile à coder.

Une fois encore, l’idée est de trouver quelque chose d’amusant, de visuel et de bien défini pour tester vos compétences en Python. Il est toujours plus facile d’apprendre dans ce cas que d’apprendre uniquement à partir de concepts abstraits.

Un MagPi entier est consacré à ce sujet, et je pense que c’est la meilleure façon de commencer. Vous pouvez le lire (gratuitement) ici.

Automatisez votre potager d’intérieur

Tu n’as pas la main verte ? Moi non plus.
Pas d’inquiétude, Python et un Raspberry Pi peuvent vous sauver la vie !

De nombreux projets peuvent être réalisés avec un Raspberry Pi grâce aux broches GPIO, et même des projets originaux.
Vous pouvez brancher une lampe et une pompe sur votre Raspberry Pi, puis les contrôler avec Python pour prendre soin de vos plantes automatiquement. Elles ne manqueront plus jamais de soleil et d’eau !

Vous pouvez trouver un exemple de ce type de projet sur Hackster. Il est basique car il planifie l’arrosage et la lumière, mais je suis sûr que l’on peut faire encore mieux avec un capteur d’humidité ou quelque chose comme ça.

Expérimenter avec le Machine Learning

Si vous n’avez pas trouvé de projet pour vous dans cette liste, c’est peut-être parce que vous êtes déjà un peu plus avancé !
Dans ce cas, vous pouvez creuser un peu vers les projets d’intelligence artificielle. Le Machine Learning n’est pas toujours aussi compliqué qu’il n’y paraît (ce projet Cats vs Dogs sur le site de la Fondation Raspberry Pi en est un excellent exemple).

Ce projet utilise TensorFlow pour reconnaître des chats et des chiens dans différentes images. Évidemment, cela peut être beaucoup plus compliqué, mais c’est un excellent moyen d’apprendre, en commençant petit et en améliorant votre programme progressivement. Ce sera encore mieux si vous pouvez trouver une application réelle, mais de toute façon cela doit être amusant.

Vous pouvez également utiliser OpenCV pour la reconnaissance d’images, ce qui est une autre façon d’utiliser votre Raspberry Pi pour le Machine Learning.

Contrôlez votre caméra

Le Raspberry Pi dispose d’un emplacement spécifique pour brancher un module caméra, alors pourquoi pas ?
Oui, vous pouvez utiliser une bibliothèque Python pour contrôler votre caméra et réaliser toutes sortes de projets avec elle, du photomaton au timelapse en passant par la caméra de sécurité.

Vous voulez plus de détails ? Consultez cet article avec 11 projets que vous pouvez réaliser avec votre module caméra sur Raspberry Pi (en anglais).

Ressources supplémentaires pour votre Raspberry Pi

Initiation au Raspberry Pi en vidéo
Si vous débutez et voulez passer rapidement à la vitesse supérieure, j’ai exactement ce qu’il vous faut.
Regardez ma formation vidéo qui vous aidera à démarrer du bon bien, choisir votre matériel, installer les meilleures applications et vous lancer directement dans vos premiers projets avec mon aide.
Regarder les vidéos dès maintenant

Maîtrisez votre Raspberry Pi en 30 jours
Vous avez besoin de plus ? Si vous êtes à la recherche des meilleures astuces pour devenir expert sur Raspberry Pi, ce livre est fait pour vous. Développez vos compétences sous Linux et pratiquez via de nombreux projets en suivant mes guides étape par étape. 10% de remise aujourd’hui !
Télécharger le livre au format PDF ici

Maîtrisez Python sur Raspberry Pi
Pas besoin d’être un génie pour coder quelques lignes pour votre Raspberry Pi.
Je vous apprends juste ce qu’il faut sur Python afin de réaliser n’importe quel projet. La seconde partie du livre est d’ailleurs consacrée à des exemples de projets ou je vous guide pas à pas.
Ne perdez pas de temps, apprenez le strict nécessaire et économisez 10% avec ce lien :
Télécharger maintenant

Autres ressources pour profiter de votre Raspberry Pi
J’ai regroupé toutes mes recommandations de logiciels, sites utiles et de matériel sur cette page de ressources. Je vous invite à la consulter régulièrement pour faire les bons choix et rester à jour.
Visiter les pages ressources


Ce tutoriel ne marche plus à 100%? Prévenez-moi pour que je le mette à jour!

Patrick Fromaget

Je suis l'auteur principal et le créateur de RaspberryTips. Mon but est de vous aider sur tous vos problèmes qui concernent Raspberry Pi en publiant des guides détaillés et des tutoriels rapides. Dans la vraie vie, je suis administrateur système (Linux principalement) avec une solide expérience dans le développement web.

Recent Posts

"Maitrisez Python sur Raspberry Pi" est enfin disponible en français (10% de réduction cette semaine)

X