Bonjour,
J'ai écrit un script python qui fonctionne très bien lorsqu'il est lancé à partir de l'interface graphique avec l'Idle ou depuis le terminal. Ce script lance entre autre la lecture d'un fichier son. Jusqu' là, tout est ok. L'idée de script est de réalisé un "Repasse hirondelle" pour diffuser le chant des hirondelles à certains moments de la journée pour les attirer et qu'elles nichent à proximité. Tout est dit. Pour ce qui suit, ce script est limité à la lecture d'un fichier son, ce qui me pose problème.
En effet, ce script doit s'exécuter au démarrage de la raspberry. J'ai utilisé cette méthode: https://www.raspberrypi-france.fr/lance ... pberry-pi/ . Le script est bien exécuté au démarrage (aucun doute) mais pas de son lors de la lecture du fichier son. J'ai essayé avec Pygame ou mpg321, même résultat.
J'ai essayé plusieurs solutions mais aucune ne fonctionne. Je penche vers un problème de la configuration de la sotie son au démarrage mais je sèche...
Une idée ?
Merci d'avance
Pas de son au lancement d'un script python au démarrage [RESOLU]
Modérateurs : Francois, Manfraid
Re: Pas de son au lancement d'un script python au démarrage
Bonjour,
Donc tu as mis ceci dans la crontab :
Donc tu a un fichier de log qui contient à la fois la sortie 1 (sortie normale de ton script si tu affiches des choses) et la sortie 2 (les erreurs éventuelles)
Tu peux donc regarder ce fichier de log et voir s'i précise un problème.
Avec @reboot, tu risques de rencontrer le soucis que le pilote son n'est pas disponible au moment où le script se lance.
Comme tu ne souhaite pas un lancement au boot mais à certaines heures, tentes ta chance avec un truc du genre (c'est un lancement toutes les 3 minutes)
Une question aussi, tu as mis ça dans la crontab de quel utilisateur ?
Peut-être que l'utilisateur en question n'a pas le droit de faire ce que tu demandes ? Le fichier de log en dira plus.
Donc tu as mis ceci dans la crontab :
Code : Tout sélectionner
@reboot sh /home/pi/lancement.sh > /home/pi/logs/log.txt 2>&1
Tu peux donc regarder ce fichier de log et voir s'i précise un problème.
Avec @reboot, tu risques de rencontrer le soucis que le pilote son n'est pas disponible au moment où le script se lance.
Comme tu ne souhaite pas un lancement au boot mais à certaines heures, tentes ta chance avec un truc du genre (c'est un lancement toutes les 3 minutes)
Code : Tout sélectionner
*/3 * * * * bash /home/pi/monscript > /home/pi/log.txt 2>&1
Peut-être que l'utilisateur en question n'a pas le droit de faire ce que tu demandes ? Le fichier de log en dira plus.
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
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
Re: Pas de son au lancement d'un script python au démarrage
Salut à tous.
Qu'est-ce que vous utilisez comme interface son ?
@+
Qu'est-ce que vous utilisez comme interface son ?
@+
RPI4B/8GB + Argon FanHAt
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32
Rpi3A+, Rpi3B+
RPi 2B + Joy-It I2C Serial 20x4 2004 LCD Module
RPi 2B + PIM273 Unicorn HAT HD 16x16 Leds RGB
RPi0v1.3, RPi0W + LibreElec/Kodi, Rpi0WH + Tuner TV HAT
NodeMCU ESP32
Re: Pas de son au lancement d'un script python au démarrage
Bonjour,
Tout d'abord un complément d'informations qui manque dans mon premier message...
J'ai commencé avec la raspberry via un server VNC (je n'avais pas d'écran et de clavier à la maison). Le son fonctionne bien sur la prise jack lorsque je suis en mode graphique (sortie son prise jack sélectionnée). C'est sur cette sortie que j'attends le son pour y connecter des enceintes.
J'ai fait un test avec un écran sur port hdmi et surprise, le son est bien là avec le lancement via crontab. J'ai suivi les conseils de piper, toutes les 3 minutes je diffuse le son sur le port hdmi, et non la prise jack.
J'ai exécuté alors la commande sudo rapsi-config afin de sélectionner la bonne sortie son en mode console et ça marche à chaque redémarrage. Sauf que si j'ai le malheur de relancer l'interface graphique, la config par défaut repasse à la sortie son HDMI. Je suis obligé de reconfigurer la sortie son avec raspi-config en mode console.
J'ai eu l'idée (peut être pas bonne ...) d'ajouter une petite ligne dans mon script bash de lancement du fichier python : amixer cset numid=3 1 mais j'obtiens ce message dans mon fichier de logs : amixer : Cannot find the given element from control default.
Ça avance, mais si je pouvais imposer la bonne sortie son dans mon script bash, ce serait cool. En effet, je souhaite garder la connexion VNC afin de pouvoir modifier/reprogrammer la carte qui sera placé à 10 mètres de haut sans accès forcément facile. Et le mode console n'est accessible qu'avec un écran + clavier directement connectés, pas via VNC.
En attendant vos remarques, je continue de chercher.
Et merci pour votre aide !!!
A+
Tout d'abord un complément d'informations qui manque dans mon premier message...
J'ai commencé avec la raspberry via un server VNC (je n'avais pas d'écran et de clavier à la maison). Le son fonctionne bien sur la prise jack lorsque je suis en mode graphique (sortie son prise jack sélectionnée). C'est sur cette sortie que j'attends le son pour y connecter des enceintes.
J'ai fait un test avec un écran sur port hdmi et surprise, le son est bien là avec le lancement via crontab. J'ai suivi les conseils de piper, toutes les 3 minutes je diffuse le son sur le port hdmi, et non la prise jack.
J'ai exécuté alors la commande sudo rapsi-config afin de sélectionner la bonne sortie son en mode console et ça marche à chaque redémarrage. Sauf que si j'ai le malheur de relancer l'interface graphique, la config par défaut repasse à la sortie son HDMI. Je suis obligé de reconfigurer la sortie son avec raspi-config en mode console.
J'ai eu l'idée (peut être pas bonne ...) d'ajouter une petite ligne dans mon script bash de lancement du fichier python : amixer cset numid=3 1 mais j'obtiens ce message dans mon fichier de logs : amixer : Cannot find the given element from control default.
Ça avance, mais si je pouvais imposer la bonne sortie son dans mon script bash, ce serait cool. En effet, je souhaite garder la connexion VNC afin de pouvoir modifier/reprogrammer la carte qui sera placé à 10 mètres de haut sans accès forcément facile. Et le mode console n'est accessible qu'avec un écran + clavier directement connectés, pas via VNC.
En attendant vos remarques, je continue de chercher.
Et merci pour votre aide !!!
A+
Re: Pas de son au lancement d'un script python au démarrage
Bonsoir,
J'essaierai ceci : ça devrait fonctionner, sous réserve.
editer le fichier /boot/config.txt (une copie de sauvegarde est la bienvenue avant !!! )
Trouver la ligne "hdmi_drive" (CTRL +W)
et mettre hdmi_drive=2
car :
Evidement, après sauvegarde du fichier (CTRL+O, CTRL+X), il faut rebooter.
J'essaierai ceci : ça devrait fonctionner, sous réserve.
editer le fichier /boot/config.txt (une copie de sauvegarde est la bienvenue avant !!! )
Code : Tout sélectionner
sudo cp /boot/config.txt /boot/config_txt.bak
Code : Tout sélectionner
sudo nano /boot/config.txt
et mettre hdmi_drive=2
car :
Code : Tout sélectionner
hdmi_drive=1 # pour ne pas sortir le son car le canal HDMI
hdmi_drive=2 # pour sortir le son par le HDMI si supporté et activé
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
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
Re: Pas de son au lancement d'un script python au démarrage [RESOLU]
Bonjour,
Solution trouvée en parcourant de nombreux sites. J'ai découvert que certains lecteurs fonctionnaient très bien sous interface graphique et d'autres en mode console.
Sur un site, j'ai vu que je pouvais peux forcer la sortie audio avec omxplayer avec la commande :
[code=python] omxplayer /home/pi/hirondelles/HirondelleFenetre.mp3 -o alsa:hw:1,0 [/code]
Et là bingo. Exactement ce que je voulais. Le son sort par la fiche jack dans toutes les situations.
Je vais aussi essayer ta solution piper histoire d'être moins bête.
Merci à toi pour ton aide !
A+
Solution trouvée en parcourant de nombreux sites. J'ai découvert que certains lecteurs fonctionnaient très bien sous interface graphique et d'autres en mode console.
Sur un site, j'ai vu que je pouvais peux forcer la sortie audio avec omxplayer avec la commande :
[code=python] omxplayer /home/pi/hirondelles/HirondelleFenetre.mp3 -o alsa:hw:1,0 [/code]
Et là bingo. Exactement ce que je voulais. Le son sort par la fiche jack dans toutes les situations.
Je vais aussi essayer ta solution piper histoire d'être moins bête.
Merci à toi pour ton aide !
A+