🛠 Mise en route avancée de l'AIWorld P1
Objectifs
Ce tutoriel vise à maîtriser l'initialisation matérielle et logicielle de l'accessoire AIWorld P1. Contrairement aux cartes autonomes, l'AIWorld P1 agit comme un coprocesseur d'IA pour les SBC Banana Pi (M2 Ultra ou Berry). L'objectif est d'établir une communication fiable via le port GPIO, de valider la détection des capteurs (caméra OV5640, IMU ICM20602) et de configurer l'environnement de développement sous Vecoo Linux pour préparer les pipelines multimédias.
Matériel nécessaire
- Carte Banana Pi BPI-M2 Ultra ou BPI-Berry.
- Module AIWorld P1 (SoC Allwinner V40).
- Câble USB-C ou micro-USB pour l'alimentation et le debug.
- PC avec les outils
adbetfastbootinstallés. - Environnement de développement C/C++ (GCC, CMake) sur le PC hôte.
Étapes
- Préparation physique : Éteignez complètement la Banana Pi. Insérez délicatement l'AIWorld P1 dans le port GPIO 40 pins. Assurez-vous que l'orientation correspond (pin 1 vers le coin marqué). Une mauvaise insertion peut endommager le bus I2C/SPI.
- Alimentation et démarrage : Connectez l'alimentation de la Banana Pi. L'AIWorld P1 s'alimente via le GPIO. Au démarrage, le système hôte doit charger le noyau Vecoo Linux. Vérifiez les logs de démarrage via une connexion série ou SSH si configuré.
- Connexion ADB : Connectez le module via USB. Sur le PC, lancez :
adb devices
Si le périphérique apparaît, la communication USB est active. Sinon, vérifiez les permissions udev ou le câble.
- Vérification des drivers : Accédez au shell via
adb shell. Vérifiez la présence des modules noyau pour la caméra et l'IMU :
lsmod | grep v4l
lsmod | grep imu
L'absence de modules nécessite un chargement manuel via insmod si les drivers ne sont pas intégrés par défaut dans l'image Vecoo.
- Test de la caméra : Utilisez l'outil intégré pour capturer une image et valider le pipeline Gstreamer/OpenCV :
gst-launch-1.0 v4l2src device=/dev/video0 ! jpegenc ! filesink location=test.jpg
Si aucune erreur n'apparaît, le chemin vidéo est fonctionnel.
Vérification
Exécutez dmesg | tail dans le shell ADB. Vous devez voir des messages confirmant l'initialisation du SoC Allwinner V40 et la détection de l'OV5640. Testez le capteur inertielle avec un outil de diagnostic fourni ou via un script Python simple lisant /dev/input/eventX. Assurez-vous que VecooAT permet le transfert de fichiers (adb push) pour le développement itératif.
Pour aller plus loin
Configurez les pipelines Gstreamer pour le streaming RTSP basse latence. Explorez l'utilisation d'OpenMP pour paralléliser les tâches de prétraitement d'image avant l'inférence. Intégrez l'IMU pour la stabilisation logicielle des flux vidéo capturés.