1.3 Comparaison d’Arduino et de Raspberry Pi
Arduino et Raspberry Pi contiennent des microcontrôleurs et sont les plateformes les plus répandues pour le prototypage d’objets connectés. Il en existe une quantité d’autres plus ou moins similaires, variant en prix et en ressources disponibles. Voici une comparaison de ces deux plateformes. Les principales différences sont les ressources et les connecteurs disponibles, et la présence du système d’exploitation sur le Raspberry Pi seulement, avec tous les avantages qui en découlent. Pour commencer, voici les différentes ressources et les différents connecteurs. On peut les voir sur les images Figure 12 — Arduino, ses ressources et ses connecteurs et Figure 13 — Raspberry Pi, ses ressources et ses connecteurs.
Figure 12 — Arduino, ses ressources et ses connecteurs
Figure 13 — Raspberry Pi, ses ressources et ses connecteurs
Ensuite, le tableau suivant présente un résumé des différences quand on veut développer des objets connectés à partir d’un Arduino ou d’un Raspberry Pi.
Arduino | Raspberry Pi |
---|---|
Pas de système d’exploitation; | Système d’exploitation basé sur le noyau Linux; |
Utilise un langage de programmation compilé, comme C ou C++; | On peut utiliser un langage interprété comme Python; |
On doit développer sur un ordinateur et on envoie notre programme à l’Arduino via USB; | On peut développer directement sur le Raspberry Pi en y attachant clavier, souris et écran, ou en s’y connectant à distance; |
Un seul programme à la fois; | Plusieurs programmes possibles; |
Pas de débogueur; | Débogage plus facile; |
Mémoire interne limitée; | Système de fichiers; |
Ressources et matériel minimaux; | Plus de ressources (nécessaires pour supporter un système d’exploitation) et de matériel; |
Ajout de cartes supplémentaires (shields) pour étendre les fonctionnalités; | Beaucoup de fonctionnalités et de connecteurs déjà présents; Ajout de cartes d’extensions (hats) possible; |
N’intègre directement ni la connectivité réseau ni le sans-fil; Ajout de cartes supplémentaires pour la connectivité réseau | Ethernet et Wi-Fi présents; |
Permet de lire directement les entrées analogues. | N’interface pas directement avec des signaux analogues;Nécessite l’utilisation d’un convertisseur analogue à numérique. |
Voici des images présentant les deux environnements de développement. L’environnement d’Arduino permet de coder, vérifier et compiler le code avant de le transférer. L’environnement de Raspberry Pi est celui par défaut dans le système d’exploitation, mais il est possible d’en installer un autre ou de développer sur un autre ordinateur dans l’environnement de notre choix.
Figure 14 — Environnement de développement Arduino
Figure 15 — Environnement de développement Raspberry Pi
Finalement, les schémas suivants illustrent le processus du développement de la programmation à l’exécution pour chacune des plateformes.
Figure 16 — Processus de développement avec Arduino
Figure 17 — Processus de développement sur Raspberry Pi