Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
openatelier:projet:sampler_puredata_pour_raspberry_pi_sans_ecran [2025/09/15 16:59] cyril [En Python avec des boutons physiques de récupération] |
openatelier:projet:sampler_puredata_pour_raspberry_pi_sans_ecran [2025/10/16 09:18] (Version actuelle) cyril [Lancement automatique du script python au démarrage du Raspberry Pi] |
||
|---|---|---|---|
| Ligne 63: | Ligne 63: | ||
| ====En Python avec des boutons physiques de récupération==== | ====En Python avec des boutons physiques de récupération==== | ||
| - | On commence par installer le module "pip" pour Python 3: <code> sudo apt install python3-pip</code> | + | On commence par installer le module "pip" pour Python 3: <code> sudo apt install python3-pip</code> suivi d'un <code>sudo apt install python3-full</code> |
| Puis la bibliothèque Pygame: | Puis la bibliothèque Pygame: | ||
| <code>python3 -m pip install -U pygame --user --break-system-packages</code> | <code>python3 -m pip install -U pygame --user --break-system-packages</code> | ||
| Ligne 162: | Ligne 162: | ||
| ====Lancement automatique du script python au démarrage du Raspberry Pi ==== | ====Lancement automatique du script python au démarrage du Raspberry Pi ==== | ||
| + | Si vous avez testé votre script mais qu'il ne se lance pas et que vous avez ce genre de retour dans la console: | ||
| + | <code> Can't set permissions (436) for /home/patch/waxmonde/.lgd-nfy0, No such file or directory</code> | ||
| + | |||
| + | Il est possible qu'il faille donner les droits en lecture/écriture/utilisation au dossier dans lequel se trouve votre script python. En effet, il y en a besoin pour la gestion des GPIO et créer le fichier .lgd-nfy0. Il faut donc faire un <code>sudo chmod 777 "chemin de votre dossier où dans lequel se situe votre script"</code> | ||
| On va utiliser la méthode "systemd" (si j'ose dire...) qui gère le lancement de "services" au démarrage du Raspberry Pi (en gros...). | On va utiliser la méthode "systemd" (si j'ose dire...) qui gère le lancement de "services" au démarrage du Raspberry Pi (en gros...). | ||
| Ligne 171: | Ligne 175: | ||
| <code> sudo nano /etc/systemd/system/waxmonde.service</code> -> vous pouvez donner le nom du service que vous voulez bien entendu... | <code> sudo nano /etc/systemd/system/waxmonde.service</code> -> vous pouvez donner le nom du service que vous voulez bien entendu... | ||
| - | * Dans nano, on édite le fichier avec ce qui suit: | + | * Dans nano, on édite le fichier avec ce qui suit et qui fonctionne au 16/10/2025: |
| - | <code> [Unit] | + | <code>[Unit] |
| Description=Lecteur de samples Waxmonde v1.0 | Description=Lecteur de samples Waxmonde v1.0 | ||
| After=alsa-restore.service | After=alsa-restore.service | ||
| + | |||
| [Service] | [Service] | ||
| - | ExecStart=/usr/bin/python3 /home/waxmonde/samples/gpio_music_box08.py | + | ExecStart=/usr/bin/python3 /home/patch/waxmonde/gpio_music_box08.py |
| - | WorkingDirectory=/home/waxmonde/samples | + | WorkingDirectory=/home/patch/waxmonde/ |
| - | User=waxmonde | + | User=patch |
| [Install] | [Install] | ||
| WantedBy=multi-user.target | WantedBy=multi-user.target | ||
| + | |||
| </code> | </code> | ||
| Ligne 285: | Ligne 291: | ||
| Le projet va maintenant s'installer dans une radio dont le haut-parleur est sous 4 Ohms pour une puissance de 2W. | Le projet va maintenant s'installer dans une radio dont le haut-parleur est sous 4 Ohms pour une puissance de 2W. | ||
| Il y a une carte qui correspond à ces paramètres at qui s'appelle la Audio Amp Shim, de chez Pimoroni. Elle prend peu de place, communique en i2s et sert d'amplificateur de bonne qualité. | Il y a une carte qui correspond à ces paramètres at qui s'appelle la Audio Amp Shim, de chez Pimoroni. Elle prend peu de place, communique en i2s et sert d'amplificateur de bonne qualité. | ||
| - | Il est à noter que le i2s a besoin de 3 broche GPIO pour fonctionner. Voici la documentation à ce sujet: [[https://pinout.xyz/pinout/audio_amp_shim|Pin Out Audio Amp Shim]] | + | Il est à noter que le i2s a besoin de 3 broches GPIO pour fonctionner. Voici la documentation à ce sujet: [[https://pinout.xyz/pinout/audio_amp_shim|Pin Out Audio Amp Shim]] |
| - | Ce sont donc des ports que nous ne pourrons pas utiliser pour d'autres fonctionnalités, comme des boutons par exemple. | + | Ce sont donc des ports que nous ne pourrons pas utiliser pour d'autres fonctionnalités, comme des boutons par exemple. Il faut donc aussi désactiver le SPI, sans quoi, les GPIO normalement utilisés par ce protocole seront vu comme utilisés par lgpio et le script se lancera puis s'arrêtera. |
| Il faudra aussi brider le volume de sortie, puisque la puissance admissible par le haut-parleur est inférieure à la puissance maximale délivrable par l'amplificateur de la carte. | Il faudra aussi brider le volume de sortie, puisque la puissance admissible par le haut-parleur est inférieure à la puissance maximale délivrable par l'amplificateur de la carte. | ||
| Ligne 304: | Ligne 310: | ||
| # Uncomment some or all of these to enable the optional hardware interfaces | # Uncomment some or all of these to enable the optional hardware interfaces | ||
| dtparam=i2c_arm=on | dtparam=i2c_arm=on | ||
| - | #dtparam=i2s=on | + | dtparam=i2s=on |
| - | #dtparam=spi=on | + | dtparam=spi=off |
| # Enable audio (loads snd_bcm2835) | # Enable audio (loads snd_bcm2835) | ||
| - | dtparam=audio=on | + | |
| # Additional overlays and parameters are documented | # Additional overlays and parameters are documented | ||
| Ligne 326: | Ligne 332: | ||
| #max_framebuffers=2 | #max_framebuffers=2 | ||
| dtoverlay=hifiberry-dac | dtoverlay=hifiberry-dac | ||
| - | dtparam=audio=off | + | dtoverlay=i2s-mmap |
| + | force_eeprom_read=0 | ||
| # Don't have the firmware create an initial video= setting in cmdline.txt. | # Don't have the firmware create an initial video= setting in cmdline.txt. | ||
| # Use the kernel's default instead. | # Use the kernel's default instead. | ||
| Ligne 364: | Ligne 371: | ||
| Il n'y a que cela, donc notre carte son va s'appeler 0:0. | Il n'y a que cela, donc notre carte son va s'appeler 0:0. | ||
| - | Nous modifions donc le fichier etc/asound.conf | + | Nous modifions donc le fichier /etc/asound.conf |
| - | <code>sudo nano etc/asound.conf</code> | + | <code>sudo nano /etc/asound.conf</code> |
| <code>pcm.!default { | <code>pcm.!default { | ||