Perso je prendrais via UART ou tout autre chose via le GPIO, car par USB, je me dit que tu as une interface qui est géré par le OS, dont une étape en plus, bref, tu est plus direct avec ton matériel avec UART qu’avec USB.
Pour donner une chance au RPi0 de bien rouler, il faut retirer déjà tout ce qui est inutile au projet. Par la suite, utiliser le moins de libraire et autres chose demandant du CPU pour permettre à tout les senseurs, cams, etc… de marcher au mieux de leur potentiel.
L’intégration des élément au projet doivent être vérifier étape par étape, pour déceler la ou ça peut avoir des problèmes. Et tu n’auras qu’a débugger ce dernier ajout que l’ensemble du projet. Et tu pourras voir avec le temps ce que le projet exige réellement en puissance et en alimentation.
Vu que le temps réel est ton point le plus important, il faudra établir ton lien Wifi en premier. Après tu y va avec les caméras, senseurs, etc… Si tu songe à utiliser un Wifi ajouté au RPi, pense a désactiver le support Bluetooth et Wifi interne du chipset, tu gagneras un peu de puissance. Tu peux également désactiver l’affichage, et/ou de lui forcer une basse résolution, ainsi que réduire la demande de la mémoire dédié au GPU.
Si possible, le OS j’opterais pour un plus ancien, genre Debian buster ou bulleyes. Car étant un peu plus vieux, les guides sont plus facilement trouvables. Leur exigence matériel plus faible, et par conséquent, moins lourd comme système « de fond ». Je n’ai pas l’intention moi même de changer les OS de mes RPi pour le bookworm, je n’ai pas de RPi 4 et 5. J’aime mieux la philosophie Raspberry avant l’arrivé du RPi 4. Sauf les zéro, que j’aime, mais qui sont peux performant (v1.x).
Plusieurs vont recommander DietPi, qui semble en effet plus légé sur papier, mais dans mes tests, j’ai rencontré tellement de problèmes pour mettre en route des choses pourtant simple, et que je ne pouvais pas simplement copier mes lignes d’install de Raspbian à DietPi, que j’ai abandonné sont usage assez vite.
Après faut faire un test sur la durée, car les performances peuvent ce dégrader avec le temps.
J’ai par exemple monté un projet de « dashcam »; Raspbian Buster Lite, RPi zero v1.3, RPi Camera. Rien de compliqué, ffmpeg pour capturer la vidéo via l’exécution de raspvid pour avoir l’image en sortie analogique sur un écran de tableau de bord, 320x240.
La coupe des fichiers était au 2 minutes, j’ai testé le 3 et 5 minutes, mais j’avais plus de problème que je vais exposer ici. La vidéo dans les premiers moments était relativement fluide, et de bonne qualité, mais en exécution plus long, la durée des fichiers, la qualité et le fps ont été grandement affecté, jusqu’à des manque de plusieurs minutes.
L’usage d’une caméra demande beaucoup au CPU et au système, le RPi zero v1.x peut faire marcher une caméra et en faire le stream (j’ai deux caméra de sécurité basé sur ça) mais faut aucune affichage, aucune autre process que « motion » en exécution, un usage minimal de la carte SD. Dès que je passe par exemple « sudo apt update
», j’ai un lag vidéo ou même une perte de lien vidéo. La résolution est de 720x480 mjpeg 30fps (~15kb/s de stream).
Vu que c’est pour un drone, je passe vite sur le fait qu’il faut un reboot à la semaine idéalement.
Tk j’arrête la, ça te donne une idée qu’il faut penser à pas mal de truc, et de que le projet est réalisable, mais prendra du temps. Ce n’est pas comme un PC ou qu’ont fait qu’ajouter des appareils USB, code quelques lignes et tout est en ligne. Mais bien aller comme un « R&D » pour créer un produit depuis zéro.