MENU |
La carte RTk.GPIO de Ryanteck permet d'abord de connecter le monde de l'informatique physique (par l'intermédiaire de ses ports GPIO) à un PC de bureau, un ordinateur portable ou un Raspberry Pi (par l'intermédiaire d'un port USB).
Elle peut donc aussi compléter (mais avec limitations) les broches GPIO d'un Raspberry Pi en cas de besoin de broches supplémentaires.
En fait, le connecteur 40 broches de la carte RTk.GPIO émule, dans ses fonctions de base, le connecteur GPIO 40 broches d'un Raspberry Pi permettant ainsi de tester sur un ordinateur, des programmes destinés à un Raspberry Pi. Cependant les potentialités sont réduites par rapport au connecteur J8.
La carte est entièrement compatible avec Windows, Mac OS et Linux (mais on n'utilise ici que Linux) et prend en charge une gamme de langages de programmation tels que Python, Java ou Scratch.
Il ne faut installer aucun logiciel sur le PC Linux avant de le relier à la carte RTk.GPIO.
La liaison entre le PC et la carte RTk.GPIO se fait par l'intermédiaire d'un câble USB avec un connecteur
micro-USB du côté carte et un connecteur USBA du côté PC.
Voici quelques images de la carte et de détails :
Dimensions en mm : 19*56*85
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
La carte RTk.GPIO est un disposif qui produit un nouveau sous-répertoire dans le répertoire /dev/. Ainsi, avant et après le branchement de la carte RTk.GPIO par exemple à odinateur portable fonctionnant sous Ubuntu, la commande ls /dev/tty* dans un terminal fournit par différence le répertoire /dev/ttyUSB0 ou /dev/ttyUSB1, ou ... .
Toujours par différence, la commande lsusb permet de découvrir que la carte est identifiée par :
QinHeng Electronics CH340 serial converter et la commande
lsusb -v donne des détails et en particulier :iProduct 2 USB2.0-Serial.
La commandelsusb -t permet de découvrir que le pilote de la carte est :
Driver=ch341, 12M
Supposons que le nouveau répertoire soit /dev/ttyUSB0, alors la commande
stty -F /dev/ttyUSB0 donne les caratéristiques initiales de la liaison série :
speed 9600 baud; line = 0;
-brkint -imaxbel
Maintenant, dans un autre terminal, on lance la commande python3 qui
permet d'utiliser python en ligne de commande, et on envoie
>>> import RTk.GPIO produisant la réponse
RTk.GPIO Found on port: /dev/ttyUSB0
Si maintenant, en revenant au premier terminal, on envoie de nouveau la commande
stty -F /dev/ttyUSB0, alors on s'aperçoit que les caractéristiques de la liaison série ont changé :
speed 230400 baud; line = 0;
min = 0; time = 0;
-brkint -icrnl -imaxbel
-opost -onlcr
-isig -icanon -iexten -echo -echoe -echok -echoctl -echoke
L'architecture du système faisant intervenir la carte RTk.GPIO est simple : Le système hôte est relié par l'intermédiaire du port USB à la puce CH340G qui est un convertisseur série bidirectionnel servant d'interface avec le dispositif série qui lui est connecté (ici le microcontrôleur STM32F et ses périphériques). Lors de sa connexion de la carte RTk.GPIO, le système hôte détecte donc le convertisseur série CH340 qui est "Plug and Play" et non pas le dispositif série qui lui est connecté.
Le connecteur GPIO est semblable à celui du Raspberry Pi 4B et est décrit dans la partie 2 qui lui est consacrée.
Le composant principal de la carte est le microcontrôleur, 32bit, 8 ko RAM, 64 Ko, 48MHz, LQFP 48, série STM32F0.
Il s’agit ici de la puce STM32F030C8T6. Ce microcontrôleur, fondé sur l'ARM Cortex-M0 est muni du cœur RISC 32 bits ARM Cortex™-M0 de niveau d'entrée. La série STM32F030 Value Line intègre une mémoire à haute vitesse, ainsi qu'une vaste gamme d'E/S et de périphériques avancés. Il existe des interfaces de communication telles que I2C, SPI et USART, plus ADC 12 bits, minuteurs 16 bits et minuteur PWM de commande avancée. L'architecture de pointe des microcontrôleurs STMicroelectronics STM32, combinée avec la plate-forme STM32, permet la conception d'applications de faible puissance qui sont proposées dans différents types de boîtier. Le processeur à cœur ARM Cortex™-M0 avec mémoire Flash et mémoire statique intégrées est compatible avec tous les outils et logiciels ARM. Les microcontrôleurs munis d'un processeur ARM STM32F030 sont adaptés à une vaste gamme d'applications comme le contrôle d'applications et les interfaces utilisateurs, les équipements portables, les récepteurs A/V, les périphériques de PC, les consoles de jeux, les appareils ménagers, les imprimantes, les systèmes d'alarme et les installations de CVCR. |
![]() |
Le processeur ARM Cortex™ M de la famille STM32 de STMicroelectronics bénéficie des améliorations architecturales du Cortex-M0, incluant traitement numérique du signal, performances en temps réel, faible tension et faible consommation. La série générique ARM® STM32 F0 de ST offre des performances 32 bits. Grâce à ses fonctions faciles à utiliser, elle est idéale pour les décisions de petits projets ou plates-formes.
Les connecteurs micro USB et UART sont connectés à l'interface de la puce série, qui convertit l'USB en série UART ou vice versa lors de la communication entre le MCU et l'ordinateur.
Pour commencer, on ajoute l'utilisateur au groupe dialout".
Cela signifie qu'après l'installation, il n’y a plus besoin d'utiliser sudo
pour exécuter les programmes python.
Ouvrir un terminal Linux et taper la commande suivante :
sudo usermod -a -G dialout $USER
Il faut naturellement que python et ses bibliothèques soient installés.
En principe, c’est déjà fait.
Pour s’en assurer, dans un terminal, on peut taper la commande suivante :
sudo apt-get install python3-pip python3-setuptools python3-wheel
Pour s’assurer que tout est bien installé et synchronisé, il est recommandé de redémarrer. Après avoir redémarré le système, on peut brancher la carte RTk.GPIO dans un port USB et on doit voir la LED rouge de la carte s'allumer.
On peut vérifier que la carte est bien reconnue en lançant l'instruction Linux
lsusb
Dans la liste, on reconnait :
Il existe plusieurs façons d'installer la bibliothèque RTk.GPIO.
Le moyen le plus simple consiste à utiliser le système de gestion "Python in Package" (PIP3).
Pour installer la bibliothèque RTk.GPIO, il faut taper la commande suivante
depuis un terminal :
sudo pip3 install RTk
La remarque désobligeante qui s’en suit suggère d’envoyer aussi la commande suivante :
pip3 install RTk
Deux difficultés sont apparues avec Ubuntu 24.04 LTS et python3.12 :
1 - L'utilisation de pip3 conduit à un échec "This environment is externally managed".
Pour y remédier, on envoie l'instruction
sudo rm /usr/lib/python3.12/EXTERNALLY-MANAGED
et on peut reprendre l'installation en échec.
2 - Malheureusement RTk.GPIO ne semble plus être apprécié par python3.12. Il a donc fallu télécharger le ficher
RTk-0.3.14-py2.py3-none-any.whl
et procéder directement à son installation
pip3 install RTk-0.3.14-py2.py3-none-any.whl
La carte RTk.GPIO a été acquise en complément du Raspberry Pi 4B déjà testé. C'est pourquoi, sa prise en main fait usage des connaissances acquises sur le Raspberry Pi 4B.
Dans le petit programme python LedOnOff2.py , présenté plus loin pour tester RPi.GPIO, on remplace
Faire fonctionner la carte RTk.GPIO sur RaspberryPi 4B n'a posé aucun autre problème. Il suffit d'installer la bibliothèque RTk.
Protocole RTK.GPIO
Le RTK.GPIO est un système à microprocesseur doté d'une interface série et d'un connecteur GIO RPi 40 broches.