🛠 Maîtriser les entrées-sorties sur AIWorld P1

Module d'IA AIWorld P1 pour BPI-M2 Ultra et Berry · intermediaire · Apprenez à lire les données du capteur IMU et à contrôler les GPIO via Vecoo Linux.

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

É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 ``

  1. Préparation de l'environnement

Ouvrez un shell sur la carte pour interagir avec le noyau Linux. ``bash adb shell ``

  1. 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.*

  1. 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 ``

  1. 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.

  1. Compilation et exécution d'un test

Vérification

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.

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels