Que choisir : Micro-contrôleur ou Raspberry ?

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 UnoCarte Raspberry 3
Carte Arduino nanoCarte 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 :

RaspberryArduinoDescription
Horloge RTCAucuneAucuneCes composants ne peuvent connaitre la date et l'heure que via un périphérique externe (horloge RTC, GPS ou connexion internet)
EncombrementMoyen (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 digitalesvia GPIO Sans problèmevia GPIO Sans problèmeIls sont fait pour
Mesure de données analogiquesImpossible sans un périphérique dédiéPlusieurs entrées AnalogiquesLe Raspberry n'est pas fait pour
Port sérieOu 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 !
I2C1 port, possibilité d'en ajouter d'autres via paramétrage1 portOn peut exploiter plusieurs périphériques I2C sur un même port s'ils n'ont pas la même adresse
SPIOui, 1 portOui 1 port
Comportement en cas d'extinction brutaleDéconseillée : ceci peut endommager le système de fichier sur la carte SD et empêcher le Raspberry de démarrerAucun problèmeUn 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émarrageImmédiatementUn 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éesOui, même une base de données complexeNon
Possibilité d'héberger un site webOui, même complexeNon, ou à la rigueur une page minimaliste
Lecteur de carte SDPrésent par défaut et indispensableAbsent par défaut (excepté certains modèles)Possibilité d'ajouter un lecteur de carte SD
Wifi / BluetoothPré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 disponibleImportante (700Mhz pour le plus petit des Raspberry)Très faible (32Mhz, quelques centaines de ko de mémoire)
Langage de programmation disponiblePresque tout ce que vous voulezle 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.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.