Vue normale

À partir d’avant-hierFlux principal

Encodeur à quadrature, Pico et MicroPython

Bonjour à tous,

L'article d'aujourd'hui regroupe plusieurs domaines.
Il démarre en effet de la récupération d'éléments sur l'imprimante HP DesignJet T520 ou je m'arrête spécifiquement sur les moteurs équipés de disques optiques.


Equipé d'un moteur 5V (CN459-60067 BN026Y18), d'un disque optique et d'un encodeur à quadrature optique, je voulais savoir s'il était possible de l'utiliser avec MicroPython.

Le disque optique

La photo haute résolution du disque optique permet de relever plusieurs informations utiles.

Le disque présente 50 interstices transparents entre deux numéro successif. Le disque étant numéroté de 1 à 12, cela représente 600 pulsations par tour (ce que reprend l'une des références sur le disque).

Les autres références/informations sur le disque ne renvoi malheureusement que vers les imprimantes HP.

L'encodeur optique

Pour sa part, l'encodeur optique est monté sur une plaquette fixée directement sur le support métallique.
Cet encodeur contient un LED (émetteur de lumière) ainsi que deux capteur photo-sensibles. Le décalage entre les deux capteurs permet d'identifier le sens de rotation du moteur.



Le connecteur 4 contacts est utilisé pour:

  • la masse
  • l'alimentation 5V (déduit de la résistance utilisée pour la LED).
  • Deux signaux à quadrature.

Les signaux

Quelques mesures rapides permettent de savoir que le capteur produit une tension de sortie (pas besoin de résistances pull-up ou pull-down).

Maintenant que le brochage est identifié, il ne reste plus qu'à branché un oscilloscope sur les deux canaux de sorties.


 


Notez le décalage entre les deux signaux entre marche avant et marche arrière!

L'oscilloscope nous informe aussi que la fréquence des pulsations est de 24.4 KHz (soit 24400 fois par seconde). La période est de 1/24400 soit 41µSec (temps en deux impulsions sur un même canal).

Brancher sur Raspberry-Pi Pico

Les signaux de sortie étant étant en 5 volts (ou presque), il faut utiliser un pont diviseur de tension pour ramener la tension sous 3.3V.

 

Bibliothèque et code d'exemple

D'autre part la période de 41µSec nécessitera un code particulièrement rapide pour ne pas rater d'impulsion.
Une section de code en PIO permettra de suivre suivre la cadence... même sous MicroPython!

La bibliothèque adéquate est disponible dans le dépôt esp8266-upy ( esp8266-upy/LIBRARIAN/rp2lib ).
rp2qenc.py contient le code PIO et la classe PIO_QENC permettant d'utiliser un encodeur à quadrature autonome sur un Pico.
La classe PIO_QENC permet de compter (ou décompter) un compteur permettant de connaître le nombre de tour moteur (valeur signée encodée sur 32 bits).

Le code permettant de lire le compteur est relativement simple.

from machine import Pin
from time import sleep_ms
from rp2qenc import PIO_QENC

pinA = Pin(15, Pin.IN, Pin.PULL_UP)
pinB = Pin(16, Pin.IN, Pin.PULL_UP)

qenc = PIO_QENC(0, (pinA, pinB))
print('starting....')
for i in range(120):
    print('iter %3i : Quadrature value = %i' % (i,qenc.read()) )
    sleep_ms(500)
qenc.sm_qenc.active(0)
print('stop')


Voici qui termine ce petit article.

Raspberry Compute Module 5 : 8Go RAM - 32 Go eMMC en stock

Bonjour à tous,

A propos du compute module

Le monde du Raspberry-Pi ne se limite pas au célèbre nano-ordinateur mais s'étend aussi dans le monde industriel avec le Compute Module.
Le compute module concentre sur une carte les éléments essentiels du nano-ordinateur laissant à la carte fille la possibilité de mettre en place les interfaces adéquates.
Depuis le CM4, de nombreuses cartes furent lancées sur le marché. Celle-cis sont aussi compatible avec le CM5.

Une gamme Compute Module chez MCHobby

Depuis la sortie du CM5, MCHobby a décidé de s'intéresser un peu plus à cette plateforme avancée qui peut aussi offrir des possibilités inédites aux Makers et aux entrepreneurs.

Après le kit de développement CM5 (CM5 DevKit), MC Hobby à maintenant en stock son premier compute module 5:

Il s'agit du CM5108032

Compute Module 5, 8Go RAM, 32 Go eMMC - CM5108032
disponible chez MCHobby

Le CM5108032 est un compute module avec:

  • 8 Go de RAM
  • 32 Go stockage eMMC
  • WiFi / Bluetooth

Le stockage eMMC permet de stocker le système d'exploitation afin d'accélérer le démarrage de la plateforme. un stockage eMMC offre un débit similaire a un disque M2 sur le bus PCIe Gen 2, ce qui est plus qu'honorable :-)

eMMC vs disque M.2

Il serait tentant de penser qu'un disque M.2 serait plus intéressant d'une eMMC.
C'est vrai si l'on ne considère que l'espace de stockage!

L'usage d'un disque M.2 diminue significativement la fiabilité, d'autant plus si le projet est exposée à des vibrations ou écarts de température (ce qui est le lot de tout système mobile). Ce n'est pas pour rien que les SmartPhones stockent leur OS sur une eMMC plutôt qu'une carte SD ou en disque M2 interne ;-) .

En effet, utiliser un disque M.2 implique contact électriques et contraintes mécaniques, des éléments dont il faut tenir compte car ils peuvent empêcher le système de démarrer.

Un Compute Module avec eMMC intégrée assure une meilleure résilience au système car il est assuré de booter sur ses propres ressources. 
Un modèle eMMC aura -lui- la possibilité de rapporter la défectuosité si le disque M.2 devenait inaccessible ou inopérant mais en soi, rien n'empêche d'ajouter un disque M.2 pour du stockage de masse. 

A tester: le CM 4 Maker Board

Ce sera l'occasion d'utiliser ce module CM5 pour tester la carte CM4 Maker Board de Cytron, carte que je n'avais pas encore eu l'occasion de tester.


Je que te trouve particulièrement intéressant, c'est d'avoir tous les connecteurs sur un seul côté de la carte. Je trouve appréciable de disposer d'un HDMI standard, du GPIO Raspberry-Pi et d'un connecteur M.2 (pour un stockage de masse).

Il peut être alimenté via USB-C ou un jack (7-18V).


Vraiment une carte très intéressante pour créer un Mini-PC Raspberry-Pi avec des fonctionnalités complémentaires (puisque nous disposons de ports et de GPIOs.

Cela sera pour un prochain article.
Dominique

Boostez votre Raspberry Pi 4 ou 5 en affinant l’accès à la SRAM

Dans un article récent publié sur son blog, Jeff Geerling nous dévoile les dernières optimisations apportées au Raspberry Pi 5 grâce à des ajustements de la SDRAM. Ces modifications, réalisées par les ingénieurs de Raspberry Pi, permettent d’améliorer significativement les performances du Pi 5, avec des gains de vitesse allant jusqu’à 20 % avec l’horloge […]

Cet article Boostez votre Raspberry Pi 4 ou 5 en affinant l’accès à la SRAM a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....

Comment installer Pi OS sur un Compute Module 5 équipé d'une eMMC

Introduction

Le compute module 5 (tout comme le CM4) existe en deux versions aux comportement fort différents:

  • CM5 Lite où il n'y a pas de stockage eMMC. Dans ce cas, l'OS est chargé depuis une carte SD. En cela, cela ne change en rien du fonctionnement d'un Raspberry-Pi 5.
  • CM5 avec stockage eMMC : le système d'exploitation est alors chargé depuis l'eMMC. Le connecteur SD n'est pas utilisable dans ce cas! 
Comment flasher l'eMMC
 

La question à laquelle il faut trouver une réponse est:

Comment installer Raspberry-Pi OS dans l'eMMC?

Si comme moi vous disposez d'un Kit de développement Compute Module 5 alors cette question est plus que pertinente.

La documentation officielle

l'article "Flash an image to a Compute Module" sur Raspberrypi.com apporte une réponse technique où il est possible de s'égarer.

Il me parait utile de préciser que SecurBoot et la Signature ne sont pas indispensables! Savoir cela peut grandement simplifier les opérations d'installation (ce qui est pratique lors de nos premières fois).

Principe d'installation

  1. Configurer l'IO board pour désactiver le boot eMMC (avec un jumper/cavalier).
  2. Brancher le CM5 sur un ordinateur a l'aide du cable USB-A ==> USB-C.
  3. Mettre le Compute Module sous tension (en pressant le bouton marche/arrêt sur l'IO board).
  4. Utiliser le logiciel rpiboot avec mass-storage-gadget64 sur l'ordinateur.
    Ce qui expose l'eMMC sur l'ordinateur par l'intermédiaire du lien USB.
  5. Utiliser RPI-Imager pour flasher une image Raspberry-Pi 5 sur l'eMMC.

Installer rpiboot

Le logiciel rpiboot est l'une des pierres angulaires du processus d'installation.
Il est préférable d'utiliser ce logiciel depuis une machine Linux (sous Ubuntu ou depuis un Raspberry-Pi).
A noter qu'il est également possible d'utiliser Windows au pris de quelques adaptations.

rpiboot peut être installé sur une machine Linux en utilisant la commande:

$ sudo apt install rpiboot

Si l'installation apt n'est pas possible par ce qu'un OS Linux est "plus agé" (comme c'est mon cas avec Linux Mint, un dérivé d'Ubuntu) alors il faudra compiler rpiboot sur votre ordinateur... comme je l'ai fait.

A propos de rpiboot

rpiboot est une interface générique de chargement de firmware. Il permet de booter un RPi distant et d'y charger un firmware spécifique... idéal pour tester vos images personnalisés / SecurBoot / etc.

L'un des firmwares spécialisés est mass-storage-gadget64 qui émule un périphérique de stockage de masse  dit MSD (Mass Storage Device). L'ordinateur hôte traitera alors le Pi comme un périphérique de stockage USB.

Compiler rpiboot

S'il n'a pas été possible d'installer le logiciel rpiboot alors il faudra le compiler directement depuis le code source.

Ce code source est disponible sur le dépôt raspberrypi/usbboot :

Voici les instructions permettant de compiler sur votre ordinateur:

$ sudo apt install git libusb-1.0-0-dev pkg-config build-essential
$ git clone --recurse-submodules --shallow-submodules --depth=1 https://github.com/raspberrypi/usbboot
$ cd usbboot
$ make

Une compilation qui se passe comme sur des roulettes.

Préparer votre configuration

Désactiver le boot eMMC

Avant de brancher votre DevKit sur l'ordinateur, il convient de désactiver le boot eMMC! Cela permettra de charger un firmware via USB avec rpiboot.

Commencez par placer le cavalier sur la position "disable eMMC boot".

Placer le cavalier "disable eMMC boot"

Brancher en USB

Assurez-vous que l'utilisateur fait déjà partie du groupe "plugdev". Cela peut facilement être vérifié avec la commande groups.

$ groups
domeu adm dialout cdrom sudo dip plugdev lpadmin sambashare vboxusers

Branchez ensuite le DevKit sur votre ordinateur avec le câble USB.
Ne pas oublier de presser le bouton marche/arrêt pour démarrer le computer module!


Utilisez dmesg pour vérifier la détection du Compute Module (le module Broadcom).

Démarrer rpiboot

1iere tentative

A mon premier démarrage, rpiboot ne trouvait pas mass-storage-gadget64 .

Voici les messages pour mémoires.

$ sudo ./rpiboot
RPIBOOT: build-date Dec  9 2024 version 20240422~085300 cbcf2934
Waiting for BCM2835/6/7/2711/2712...
2712: Directory not specified using default /usr/share/rpiboot/mass-storage-gadget64/
read_file: Failed to read "2712/bootcode5.bin" from "/usr/share/rpiboot/mass-storage-gadget64//bootfiles.bin" - No such file or directory
Failed to open bootcode5.bin

2ieme tentative

J'ai donc utilisé le paramètre -d pour indiquer le répertoire de stockage pour mass-storage-gadget64 . Il se fait que c'est un sous-répertoire direct de rpi-boot.

$ ./rpiboot -v -d mass-storage-gadget64

Alors malgré ma présence dans le groupe plugdev, je reçois un message d'erreur laissant entendre que "je ne fais peut-être pas partie du groupe plugdev"!
Voyez ci-dessous le message d'erreur.

...
2712/memsys03.bin position 0008b000 size 40972
2712/bootcode5.bin position 00095400 size 72660
Completed file-read 2712/bootcode5.bin in archive mass-storage-gadget64/bootfiles.bin length 72660
Permission to access USB device denied. Make sure you are a member of the plugdev group.

$ groups
domeu adm dialout cdrom sudo dip plugdev lpadmin sambashare vboxusers

3ieme tentative

Cette fois, je me suis fendu d'un sudo pour augmenter les privilège. Et cela à fonctionné :-)

$ sudo ./rpiboot -v -d mass-storage-gadget64
RPIBOOT: build-date Dec  9 2024 version 20240422~085300 cbcf2934
Boot directory 'mass-storage-gadget64'
Loading: mass-storage-gadget64/bootfiles.bin
Using mass-storage-gadget64/bootfiles.bin
Waiting for BCM2835/6/7/2711/2712...
Device located successfully
...
...
...
File 2712/boot.img not found in mass-storage-gadget64/bootfiles.bin
Loading: mass-storage-gadget64/boot.img
File size = 30409216 bytes
Received message ReadFile: boot.img
File read: boot.img
libusb_bulk_transfer sent 30409216 bytes; returned 0
Received message Done: boot.img
CMD exit
Second stage boot server done
rpi-boot ayant finalement démarré mass-storage-gadget64 sur le compute module, notre système hôte devrait avoir accès à un nouveau lecteur/drive... ce que nous allons constater de suite.

Accès à l'eMMC

Avec le mass-storage-gadget64 actif sur le compute module, l'ordinateur hôte à maintenant accès à un nouveau lecteur branché via USB.

Voici deux méthode pour s'en assurer.

lsblk : lister les périphérique de type block

la commande lsblk affiche tous les lecteurs branchés sur l'ordinateur.

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
...
sda      8:0    0 232,9G  0 disk 
├─sda1   8:1    0   512M  0 part /boot/efi
└─sda2   8:2    0 232,4G  0 part /
sdb      8:16   1  29,1G  0 disk 
sr0     11:0    1  1024M  0 rom

La commande révèle un disque sdb d'une  taille de 29.1 Go. Il s'agit de l'eMMC présent sur le compute module.

Le gestionnaire de disque

Les distributions Linux proposent généralement un gestionnaire de disque permettant d'inspecter les lecteurs/disques et le détail de leur partition.
Voyez ci-dessous une capture du gestionnaire de disque sous Linux Mint (dérivé d'Ubuntu).

Nous y retrouvons également le disque de 31 Go du compute module.
Cette fois les informations sont plus précise avec un modèle de disque reprenant la mention "mmcblk0 Raspberry Pi multi-fonction USB device (100)" .

Quel OS pour mon CM5

L'idéal est de créer un OS sur mesure pour votre projet enfoui.
Mais cela serait bien trop long pour réaliser notre premier test!

Par chance, le CM5 est un équivalent du Raspberry-Pi 5 et l'IO Board du Dev Kit propose -à peu prêt- les mêmes périphériques qu'un Raspberry-Pi 5.

Nous pourrons donc flasher un OS Pi 5 pour réaliser nos premiers essais avec le Compute Module 5.

Flasher l'OS sur CM5

Le documentation renseigne l'utilitaire Linux dd pour transférer l'image sur le disque eMMC. Mais dd est aussi surnommé Disk Destroyer parce qu'une simple erreur dans son utilisation peu littéralement écraser/détruire le contenu de votre disque.

L'approche la plus simple est encore d'utiliser RPi-imager qui fera le même boulot (mais avec moins de risque).

Choisir un OS Raspberry-pi 5 / 64 bits
 

Choisir le périphérique correspondant au disque mmcblk0.

Bien que pas forcement nécessaire pour un OS avec bureau graphique j'ai néanmoins personnalisé mon OS.

personnalisation du système d'exploitation

Pas forcement inutile pour un projet enfoui, l'activation du service SSH sera certainement se monter utile.

Activer le service SSH

Démarrer votre CM5

Une fois flashé:

  1. Eteindre le CM5 avec le bouton marche arrêt
  2. Débrancher de l'ordinateur hôte
  3. Brancher le câble HDMI sur la sortie HDMI0
  4. Brancher le bloc d'alimentation sur la prise USB-C.
  5. Presser le bouton marche/arrêt et soyez patient!

Comme pour un Pi 5, le CM5 redimensionnera le disque et rebootera une ou deux fois avant d'afficher quelque-chose sur la sortie HDMI.

Fiez vous à la LED activity qui rapporte les accès disques.

La LED power est:

  • éteinte ==> CM5 est activé
  • allumé ==> CM5 hors tension 

Et voici ci-dessous le démarrage du CM5 :

MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible. 

SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

Course de robot DIY - Saint-Brock Robot Race

Le 29 mars 2025 à Saint-Brieuc, pour la deuxième année, une course de robot mobile autonome sera organisée par Mace Robotics & Saint-Brieuc Factory. Pour cette deuxième édition, venez avec votre robot DIY et participez à cette course de vitesse.

Des robots pourront aussi être prêtés si nécessaire pour l’événement (utilisation de robot MR-Pico basé sur une carte Raspberry Pi Pico, avec logiciel sous licence MIT et matériel sous CC-BY-SA, sources).

    Cette course est ouverte aux particuliers, associations, étudiants, geeks, entreprises, …

    Règlement :

    • Robot 100 % autonome et se déplacer avec des roues, pattes ou chenilles.
    • Poids total du robot : 500 g maximum avec la batterie incluse
    • Dimensions max du robot (100x100x100 mm)

    Affiche

    La participation à cette course est gratuite.

    Photo de l'édition 2023 :

    Photo de l'édition 2023

    Informations & inscriptions

    Lieu : 22000 Saint-Brieuc (Saint-brieuc-factory – Quai Armez)

    Commentaires : voir le flux Atom ouvrir dans le navigateur

    Raspberry Pi 500 : L’ordinateur tout-en-un abordable et puissant

    Le Raspberry Pi 500 est le tout dernier ordinateur compact signé Raspberry Pi, combinant la puissance du Raspberry Pi 5 avec un clavier intégré. Ce successeur du populaire Raspberry Pi 400 offre des spécifications améliorées tout en simplifiant l’expérience utilisateur. Désormais disponible chez les revendeurs Raspberry Pi, il vise à séduire les makers, les amateurs […]

    L’article Raspberry Pi 500 : L’ordinateur tout-en-un abordable et puissant est apparu en premier sur BlogNT : le Blog des Nouvelles Technologies.

    Raspberry Pi dévoile le Compute Module 5 destiné aux applications embarquées

    27 novembre 2024 à 09:56

    Compute Module 5Raspberry Pi, connu pour ses ordinateurs monocartes abordables et polyvalents, élargit sa gamme avec le lancement du Compute Module 5

    Cet article Raspberry Pi dévoile le Compute Module 5 destiné aux applications embarquées a été publié en premier par GinjFo.

    Raspberry Pi OS se dote d’un Menu de démarrage : Boot Menu

    Une version récente du bootloader en EEPROM a introduit une nouvelle fonction dans le menu de démarrage : une pression sur la BARRE D’ESPACE à la mise sous tension propose à l’utilisateur un menu pour choisir entre plusieurs modes de démarrage. Par exemple, l’utilisateur peut sélectionner le démarrage sur USB (Disque dur, SSD ou clé […]

    Cet article Raspberry Pi OS se dote d’un Menu de démarrage : Boot Menu a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....

    PCB Raspberry-Pi : moi aussi j'en veux un!

    Bonjour,

    La semaine dernière c'était la grande messe Raspberry-Pi pour les partenaires de l'aventure... dont fait partie MC Hobby en tant que Revendeur Approuvé. 

    L'occasion d'améliorer nos connaissances techniques sur les différentes plateformes mais aussi l'opportunité de visiter l'usine Sony à Pencoed (Pays de Galles).

    Les interdictions chez Sony

    Bien entendu, interdit de filmer, interdit de prendre des photos, interdit de trop traîner et même interdit de prendre un déchet!

    Il y avait là un beau PCB Raspberry-Pi 5 au rebus (échec au contrôle)... je me le serait bien ramené comme souvenir... mais pas questions de l'avoir (cela aussi est interdit)!

    Mettre un PCB a nu

    Je voulais vraiment un PCB de Raspberry-Pi, j'en ai donc fait un a partir d'un Pi défectueux.

    J'ai donc sorti ma station à air chaud, mon fer a souder et j'ai commencer à désassembler ma première carte RPi... et voir aussi comment je pouvais m'en sortie.

    PI 3 B+ v1.2 - face avant

    PI 3 B+ v1.2 - face arrière

    C'est une expérience intéressante à réaliser, qui fait par ailleurs appel à de nombreuses techniques.

    Le SoC et la RAM sont de loin les éléments les plus longs à dessouder (~5 minutes chacun).

    Des connecteurs (voyez cette technique), le RJ45 fût le le plus difficile à enlever... d'où l'éraflure sur le PCB.

    Voici quelques informations utiles si vous voulez conduire la même expérience:

    1. Utiliser un tapis silicone (il resiste à la chaleur)
    2. Préchauffer la carte (au four entre 70 et 100°C).
      Je ne l'avais pas fait et cela aurait été une bonne idée pour dessouder plus facilement les gros composants.
    3. Configurer la station d'air chaud sur 430°C
      C'est violent mais efficace pour dessouder.
    4. Configurer le fer a souder sur 425°C
    5. Manipuler la carte avec soin (cela va sacrément chauffer)
    6. Utiliser du flux et de la bride à dessouder pour éliminer les excès de soudure
    7. Nettoyages à l'alcool (pour les résidus de flux)
    8. Nettoyage final à l'eau chaude + Liquide vaisselle + Mr Propre.

    C'est vraiment très intéressant pour tester et améliorer ses techniques à l'air chaud.

    En plus, cela à vraiment de l'allure.


    Conférence Raspberry Pi et Scratch à la Librairie Eyrolles à Paris – Samedi 5 octobre 2024

    Samedi j’ai eu le plaisir de retrouver Alexandre avec qui j’ai écrit le livre « Raspberry Pi » et Sarah qui a parlé de son dernier livre « Scratch ». Tous les trois nous avons animé une conférence à la Librairie Eyrolles à Paris. Conférence à la Librairie Eyrolles à Paris – Samedi 5 octobre 2024 Kunthea, responsable du […]

    Cet article Conférence Raspberry Pi et Scratch à la Librairie Eyrolles à Paris – Samedi 5 octobre 2024 a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....

    Une carte SD classe A2 et un bumper silicone pour le RaspberryPi 5

    Raspberry Pi vient de mettre sur le marché deux nouveautés : des cartes SD de classe A2 ainsi qu’un bumper (protection souple) en silicone pour le Raspberry Pi 5. Pour ceux qui comme moi font beaucoup de tests mais n’aiment pas voir une carte toute nue qui traîne sur le bureau ou l’établi, c’est la […]

    Cet article Une carte SD classe A2 et un bumper silicone pour le RaspberryPi 5 a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....

    Configurer et utiliser la Caméra Pi AI Raspberry Pi

    Elle était en route mis je ne l’ai reçue que le lendemain du lancement de la nouvelle caméra AI Raspberry Pi. Merci à Kubii pour la rapidité de l’envoi, qui va me permettre de vous présenter les caractéristiques et les possibilités de cette caméra. Configurer et utiliser la Caméra Pi AI Raspberry Pi Cet article […]

    Cet article Configurer et utiliser la Caméra Pi AI Raspberry Pi a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....

    Raspberry Pi AI caméra, une caméra dopée à l’intelligence artificielle à 80€ !

    30 septembre 2024 à 11:31
    Caméra AI Raspberry Pi

    Visiblement la fondation Raspberry Pi n’est pas à l’abri de l’engouement pour l’intelligence artificielle !

    Début juin, la maison mère Raspberry avait ainsi annoncé le lancement du Raspberry Pi AI Kit, une extension pour le Raspberry Pi 5 visant à ajouter une unité de calcul dédiée à l’intelligence artificielle, la fondation annonce aujourd’hui le lancement de la Raspberry Pi AI Camera, une caméra embarquant une puce dédiée au traitement de l’image par intelligence artificielle.

    Reconnaissance d'objets avec la Raspberry Pi AI Camera

    Faisons donc un petit tour d’horizon de cette nouvelle caméra, en commençant par ses caractéristiques techniques, avant de revenir rapidement sur l’utilité d’une caméra avec de l’intelligence artificielle embarquée.

    Le capteur Sony IMX500, au cœur de l’image et de l’intelligence artificielle.

    Comme vous le savez sûrement, Raspberry Pi et Sony entretiennent un lien privilégié, les micro-ordinateurs britanniques étant assemblés dans l’usine Galloise du géant Japonais. C’est donc assez naturellement que la fondation est allé chercher du côté de la division photo de Sony pour trouver le capteur photo au cœur de sa nouvelle caméra.

    Les couches d'un capteurs IMX500

    Là ou le Sony IMX500 sort du lot, c’est qu’il ne s’agit pas simplement d’un capteur photo, mais également d’une unité dédiée au traitement de l’image par intelligence artificielle.

    Ainsi, en plus de proposer une image 12 mégapixels, avec une résolution de 4056×3040 pixels à 10 images par secondes, ou 2028×1520 pixels à 30 images par secondes, ce capteur est également doté d’un processeur dédié au traitement de l’image (Image Signal Processor), ainsi que d’une mémoire SRAM embarquée, lui permettant de traiter les données directement sur la puce sans avoir à les transférer vers l’extérieur.

    C’est donc le capteur de Sony qui constitue ainsi la partie image mais également l’intelligence artificielle de cette nouvelle caméra dédiée au Raspberry.

    Le microcontrôleur maison RP2040 à la rescousse pour gérer les réseaux de neurones !

    Pour épauler le capteur de chez Sony cette caméra vient également embarquer un microcontrôleur RP2040, développé par la fondation elle même, et qui sera en charge du stockage et de la gestion du firmware, mais surtout des modèles de réseaux neuronaux que vous pourrez uploader sur la caméra.

    Le RP2040 conçu et fabriqué par la fondation viendra épauler le capteur de Sony

    La fondation précise d’ailleurs que contrairement au Kit AI, cette caméra sera compatible avec toutes les versions du Raspberry Pi et devrait s’intégrer facilement avec les bibliothèques et outils logiciels existants, et qu’il sera possible d’uploader nos propres modèles d’intelligence artificielle, soi via le protocole I2C pour les plus ancienne version du Raspberry, soi via un protocole maison plus rapide pour le Raspberry 5.

    Au final, une caméra avec de l’intelligence artificielle embarquée, à quoi ça sert ?

    Nous ne rentrerons pas ici dans la question de savoir si nous avons vraiment besoin de caméras dopées à l’IA, si l’IA est une vraie révolution ou un nuage de fumée, etc., Nous nous concentrerons ici sur le fait d’expliquer les utilisations possibles de ces nouvelles technologies.

    Quelle différence entre traitement classique et traitement embarqué ?

    Pour comprendre l’utilité d’une caméra avec de l’intelligence artificielle embarquée, il faut donc d’abord comprendre la différence de traitement « traditionnel » de l’image par intelligence artificielle, et son traitement lors de l’utilisation d’une caméra embarquant ces technologies. Pour ça, rien ne vaut un schéma !

    Différence entre une caméra classique et une caméra IA
    À gauche le traitement classique, à droite le traitement avec une caméra IA.

    Comme le montre le schéma ci-dessus, le traitement d’une image par une caméra IA diffère principalement par la partie du système en charge du traitement des données. Là ou une caméra classique prend une image, la transmet à l’ordinateur (ici le Raspberry Pi), qui devra ensuite effectuer les calculs pour analyser l’image via des réseaux neuronaux, une caméra IA effectue en interne ces différents traitements.

    Ainsi, le traitement au niveau de la caméra permet de gagner du temps en évitant les transferts, de réduire la charge de calcul du processeur principal et, grâce à la spécialisation du processeur de traitement de l’image, d’optimiser le calcul par l’utilisation de technologies dédiées.

    À quels usages réels faut-il nous attendre ?

    S’il est encore un peu tôt pour prédire les usages précis qui seront fait de cette caméra par la communauté, il est probable que l’on observe principalement des usages liés à la classification et la reconnaissance d’objets, l’analyse de mouvements, etc., comme le montre la vidéo ci-dessous.

    Il est également probable que cette caméra voit une adoption importante dans un cadre de la recherche académique, de produits bon marché ou de solutions de surveillance DIY, ceci grâce à un coup réduit et un format « prêt à l’emploi » simple d’utilisation.

    Il est en tous cas probable que nous observions une nette séparation de la communauté en deux tranches, les concepteurs/chercheurs et les utilisateurs, le domaine de l’IA au delà du simple rôle de consommateur restant encore, au moins pour le moment, réservé à des utilisateurs très avancés.

    5/5 - (1 vote)

    Lire l'article complet : Raspberry Pi AI caméra, une caméra dopée à l’intelligence artificielle à 80€ !

    Sortie de l’AI Camera Raspberry Pi

    Après la sortie du module d’Intelligence Artificielle (IA) Hailo pour le Raspberry pi que je vous ai présenté récemment, on pouvait s’attendre à ce que la Fondation Raspberry Pi investisse ce domaine de l’IA. Le but est toujours éducatif, et c’est pour permettre la découverte des fonctions de l’IA que la Fondation développe ces produits. […]

    Cet article Sortie de l’AI Camera Raspberry Pi a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....

    PicoTamachibi : créer un animal virtuel/Tamagotchi avec Raspberry-Pico 2

    Bonjour à tous,

    01 sept 2024: Ajout d'une petite étude des niveaux, des actions utilisateurs et actions tamagotchi sur le Wiki.

    Pour ce week-end, je vous propose un chouette projet MicroPython à base de Raspberry-Pi Pico 2, d'un écran OLED 128x64 I2C et de trois boutons poussoir.

    Kevin McAleer nous propose de créer un animal virtuel appelé Tamachibi.
    Sorti tout droit de notre enfance ces animaux virtuels se nommait Tamagotchi.

    Ce que j'adore dans la vidéo de Kevin ce sont les animations de "Baby".

    écran OLED 128x64 I2C

    La disposition des composants sur la carte est également bien pensé.

    Source: vidéo de Kevin McAleer

    Les graphiques sont stockés dans des fichiers au format BPM que nous avions déjà abordé dans l'article "Lecture d'image PBM sous MicroPython".

    Quelques informations pratiques

    Je reprend ci-dessous quelques captures de la vidéo où l'on retrouve des informations utiles pour d'autres projets similaire (merci Kevin pour ce partage).

    Composition générale de l'interface

    Les différentes icones de la barre d'outils (toolbar) propose les fonctionnalités décrites ci-dessous

    L'icone sélectionnée dans la Toolbar (barre à outil) est affiché en négatif!

    Les ressources/icones graphiques sont disponibles sous forme de fichier BPM, un format facile à lire pour un microcontrôleur

    La documentation sur les animations est aussi instructive.
    Je me suis demandé quel pouvait être l'intérêt d'une séquence REVERSE mais a bien y réfléchir, cela permet de déplacer Baby à un endroit puis, plus tard, de revenir à sa position initiale.


    En vidéo

    Je vous propose de découvrir la vidéo de Kevin (YouTube).

    Kevin prend le temps de présenter les concepts utilisés et les éléments de programmation exploités.


    Amélioration possibles

    Je vois quand même quelques possibilités d'amélioration (électronique et logiciel).

    • Prévoir de l'autonomie (avec un Accu Lipo) et recharge
    • Prévoir du son (du moins un minimum).
    • Diminuer la quantité de fichiers BPM (regrouper les ressources dans un fichier commun)
    • Envisager des personnages différents (et comportements différents)...
      d'où l'intérêt de regrouper les ressources.
    • Clarifier les relations entre état psychologique et paramètres vitaux (état émotionnel, actions et leurs conséquences).
      J'ai trouvé ce point un peu confus dans l'implémentation de Kevin.
       
    J'ai pris un peu de temps pour réaliser un petite étude des des niveaux, des actions utilisateurs et actions Tamagotchi sur le Wiki.

    Bon visionnage,
    Dominique

    Conversion parole-Texte sur Raspberry Pi 5 en local avec OpenAI Whisper

    Il y a quelque temps, je vous ai présenté la carte de développement ANAVI Dev Mic de Léon Anavi. Léon a publié une vidéo [en Anglais] pour utiliser sa carte sur un Raspberry Pi 5 en reconnaissance vocale. Il utilise Whisper, un réseau neuronal entraîné par OpenAI qui se rapproche de la robustesse et de […]

    Cet article Conversion parole-Texte sur Raspberry Pi 5 en local avec OpenAI Whisper a été publié en premier sur Framboise 314, le Raspberry Pi à la sauce française.....

    ❌
    ❌