i2c-tiny-usb : un bus i2c facilement accessible pour votre PC

Spécialité(s)


Résumé

Lorsqu'on cherche à développer un support pour un composant interfacé en i2c qui ne dispose pas encore de bibliothèque, que ce soit pour Arduino ou toute autre plateforme pour microcontrôleur (RP2040, ESP32, etc.), la phase de mise au point et de test n'est pas toujours très aisée. Il faut travailler sur un code de firmware, programmer le MCU, tester et itérer, ce qui fait perdre un temps conséquent. Il est bien plus facile de développer sur PC ou Pi pour ensuite porter le code sur MCU. Mais encore faut-il disposer d'un bus i2c facilement accessible...


J'ai évoqué dans l'introduction le fait d'utiliser une carte Raspberry Pi, mais le vrai confort de développement concerne, bien entendu, un environnement sur PC, avec tous les outils à disposition, et ce, sans avoir à passer par une connexion SSH. Le problème cependant est que, contrairement à une Pi ou n'importe quel SBC, un PC moderne ne dispose pas de bus i2c vraiment accessible. Bien sûr, les fonctionnalités sont matériellement là puisque c'est ainsi que les capteurs de température, par exemple, sont utilisés et consultés par le système. Vous pouvez d'ailleurs en avoir un aperçu très facilement avec une machine sous GNU/Linux en utilisant une simple commande :

$ sudo i2cdetect -l
i2c-0   smbus   SMBus PIIX4 adapter port 0 at 0b00 SMBus adapter
i2c-1   smbus   SMBus PIIX4 adapter port 2 at 0b00 SMBus adapter
i2c-2   smbus   SMBus PIIX4 adapter port 1 at 0b20 SMBus adapter
i2c-3   i2c     AMDGPU DM i2c hw bus 0              I2C adapter
i2c-4...
Cet article est réservé aux abonnés. Il vous reste 97% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Article rédigé par

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous