Petit Rappel :
Un Raspberry est un vrai micro ordinateur (on dit nano à cause de sa taille)
Il a un processeur (entre 0,7 GhZ et 1,2 Ghz), dont certains sont multi-coeurs
Pas mal de mémoire vive (entre 0,256 Go et 8 Go !)
Un vrai système d’exploitation (Linux)
Et un disque dur (en fait sous la forme d’une carte micro-SD)
Un Arduino, en ESP32 ou une carte PyBoard est une sorte de micro-contrôleur programmable : ce n’est pas un ordinateur.
Il a un petit micro-processeur (entre 0,008 Ghz et 0,320 Ghz)
Un tout petit peu de mémoire vive (moins de 0,002 Go)
Carte Arduino Uno | Carte Raspberry 3 |
Carte Arduino nano | Carte Raspberry Zero |
Lequel choisir pour notre projet ?
Voici un petit tableau récapitulant ce qu’il est possible de faire avec l’un et l’autre :
Raspberry | Arduino | Description | |
---|---|---|---|
Horloge RTC | Aucune | Aucune | Ces composants ne peuvent connaitre la date et l'heure que via un périphérique externe (horloge RTC, GPS ou connexion internet) |
Encombrement | Moyen (Pi zéro) à relativement important (Pi2,3 et 4) | Très faible ( Arduino nano) a relativement important (Arduino MEGA) | Taille de la carte mère |
Mesure de données digitales | via GPIO Sans problème | via GPIO Sans problème | Ils sont fait pour |
Mesure de données analogiques | Impossible sans un périphérique dédié | Plusieurs entrées Analogiques | Le Raspberry n'est pas fait pour |
Port série | Ou un hardware Possibilité d'en ajouter un software | Ou un hardware, réservé normalement à la programmation. Possibilité d'en ajouter un software | Le port série c'est historique ! |
I2C | 1 port, possibilité d'en ajouter d'autres via paramétrage | 1 port | On peut exploiter plusieurs périphériques I2C sur un même port s'ils n'ont pas la même adresse |
SPI | Oui, 1 port | Oui 1 port | |
Comportement en cas d'extinction brutale | Déconseillée : ceci peut endommager le système de fichier sur la carte SD et empêcher le Raspberry de démarrer | Aucun problème | Un Raspberry est un nano ordinateur, il utilise un vrai système d'exploitation. Son disque dur est constitué de la carte SD. Comme tout PC, il n'apprécie pas les extinctions brutale |
Quand notre programme va-t-il démarrer ? | Il se lancera seulement lorsque tout le système d'exploitation aura finit son processus de démarrage | Immédiatement | Un Arduino n'a pas de système d'exploitation. Il a bien un processus de boot mais minimaliste et qui est traité presque instantanément |
Possibilité de gérer une base de données | Oui, même une base de données complexe | Non | |
Possibilité d'héberger un site web | Oui, même complexe | Non, ou à la rigueur une page minimaliste | |
Lecteur de carte SD | Présent par défaut et indispensable | Absent par défaut (excepté certains modèles) | Possibilité d'ajouter un lecteur de carte SD |
Wifi / Bluetooth | Présent par défaut (Sauf Raspberry 1 et 2) | Absent par défaut (sauf certaines cartes) | Possibilité d'ajouter un module Wifi ou bluetooth |
Puissance de calcul disponible | Importante (700Mhz pour le plus petit des Raspberry) | Très faible (32Mhz, quelques centaines de ko de mémoire) | |
Langage de programmation disponible | Presque tout ce que vous voulez | le C Arduino et micro python sur certaines cartes |
Conclusion:
Tout dépend de ce que vous recherchez :
Si vous désirez un data logger capable d’afficher des données, de déclencher des relais, voir d’enregistrer les traces GPS sur carte SD pour une lecteur éventuelle ultérieur : Il vaut mieux un micro-contrôleur.
Vous voulez ajouter l’envoi en temps réel de la position via une clé GSM ou du Lora-Wan ? Cela conviendra encore.
Vous voulez ajouter l’envoi par bluetooth des fichiers de traces ? Ca devrait rester possible en choisissant un micro-contrôleur ayant assez de mémoire.
Mais si vous voulez en plus des traitements sur le fichier de données, l’envoi par ftp du fichier de manière automatique, l’hébergement d’une page web de paramétrage de votre data-logger ou une base de données dans votre data-logger : alors il vous faut un Raspberry.
Pour un grand débutant, il est plus aisé de commencer par un micro-contrôleur de type Arduino car vous n’avez pas alors à vous préoccuper de l’installation du système d’exploitation, des logiciels nécessaires à votre projet bref de tout l’environnement de développement dont vous auriez besoin avec un Raspberry et la communauté Arduino est extrêmement active : vous n’aurez qu’à mettre au point votre programme, tous les pilotes de périphériques externes seront disponibles.
Sur le Micro-Contrôleur, il vous faut juste un PC (qu’il soit sous MacOS, Linux ou Windows), le logiciel de programmation Arduino ou Thonny (qui sont gratuits) , apprendre quelques rudiments de programmation et savoir inclure les bibliothèques dont vous aurez besoin pour avoir le contrôle de vos périphériques.
De plus, la carte Arduino Nano est grosse comme un timbre poste et coûte moins de 10 €, Un ESP32 est beaucoup plus puissant, il coûte dans les 25 € et est gros comme une petite carte de visite
Pour parfaire le tout, presque tous les composants externes (GPS, Relais…) sont utilisables avec Arduino, PyBoard, ESP32 et Raspberry (il suffit de s’en assurer au moment de l’achat)
Alors vous êtes prêts à investir moins de 40 € dans les 1ers composants et à vous lancer ?
Si oui, alors je propose de commencer par le plus simple :
Un Arduino relié à un GPS affichant ses données sur un écran et déclenchant un relais lorsque le boitier se met en mouvement.
Une fois ce modèle fonctionnel, nous ajouterons au fur et à mesures d’autres fonctionnalités, puis nous ferons de même avec un ESP32 et enfin avec un Raspberry.