Le X96 est certes une solution super sympa pour réaliser un p’tit serveur linux, des applications domotiques, mais si vous avez besoin d’interfacer un peu plus de choses, pourquoi ne pas ajouter une extension GPIO ? En clair, des entrées et des sorties configurables et activables à volonté, sur un port série, à l’aide d’un module FT232H.
Pour le moment, ne branchez pas votre FT232H. Nous allons créer un fichier :
nano /etc/udev/rules.d/11-ftdi.rules
et nous venons y placer ce qui suit :
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6001", GROUP="plugdev", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6011", GROUP="plugdev", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6010", GROUP="plugdev", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6014", GROUP="plugdev", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6015", GROUP="plugdev", MODE="0666"
Sauvegardez avec un CTRL-O, puis CTRL-X pour sortir. La règle se mettra en place une fois le FT232H branché.
Installons maintenant les différents modules nécessaires :
pip3 install pyftdi pip3 install adafruit-blinka
et positionnons la variable d’environnement :
export BLINKA_FT232H=1
Branchez le FT232H sur l’un des ports USB et vérifions qu’il soit bien reconnu :
Python3
from pyftdi.ftdi import Ftdi
Ftdi().open_from_url('ftdi:///?')
Le résultat doit montrer la détection du module USB :
Available interfaces: ftdi://ftdi:232h:1:2/1 (Single RS232-HS)
Relançons de nouveau python3 puis demandons :
import os
os.environ["BLINKA_FT232H"]
La réponse sera 1 si tout est correctement configuré.
Nous allons pouvoir créer le fichier blink.py :
import time import board import digitalio led = digitalio.DigitalInOut(board.C0) led.direction = digitalio.Direction.OUTPUT while True: led.value = True time.sleep(0.5) led.value = False time.sleep(0.5)
Venez relier une LED entre la masse GND et le port AC0 du FT232H, en prenant soin d’insérer une résistance d’1 kOhm en série sur la ligne + de la LED :
Exécutez le script Python :
python3 blink.py
et voici logiquement votre LED qui clignote ! Votre premier test sur le GPIO USB est terminé, à très vite pour des billets plus poussés sur le sujet 😉
Commentaires fermés.