Pi5 et GPIO via Python

Votre Apache se cache, votre Pi gémit, votre SoC fume ? La panne quoi ! C'est ici que vous trouverez sans doute une solution... Sinon du réconfort :)

Modérateurs : Francois, maxty01

Répondre
piper
Raspinaute
Messages : 658
Enregistré le : sam. 5 juin 2021 18:57

Pi5 et GPIO via Python

Message par piper » mar. 26 déc. 2023 00:42

Bon j'ai mis ce sujet dans "en panne" mais le Pi5 que je viens de recevoir n'est pas en panne.

Je viens seulement de découvrir que le Pi5 n'est pas compatible avec les librairie RPi.GPIO
En l'utilisant, on obtient l'erreur suivante :

Code : Tout sélectionner

Cannot determine SOC peripheral base address
On savait déjà que WiringPi a été abandonné il y a un moment (déprécié en 2019 pour être plus exact).
Voici que RPi.GPIO que j'ai utilisé en remplacement de wiringPi entre dans son 3ième âge : le dernier avant la tombe.

De ce que j'en ai lu, c'est la conséquence de modifications majeures dans le hardware du Pi5

On peut toujours exploiter le GPIO du Pi5 en python bien sûr mais maintenant, il faut utiliser soit gpiozero soit gpiod et évidement la syntaxe à utiliser change : donc du code à réécrire.

Donc attention : si vous avez des montages qui fonctionnent très bien avec vos PiZero,1,2,3 ou 4 écrits en python et qui exploitent le GPIO
Il y a des chances que cela ne fonctionne pas sur un Pi5.

Quid des périphériques pour Gpio qu'on achète dans le commerce, fournis avec des exemples de code en python ? (les produits Az-Delivery, WaveShare , etc...) . Vont-ils modifier leurs exemples de codes pour les rendre compatibles Pi5 ? .... j'imagine le surcoût financier pour ces entreprises et sans aucun espoir de pouvoir justifier une augmentation du prix de leurs produits !

C'est chouette les langages open source et les communautés très actives (comme python) mais cela n'a pas que des avantages ni pour les particuliers, ni pour les société qui vendent des produits compatibles.

Bon à part cette déception et le fait que le Pi5 chauffe encore plus que le Pi4 (système de refroidissement plus que conseillé !)
C'est vrai qu'il est bien plus rapide que le Pi4 : il n'y a pas photo, même si on est encore loin des performances d'un bon PC quand même, l'usage en bureautique est devenu agréable.
3 Pi4 : Emby / Samba , Librelec, Android TV
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32

mike913
Raspinaute
Messages : 248
Enregistré le : mar. 7 oct. 2014 09:46
Localisation : Morsang / Orge - Essonne
Contact :

Re: Pi5 et GPIO via Python

Message par mike913 » mar. 26 déc. 2023 07:14

Bonjour,
Tu trouveras ton bonheur dans la documentation du PI5 https://www.raspberrypi.com/documentati ... pin-header
DS712+ 2x Western Digital WD10EADS-00L 1000 GB (SHR) - Firmware: DSM 6.1.6-15266
Raspberry - RFXTRX433 - Aeon Labs ZStick V2 - Domoticz
FreeBox v6
https://meteo.folcke.net
https://wiki.folcke.net

mike913
Raspinaute
Messages : 248
Enregistré le : mar. 7 oct. 2014 09:46
Localisation : Morsang / Orge - Essonne
Contact :

Re: Pi5 et GPIO via Python

Message par mike913 » sam. 30 déc. 2023 22:30

Bonjour,
On peux utiliser en python: rpi-gpio
pour cela il faut utiliser un environnement virtuel

Code : Tout sélectionner

sudo apt install python3.11-venv
créer un environnement virtuel:
	python3 -m venv .env
activer l' environnement:
	source .env/bin/activate
	python3 -m pip install --upgrade pip
	python3 -m pip --version
	python3 -m pip install wifi
	python3 -m pip install pillow
	python3 -m pip install rpi-gpio
	python3 -m pip install smbus
	deactivate
ensuite en 1ère ligne je met:

Code : Tout sélectionner

#!/home/<USER>/.env/bin/python
# coding=UTF-8
DS712+ 2x Western Digital WD10EADS-00L 1000 GB (SHR) - Firmware: DSM 6.1.6-15266
Raspberry - RFXTRX433 - Aeon Labs ZStick V2 - Domoticz
FreeBox v6
https://meteo.folcke.net
https://wiki.folcke.net

TaheenSomosiline
Messages : 6
Enregistré le : lun. 6 nov. 2023 12:09

Re: Pi5 et GPIO via Python

Message par TaheenSomosiline » lun. 12 févr. 2024 07:04

D'accord, je comprends votre frustration. Effectivement, le passage au Pi5 peut s'avérer un peu délicat pour les projets utilisant le GPIO, car les changements matériels importants impliquent une incompatibilité avec les anciennes bibliothèques comme RPi.GPIO.

Voici quelques points à retenir :

Alternatives à RPi.GPIO: Heureusement, des solutions existent comme gpiozero et gpiod. Elles offrent des fonctionnalités similaires, mais nécessitent une adaptation du code.
Réécriture du code: Si vous avez des projets utilisant RPi.GPIO sur des modèles antérieurs, il faudra les réécrire pour les rendre compatibles avec le Pi5 et les nouvelles bibliothèques.
Compatibilité des périphériques: Les périphériques GPIO du commerce avec des exemples de code en Python risquent de ne pas fonctionner sur le Pi5 sans adaptation du code. Il est important de vérifier la compatibilité auprès des fabricants ou de la communauté.
Avantages et inconvénients du Pi5: Le Pi5 offre une puissance accrue et une meilleure expérience bureautique, mais il présente aussi des défis en matière de compatibilité logicielle et de chauffe. Un système de refroidissement est fortement conseillé.
Voici quelques ressources pour vous aider à migrer vers le Pi5:

Documentation officielle Raspberry Pi: https://www.raspberrypi.com/documentation/
Tutoriels gpiozero: https://gpiozero.readthedocs.io/en/stable/
Tutoriels gpiod: <URL non valide supprimée>
Forum Raspberry Pi: https://www.raspberrypi.org/forums/

piper
Raspinaute
Messages : 658
Enregistré le : sam. 5 juin 2021 18:57

Re: Pi5 et GPIO via Python

Message par piper » ven. 16 févr. 2024 01:19

Bon je vois que personne n'a compris mon propos
Tant pis
Je disais :
1) constatation
2) je sais très bien qu'il faut modifier le code, j'ai même précisé par quoi.
Je connais les environnement virtuels et c'est un pb hardware pas software
3) conséquences pour les entreprises qui produisent des composants (réécriture de code à mettre à notre disposition) => c'est là dessus que j'entendais débattre (vous imaginez réécrire la bibliothèque d'un afficheur LCD ou Oled à la mimine par exemple ?)

Bon c'est pas grave, il m'arrive aussi de répondre à côté
3 Pi4 : Emby / Samba , Librelec, Android TV
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32

Répondre

Retourner vers « En panne ? »