Ci-dessous la répartition des broches GPIO assignées sur mon raspberry pi2 | ^ IN ^ OUT ^ GROUND ^ ^ Recepteur/Emetteur RF433MHz | GPIO 27 (PIN 13) | GPIO 17 (PIN 11) | GND (PIN 9) | ^ Recepteur/Emetteur Infrared | GPIO 23 (PIN 18) | GPIO 24 (PIN 16) | GND (PIN 14) | ^ Capteur HumiditeTemperature | GPIO 21 (PIN 40) | N.A | GND (PIN 39) | {{:raspib-gpio_lightbox.png?direct&400|}} {{:gpio-raspberry.jpg?direct&400|}} \\ \\ __**Pour utiliser les GPIO, un (ou plusieurs) des choix suivants **__ __1. Télécharger et installer la librairie C wiringPi__\\ Je l'ai fait dans /home/pi/wiringPi \\ Le make permet de diposer des librairies wiringPi et du gpio (gpio readall, gpio read 1, etc ...)\\ Les headers (.h) et la lib permet de créer des exe utilisant les gpio ; c'est le cas de mes scripts radiofrequences.\\ Cette librairie wiringPi offre aussi la possibilité de faire de la communication en série, en faisant #include , qui met à disposition les fonctions suivantes : int serialOpen (char *device, int baud) ; void serialClose (int fd) ; void serialPutchar (int fd, unsigned char c) ; void serialPuts (int fd, char *s) ; void serialPrintf (int fd, char *message, …) ; int serialDataAvail (int fd) ; int serialGetchar (int fd) ; void serialFlush (int fd) ; \\ \\ __2. Python en version 2.7 dispose d'un module GPIO__ import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) GPIO.setup(4,GPIO.OUT) # Mettre le GPIO en mode écriture : le RBPI écrit la valeur GPIO.output(4,GPIO.HIGH) # valeur haute (pull up) GPIO.output(4,GPIO.LOW) # valeur haute (pull down) GPIO.setup(4, GPIO.IN, pull_up_down=GPIO.PUD_UP) # Mettre le GPIO en mode lecture, # en le pullant préalable à UP ... Mon script de grab de temperature communique avec ce sensor à l'aide de ce module. \\ \\ __3. Installer wiringPi2 ([[https://github.com/WiringPi/WiringPi-Python]])__ sudo apt-get install python-dev python-pip sudo pip install wiringpi2 Puis coder : import wiringpi serial = wiringpi.serialOpen('/dev/ttyAMA0',9600) # Requires device/baud and returns an ID wiringpi.serialPuts(serial,"hello") wiringpi.serialClose(serial) # Pass in ID \\ \\ __4. Installer la bibliothèque pyserial, puis coder__ Apparemment, cette bibliothèque python est déjà installée sur mon rbpi from serial import Serial serial_port = Serial(port='/dev/ttyACM0', baudrate=9600) serial_port.write("une chaine a transmettre au peripherique serie") lu = serial_port.readline(); # une chaine a recevoir du peripherique lu Serial.close(serial_port) Testée avec mon arduino, connecté en USB --> ca fonctionne !!!! Remarque : Sur mon rbpi2, - /dev/ttyAMA0 correspond aux GPIO RX et TX de la liaison série \\ - /dev/ttyACM0 correspond à la détection d'un périphérique série sur le port USB du rbpi2 \\