🛠 Maîtriser les entrées-sorties sur AIWorld P1
Objectifs
Ce tutoriel vise à comprendre l'interaction matérielle sur la carte AIWorld P1. Vous apprendrez à accéder aux données brutes du capteur inertielle ICM20602 (IMU) et à manipuler les broches GPIO pour le contrôle de périphériques externes. Bien que le kit soit optimisé pour la vision, la compréhension des E/S est cruciale pour la robotique autonome.
Matériel nécessaire
- Carte de développement AIWorld P1 (module Banana Pi).
- Carte hôte compatible : BPI-M2 Ultra ou Berry.
- Câble USB-C ou adaptateur UART pour l'accès terminal.
- Environnement Linux avec ADB installé sur le PC hôte.
- Multimètre ou LED (optionnel pour test GPIO).
Étapes
Connectez l'AIWorld P1 à l'hôte. Assurez-vous que le système Vecoo Linux est démarré. Utilisez l'outil VecooAT pour établir une connexion ADB stable, essentielle pour le transfert de fichiers et le débogage. ``bash adb devices ``
- Préparation de l'environnement
Ouvrez un shell sur la carte pour interagir avec le noyau Linux. ``bash adb shell ``
- Accès au système de fichiers
Le capteur ICM20602 est généralement exposé via l'interface I2C ou un driver dédié dans Vecoo. Vérifiez la présence du périphérique. ``bash ls /dev/i2c* # Si le driver est chargé, les données peuvent être lues via sysfs ou un binaire dédié cat /sys/class/iio/device*/in_accel_x_raw ` *Note : Les chemins exacts dépendent de la configuration du noyau Vecoo. Utilisez dmesg` pour vérifier l'initialisation du bus.*
- Lecture des données IMU (ICM20602)
Les GPIO sont accessibles via le port physique. Pour les manipuler sous Linux, utilisez le système de fichiers sysfs ou la bibliothèque GPIO fournie. ``bash # Exemple générique d'exportation d'un GPIO (numéro à adapter selon le schéma) echo 100 > /sys/class/gpio/export echo out > /sys/class/gpio/gpio100/direction echo 1 > /sys/class/gpio/gpio100/value ``
- Contrôle des GPIO
Utilisez les bibliothèques ARM Computer Library 17.06 pour des tests plus complexes si nécessaire. Compilez un petit programme C utilisant OpenMP pour traiter les données IMU en temps réel.
- Compilation et exécution d'un test
Vérification
- Les valeurs de l'accéléromètre changent lorsque vous inclinez la carte.
- La LED connectée à la broche GPIO s'allume et s'éteint selon les commandes envoyées.
- Aucune erreur de permission (
Permission denied) n'apparaît dans le terminal.
Pour aller plus loin
Intégrez ces données IMU avec le flux vidéo de la caméra OV5640 via Gstreamer pour créer un système de stabilisation d'image ou de détection de mouvement. Explorez l'utilisation d'OpenCV pour corriger la déformation de l'image basée sur les données de l'IMU.