RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/OLED

Ici on parle de Raspberry PI, Sparky, Odroid... avec des solutions comme Squeezelite, MPD, Max2Play... ainsi que leur DAC et accessoires dédiés
Avatar de l’utilisateur
Cram28
Messages : 62
Inscription : dim. 29 nov. 2015 13:41

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par Cram28 » sam. 05 mars 2016 20:31

Sorry dhrone, but I not speek (and write too) in english ... :?

Néanmoins je suis intéressé par cette solution que j'ai donc testée. Je vous propose la procédure que j'ai mise en œuvre.

Récupération et installation des 2 scripts Python, dans le dossier /home/pi/ sur RaspBerry Pi2, avec la distribution Volumio 1.55.
Cette distribution dispose de la v2.7.8 de Python, sans les packages / modules "moment" et "mpd", objets d'import dans "RaspDacDisplay.py".
Il manque ces 2 pré-requis dans la documentation.

Pour me simplifier la vie, j'ai installé PyPI - the Python Package Index (guide https://python-packaging-user-guide.rea ... en/latest/)
Il suffit:
- de récupérer le fichier là: https://bootstrap.pypa.io/get-pip.py
- de le déposer sur le RaspDac dans "/home/pi/" avec un outil ftp genre filezilla.
- de l'exécuter:

Code : Tout sélectionner

root@rocambole:/home/pi# python get-pip.py
Collecting pip
  Downloading pip-8.1.0-py2.py3-none-any.whl (1.2MB)
    100% |████████████████████████████████| 1.2MB 83kB/s 
Collecting setuptools
  Downloading setuptools-20.2.2-py2.py3-none-any.whl (508kB)
    100% |████████████████████████████████| 512kB 152kB/s 
Collecting wheel
  Downloading wheel-0.29.0-py2.py3-none-any.whl (66kB)
    100% |████████████████████████████████| 71kB 272kB/s 
Installing collected packages: pip, setuptools, wheel
Successfully installed pip-8.1.0 setuptools-20.2.2 wheel-0.29.0
- A partir de là, on peut récupérer les modules manquant avec la commande "pip install <module>"
Pour "moment", c'est Ok:

Code : Tout sélectionner

root@rocambole:/home/pi# pip install moment
Collecting moment
  Downloading moment-0.2.2.tar.gz
Collecting pytz (from moment)
  Downloading pytz-2015.7-py2.py3-none-any.whl (476kB)
    100% |████████████████████████████████| 481kB 147kB/s 
Collecting times (from moment)
  Downloading times-0.7-py2.py3-none-any.whl
Collecting arrow (from times->moment)
  Downloading arrow-0.7.0.tar.gz (75kB)
    100% |████████████████████████████████| 81kB 254kB/s 
Collecting python-dateutil (from arrow->times->moment)
  Downloading python_dateutil-2.5.0-py2.py3-none-any.whl (199kB)
    100% |████████████████████████████████| 204kB 151kB/s 
Collecting six>=1.5 (from python-dateutil->arrow->times->moment)
  Downloading six-1.10.0-py2.py3-none-any.whl
Building wheels for collected packages: moment, arrow
  Running setup.py bdist_wheel for moment ... done
  Stored in directory: /root/.cache/pip/wheels/42/ac/c0/fc921cd9ff34775d93b592371b93a91ac3ce42fd55b66d5984
  Running setup.py bdist_wheel for arrow ... done
  Stored in directory: /root/.cache/pip/wheels/01/dc/e5/09fd2bf9e43f679ceb050bae2e6c8217816c79eea6d12e5811
Successfully built moment arrow
Installing collected packages: pytz, six, python-dateutil, arrow, times, moment
Successfully installed arrow-0.7.0 moment-0.2.2 python-dateutil-2.5.0 pytz-2015.7 six-1.10.0 times-0.7
En revanche "mpd" ? J'ai plusieurs candidats là: https://pypi.python.org/pypi?%3Aaction= ... mit=search
J'hésite: python-mpd 0.3.0, python-mpd2 0.5.4, python-mpd2 0.5.5, autres ???

Finalement, en fouillant un peu les commandes utilisées dans le code et les indications/exemples des modules j'ai installé python-mpd2 0.5.5:

Code : Tout sélectionner

root@rocambole:/home/pi# pip install python-mpd2
Collecting python-mpd2
  Downloading python-mpd2-0.5.5.tar.bz2
Building wheels for collected packages: python-mpd2
  Running setup.py bdist_wheel for python-mpd2 ... done
  Stored in directory: /root/.cache/pip/wheels/97/2a/11/40b3c20ebe6d3540cdec166a373f59a6b49cbdae15f026afce
Successfully built python-mpd2
Installing collected packages: python-mpd2
Successfully installed python-mpd2-0.5.5
Un point bloquant à mon sens: Si on n'a pas de démon Spotify, le programme échoue à démarrer. J'ai pour ma part commenté les lignes 63 à 76 de RaspDacDisplay.py.

Et c'est nickel !! Reste plus qu'à trouver une solution pour les caractères... tordus: Les accents de la chanson française, les lettres allemandes pour la musique classique... ;)

En tous les cas, merci pour ce chouette programme: en effet çà défile :) - Thank you dhrone !
@+

EDIT: Je constate à l'usage que lorsqu'une playlist est terminée, le programme détecte au bout d'un moment qu'il n'a plus de connexion au MPD, et il s’arrête. Si on remet un morceau, l'écran reste en l'état et il faut aussi relancer le programme de contrôle de l'écran RaspDacDisplay: Mettre en place une boucle sans fin qui attend indéfiniment un serveur (mpd et/ou spotify) ? Merci.

Avatar de l’utilisateur
Nicko
Administrateur - Site Admin
Messages : 450
Inscription : mer. 26 juil. 2006 12:21
Localisation : Bordeaux
Contact :

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par Nicko » lun. 07 mars 2016 17:29

J'ai testé de mon coté également, voici ce qu'il est nécessaire pour faire marcher sur script sur une version de Volumio 1.55 standard.
Je ferai un tutoriel plus exhaustif plus tard.

Comme j'ai fais les tests sur un DAC V3 il y a un pin différent au niveau de l'écran.
Il faut modifier cette ligne dans le script Winstar_GraphicOLED.py, ligne 103 :

Code : Tout sélectionner

pins_db1 = [25, 24, 23, 15, 8, 7]
A changer en :
pins_db1 = [25, 24, 23, 27, 8, 7]

Comme Cram28 à pu le voir il manque certains packages dans python pour que le script Volumio de Dhrone fonctionne , je lui ai déjà remonté ces infos.

J'ai pu rendre le script fonctionnel et stable avec ces modifs :

Installer PIP (Pyton installer)

Code : Tout sélectionner

apt-get install python-setuptools && easy_install pip
Une fois que PIP est installé, installer le module moment et python-mpd :

Code : Tout sélectionner

pip install moment
pip install python-mpd
Et pour l'instant, j'ai retiré la partie Spotify qui bloque le lancement du programme ou le fait quitter dès qu'il est sur stop.
Ci-joint la version modifiée.

Dhrone proposera peut-être une amélioration plus tard.
Pièces jointes
RaspDacDisplay.zip
RaspDac Display without Spotify
(3.23 Kio) Téléchargé 195 fois

Avatar de l’utilisateur
Nicko
Administrateur - Site Admin
Messages : 450
Inscription : mer. 26 juil. 2006 12:21
Localisation : Bordeaux
Contact :

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par Nicko » lun. 07 mars 2016 17:31

Cram28 a écrit : Et c'est nickel !! Reste plus qu'à trouver une solution pour les caractères... tordus: Les accents de la chanson française, les lettres allemandes pour la musique classique... ;)
Ca par contre on à cherché un moment, et a priori c'est pas facile ...

dhrone
Messages : 39
Inscription : sam. 27 févr. 2016 20:51

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par dhrone » ven. 11 mars 2016 19:37

I've posted a new version of RaspDacDisplay.py up to the github site. It is a quick fix to more gracefully handle the situation when SPOP (e.g. Spotify) is not running. In general, the networking code is fragile and needs to be rewritten but this fix should get past the issue people were having if they are not using Spotify while still supporting Spotify for those that need it.

[La traduction automatique en français]
J'ai posté une nouvelle version de RaspDacDisplay.py jusqu'au site de github. Il est une solution rapide pour gérer plus gracieusement la situation quand SPOP (par exemple Spotify) ne fonctionne pas. En général, le code réseau est fragile et doit être réécrit, mais ce correctif doit passer les gens d'émission étaient en train si elles ne sont pas en utilisant Spotify tout en soutenant Spotify pour ceux qui en ont besoin.

https://github.com/dhrone/Raspdac-Display

dhrone
Messages : 39
Inscription : sam. 27 févr. 2016 20:51

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par dhrone » dim. 13 mars 2016 22:14

Yet another version up on github.

Bug Fixes
Previous code would throw an exception and exit when a song with non-US characters in the title or artist name were present. This issue has hopefully been resolved.
The calculation used to determine delays to enable writes to the display suffered from a major flaw in the delay timing calculation. This has been fixed and the delay timings have been readjusted. Hopefully this will resolve the rare display corruption issue.

Enhancements
Switched to the Winstar's European font table and added a translation function between unicode and it to enable the display of most European accent characters
Added more robust handling of network errors from the song data sources
Added instructions for the installation of moment and python-mpd to the readme file

Feedback is always appreciated.

Best regards,
Dhrone

[La traduction automatique en français]

Corrections de bugs
Code précédent jetterait une exception et sortir quand une chanson avec des caractères non-américains dans le titre ou nom de l'artiste étaient présents. Ce problème a été résolu, espérons.
Le calcul utilisé pour déterminer les retards pour permettre écrit à l'affichage souffert d'un défaut majeur dans le calcul retard de synchronisation. Ceci a été corrigé et les timings de retard ont été réajustés. Espérons que cela va résoudre le problème rare affichage de la corruption.

Améliorations
Switched à la table européenne de police de l'Winstar et a ajouté une fonction de traduction entre unicode et pour permettre l'affichage de la plupart des caractères accentués européens
Ajout manipulation plus robuste des erreurs de réseau à partir des sources de données de la chanson
Ajout d'instructions pour l'installation de moment et python-mpd dans le fichier readme

Feedback est toujours apprécié.

Meilleures salutations,
Dhrone

https://github.com/dhrone/Raspdac-Display

Avatar de l’utilisateur
Cram28
Messages : 62
Inscription : dim. 29 nov. 2015 13:41

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par Cram28 » lun. 14 mars 2016 00:56

Hello,

Je vais m'empresser de voir cela et je ferais un retour. Merci déjà beaucoup pour le boulot :-D

Je suis sûr que çà fera 'anglais nul' mais bon, çà donne çà : :roll:
I am going to hurry to see it and I would make a return. Thank you already a lot for the job(work)

hum ... :oops:

@bientôt

Avatar de l’utilisateur
Cram28
Messages : 62
Inscription : dim. 29 nov. 2015 13:41

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par Cram28 » ven. 18 mars 2016 17:43

Bonjour,
Ca par contre on à cherché un moment, et a priori c'est pas facile ..." à propos des accents !
En effet, je fouille depuis quelques jours et çà n'a pas l'air trivial du tout ...

Le problème, si j'ai bien tout compris (rien n'est moins sûr...), c'est le codage des caractères en python. On distingue les chaînes de caractères typées "unicode" et celles typées "str". Le "str" n'est pas une "vraie" chaîne, mais un tableau de bytes.
Pour bien faire il faudrait que tout ce qui est manipulé dans les programmes soit en unicode, ce qui suppose de convertir:
- les entrées en unicode depuis leur codage d'origine
- les sorties dans le codage des cibles
Obtenir ces infos de codage d'origine et de destination n'est pas trivial!

cf. cet article intéressant (dont j'aime bien le ... ton :lol:) sur le sujet: http://sametmax.com/lencoding-en-python ... our-toute/

Le problème est de déterminer le codage des chaînes (artiste, titre...) en provenance du serveur mpd, qui les obtient lui-même (dans mon cas) d'un système de fichiers sous Linux et d'un dossier réseau samba partagé (NAS).
Et j'ai pas trouvé; du coup la conversion unicode échoue sur les chaînes avec des caractères accentués (car valeur numérique des caractères supérieure à 127).

Je propose la solution suivante (qui n'est peut-être pas valable chez tous):
- En affichant les chaînes natives, tous les caractères > 127 sont précédés du caractère d'échappement 'xc3' (195 en décimal)
- Du coup j'ai modifié comme suit la fonction message qui parcours la chaîne à afficher, caractère par caractère dans 'Winstar_GraphicOLED.py' :

[1] Si 195 est trouvé, on passe au suivant car caractère du code ascii dit étendu, sinon caractère à convertir:

Code : Tout sélectionner

    def message(self, text):
        ''' Send string to LCD. Newline wraps to second line'''
        for char in text:
            if char == '\n':
                self.write4bits(0xC0)  # next line
            else:
                # Translate incoming character into correct value for European charset
                # and then send it to display.  Use space if character is out of range.
                c = ord(char)
                if c > 255: c = 32
                # Sequence caractere etendu
                if c == 195:  
                  # On ignore le caractere d'echappement et on passe au suivant
                  continue    
                else:
                  self.write4bits(self.character_translation2[c], True)
                # print(char, c, self.character_translation2[c])
     

[2] Et aussi nouveau tableau de correspondance pour l'écran OLED (dans lequel je n'exclue pas qu'il y ait des erreurs / oublis / pas fini):

Code : Tout sélectionner

    character_translation2 = [   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  #   0
                                 0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  #  10
                                 0,   0,   0,   0,   0,   0,   0,   0,   0,   0,  #  20
                                 0,   0,  32,  33,  34,  35,  36,  37,  38,  39,  #  30
                                40,  41,  42,  43,  44,  45,  46,  47,  48,  49,  #  40
                                50,  51,  52,  53,  54,  55,  56,  57,  58,  59,  #  50
                                60,  61,  62,  63,  64,  65,  66,  67,  68,  69,  #  60
                                70,  71,  72,  73,  74,  75,  76,  77,  78,  79,  #  70
                                80,  81,  82,  83,  84,  85,  86,  87,  88,  89,  #  80
                                90,  91,  92,  93,  94,  95,  96,  97,  98,  99,  #  90
                               100, 101, 102, 103, 104, 105, 106, 107, 108, 109,  # 100
                               110, 111, 112, 113, 114, 115, 116, 117, 118, 119,  # 110
                               120, 121, 122, 123, 124, 125, 126,  32, 152, 152,  # 120
                               152,  32,  32,  32, 175,  67, 145, 146, 144, 147,  # 130
                               162, 163, 161, 164, 194, 166, 136, 137, 135, 207,  # 140
                                32,  32,  32, 129, 130, 128, 131,  89, 219, 195,  # 150
                               156, 157, 155, 219, 158,  32,  32, 196, 149, 150,  # 160
                               151, 148, 162, 163, 161, 164,  32,  32, 140, 141,  # 170
                               139,  32, 142,  32, 201, 133, 134, 132, 131,  32,  # 180
                               219, 202,  32,  32,  32,  32,  32,  32,  32,  32,  # 190
                                32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  # 200
                                32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  # 210
                                32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  # 220
                                32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  # 230
                                32,  32,  32,  32,  32,  32,  32,  32,  32,  32,  # 240
                                32,  32,  32,  32,  32,  32,  32                  # 250
                             ]
Peut-être serait-il plus intéressant de mettre autre chose que 32 (espace) quand "on sait pas" pour identifier plus vite les cas à trancher: "?"

Sinon, je suis tombé sur un petit bug, mais je ne parviens pas à déterminer où çà pèche ni à le caractériser avec précision: parfois dans le scrolling le caractère de la dernière position ne s'efface pas quand on repasse au nom de l'artiste... Je me perds en route dans les boucles du scrolling ... :roll:
J'ai tenter :
- de remplacer le tabulation dans 'RaspDacDisplay.py' en ligne 244 par blancs,
- 'DISPLAY_WIDTH-1' par 'DISPLAY_WIDTH' dans la même ligne

mais sans effet: Pareil !

Sinon, çà marche très bien ce petit programme, et je le trouve très ... "élégant" ;)

Merci beaucoup à toi dhrone !!
@+
OLED-Accents.zip
Codification conversion
(43.46 Kio) Téléchargé 161 fois

Avatar de l’utilisateur
Cram28
Messages : 62
Inscription : dim. 29 nov. 2015 13:41

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par Cram28 » sam. 19 mars 2016 10:09

Hello,
MPDClient(use_unicode=True)
Bien vu, il fallait le trouver !! Simple et efficace...

Translate:
Well done , it had to be found !! Simple and efficient...

Merci Dhrone !

Petit détail: dans Winstar_GraphicOLED.py, ligne 95
...38,39,40,41,42... :twisted: :wink:

dhrone
Messages : 39
Inscription : sam. 27 févr. 2016 20:51

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par dhrone » sam. 19 mars 2016 22:43

Cram28. Thanks for the work on the program. I had not noticed that MPD was generating <STR> output instead of <Unicode>. As you noticed, this gave unreliable results for certain characters. The original python-mpd does not support Unicode output but the newer python-mpd2 module does. I have updated the instructions to show that python-mpd2 is required and have changed the RaspDacDisplay.py program to initialize MPDClient with the flag for Unicode output.

In general, it is better to process as much as possible in Unicode. This works better than trying to identify and remove the escape characters from other encodings. It is likely the reason your scrolling was not working properly as that code needs to know the length of the string that is being displayed. With the escape character being counted toward the length of the string, but not being output, extra characters on the display would be unaccounted for.

I have also made a couple of tweaks to the translation table. Thanks for noticing the 30/40 error. I also fixed the Æ character.

As always, bug reports are appreciated.

Cheers,
Dhrone

[Traduction automatique en français]
Cram28. Merci pour le travail sur le programme. Je ne l'avais pas remarqué que MPD générait <STR> sortie au lieu de <Unicode>. Comme vous l'avez remarqué, ce qui a donné des résultats peu fiables pour certains caractères. Le python-mpd original ne supporte pas la sortie Unicode mais le module python-MPD2 plus récent fait. Je l'ai mis à jour les instructions pour montrer que python-MPD2 est nécessaire et ont changé le programme RaspDacDisplay.py pour initialiser MPDClient avec le drapeau pour la sortie Unicode.

D'une manière générale, il est préférable de traiter autant que possible en Unicode. Cela fonctionne mieux que d'essayer d'identifier et de supprimer les caractères d'échappement d'autres codages. Il est probable que la raison pour laquelle votre défilement ne fonctionnait pas correctement en tant que le code a besoin de connaître la longueur de la chaîne qui est affichée. Avec le caractère d'échappement étant compté vers la longueur de la chaîne, mais ne pas être sortie, des caractères supplémentaires sur l'écran seraient portées disparues.

J'ai également fait quelques ajustements à la table de traduction. Merci d'avoir remarqué l'erreur 30/40. J'ai aussi fixé le caractère Æ.

Comme toujours, les rapports de bogues sont appréciés.

À votre santé,
Dhrone

https://github.com/dhrone/Raspdac-Display

plc
Messages : 10
Inscription : mar. 17 nov. 2015 00:26

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par plc » dim. 20 mars 2016 19:49

Hi all!
I thought I did every thing as explained but the only thing I got on the display is a minus blinking on the first char of the second line every 2 seconds.
Can someone suggest me a mistake i did?
Thanks!

Bonjour à tous,
J'ai suivi les différentes installations à faire et je n'ai pas d'affichage sinon un signe moins sur le premier caractère de la seconde ligne qui clignote toutes les 2 secondes?
une idée?

Merci!

Log : root@volumio:/var/log# vim RaspDacDisplay.log
2016-03-20 17:57:16,676:INFO:RaspDac Display Startup
2016-03-20 17:57:16,676:INFO:RaspDac_Display Initializing
2016-03-20 17:57:16,677:INFO:Calling MPD connect('localhost', 6600, timeout=None)
2016-03-20 17:57:16,697:INFO:Goodbye!
2016-03-20 17:57:16,697:INFO:Calling MPD disconnect()
2016-03-20 18:05:42,406:INFO:RaspDac Display Startup
2016-03-20 18:05:42,407:INFO:RaspDac_Display Initializing
2016-03-20 18:05:42,408:INFO:Calling MPD connect('localhost', 6600, timeout=None)
2016-03-20 18:05:42,436:INFO:Goodbye!
2016-03-20 18:05:42,437:INFO:Calling MPD disconnect()

Avatar de l’utilisateur
Cram28
Messages : 62
Inscription : dim. 29 nov. 2015 13:41

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par Cram28 » dim. 20 mars 2016 20:33

Bonsoir,

La log chez moi:

Code : Tout sélectionner

tail -f /var/log/RaspDacDisplay.log
2016-03-18 14:59:01,835:INFO:RaspDac Display Startup
2016-03-18 14:59:01,837:INFO:RaspDac_Display Initializing
2016-03-18 14:59:01,842:WARNING:Connection to Spotify service attempt 1 failed
2016-03-18 14:59:03,861:WARNING:Connection to Spotify service attempt 2 failed
2016-03-18 14:59:05,881:WARNING:Connection to Spotify service attempt 3 failed
2016-03-18 14:59:07,901:WARNING:Connection to Spotify service attempt 4 failed
2016-03-18 14:59:09,921:WARNING:Connection to Spotify service attempt 5 failed
2016-03-18 14:59:11,940:CRITICAL:Unable to connect to Spotify service
2016-03-18 14:59:11,963:INFO:Ready 3:59 PM
2016-03-18 14:59:11,964:INFO:Ready 3:59 PM
2016-03-18 15:00:00,916:INFO:Ready 4:00 PM
2016-03-18 15:00:01,937:INFO:4:00 PM (local): Édith Piaf: Mon manège à moi
2016-03-18 15:03:02,437:INFO:4:03 PM (local): Édith Piaf: Un étranger
Il met ici des "WARNING" car je n'ai pas de démon Spotify... normal.
Dans votre log, pas de connexion au mpd visiblement... Pistes (peut-être questions "bébètes"... :? :
- L'IHM Web de volumio est accessible ?
- Le DAC sort du son ?
- L'écran fonctionnait avec le premier script de ce tuto

Translate:
The logfile at home:
....

He puts here "WARNING" because I have no demon Spotify ... normal.
In your log you, no connection to the mpd visibly ...
Trails (perhaps issues "corny" ...:? :
- The volumio Web GUI is available
- The fate of its DAC
- The screen work with the first script of this tutorial

Merci.
(je raffole pas spécialement de la mère Edith, mais elle à des ... accents intéressants ... :D )

EDIT: Autre suggestion. Si vous avez changé de librairie mpd entre les différentes versions, avez-vous désinstaller python-mpd avant d'installer "python-mpd2" ? (# pip uninstall <module>).

plc
Messages : 10
Inscription : mar. 17 nov. 2015 00:26

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par plc » dim. 20 mars 2016 23:34

Cram28 a écrit :Bonsoir,


Il met ici des "WARNING" car je n'ai pas de démon Spotify... normal.
Dans votre log, pas de connexion au mpd visiblement... Pistes (peut-être questions "bébètes"... :? :
- L'IHM Web de volumio est accessible ?
- Le DAC sort du son ?
- L'écran fonctionnait avec le premier script de ce tuto

Translate:
The logfile at home:
....

He puts here "WARNING" because I have no demon Spotify ... normal.
In your log you, no connection to the mpd visibly ...
Trails (perhaps issues "corny" ...:? :
- The volumio Web GUI is available
- The fate of its DAC
- The screen work with the first script of this tutorial

Merci.
(je raffole pas spécialement de la mère Edith, mais elle à des ... accents intéressants ... :D )

EDIT: Autre suggestion. Si vous avez changé de librairie mpd entre les différentes versions, avez-vous désinstaller python-mpd avant d'installer "python-mpd2" ? (# pip uninstall <module>).
Merci de ton aide, voici les réponses :

J'ai déjà installé la première version du script et ça fonctionnait bien / initial script was ok
Là j'ai tout réinstallé de zero et tout fonctionne sauf l'écran (je suis sur le dac v2) / It's a whole fresh install and everything is ok but the screen.
Pour le mpd, j'ai bien la version 2 uniquement / only mpd2 installed.
Par contre je n'ai pas Spotify et je n'ai pas le même log. /Strange thing I have no Spotify either and nothing shows in the log.
Effectivement apparemment pas de connection au mpd, je ne sais pas pourquoi / Apparently, no mpd connection, don't know why

Ok ,j'ai trouvé, j'avais commenté la partie Spotify dans RasDAC et j'ai oublié de retirer une référence en bas de fichier...
OK, my bad, forgot to remove from the RasDAC srcipt a reference to Spotify line 409...

It works perfectly!
THANKS!!!!

Avatar de l’utilisateur
Cram28
Messages : 62
Inscription : dim. 29 nov. 2015 13:41

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par Cram28 » lun. 28 mars 2016 19:08

Bonjour le forum,

J'ai pris le parti de laisser allumé en permanence le RaspDAC: Çà évite les manip pour arrêt propre, ce n'est pas ce que çà consomme, çà fait horloge (en ces temps de changement d'heure, ... :) ).

Et je découvre que l'affichage tombe dans les choux, au bout d'un temps certain donc ...

<ma photo est trop grosse et j'arrive pas à la joindre... comment qu'on fait sous linux ??. Enfin pas grave, y a juste des "zorglub"...>

Je pense a priori qu'il s'agit d'un problème d'affichage uniquement: volumio fonctionne et le son est bien toujours là.

Quelqu'un rencontre le problème, y a-t-il un diagnostique ?
Je vais creuser en remettant le script python initial de ce tuto pour voir si çà se produit aussi.

Merci dhrone pour tes dernières modifications (ici https://github.com/dhrone/Raspdac-Display" onclick="window.open(this.href);return false;) !
Question: le fichier log va grossir indéfiniment ou il y a un système de ... scrolling :wink: ?

Merci pour vos retour.


"Traduction"
============
Hello forum,

I resolved to leave the light RaspDAC constantly: I avoid manipulations to stop "clean" here does not consume ... and here is clock (time change in these times ... :) ).

And so I discovered that the display falls into cabbages, after a temp so sure ...
<Picture>

I think a priori that it is a display issue only: volumio works and the sound is still there.

Someone experiencing the problem, there he has a diagnostic?
I'll dig handing the initial python script to see if this tutorial here also occurs.

dhrone thank you for your recent changes (here https://github.com/dhrone/Raspdac-Display" onclick="window.open(this.href);return false;)!
Question: the log file will grow indefinitely or there is a system of scrolling ...:wink: ?

Thank you for your return.

dhrone
Messages : 39
Inscription : sam. 27 févr. 2016 20:51

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par dhrone » mar. 29 mars 2016 11:55

Cram28. I was unable to understand the issue you were describing at the beginning of your message. Was it something to do with time not being displayed properly?

The answer to your last question about the log file is yes. It will grow indefinitely but you should be able to use logrotate (or similar log management software) to control it. The log file currently gets written to at least every minute and records all of the names of the songs that are being displayed. You can shut this off though by changing the logging level to warning (or critical). This is set during the initialization of the logging routine at RaspDacDisplay.py line 273.

[La traduction automatique en français]

Cram28 . Je ne pouvais pas comprendre le problème que vous décrivez au début de votre message. Était-ce quelque chose à voir avec le temps ne sont pas affichées correctement ?

La réponse à votre dernière question sur le fichier journal est oui . Il va croître indéfiniment, mais vous devriez être en mesure d'utiliser logrotate ( ou un logiciel similaire de gestion des journaux ) pour le contrôler. Le fichier journal actuellement soit écrit au moins chaque minute et enregistre tous les noms des chansons qui sont affichées . Vous pouvez fermer cette off si en changeant le niveau d'enregistrement à avertir ( ou critique ) . Ceci est défini lors de l'initialisation de la routine de journalisation à la ligne RaspDacDisplay.py 273 .

Avatar de l’utilisateur
Cram28
Messages : 62
Inscription : dim. 29 nov. 2015 13:41

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par Cram28 » mar. 29 mars 2016 20:02

Bonsoir (ici),

Je me suis mal exprimé (et la traduction n'a pas su faire...): Le RaspDAC tourne en permanence. Au bout d'un (long) moment, l'affichage fait n'importe quoi, mais le DAC continue à fonctionner: l'interface Volumio fonctionne, le son est présent. Seul l'écran affiche des caractères sans rapport avec le titre ou l'artiste, ni avec ce qui est écrit dans le fichier de log; le scrolling semble se faire n'importe où et ne couvre pas la totalité de la ligne, les durées des morceaux sont figées, etc... Un kill et une relance du programme RaspDacDisplay.py est sans effet: je suis obligé d'éteindre et rallumer pour que tout redevienne en ordre de marche.... jusqu'à la prochaine fois...

J'ai remplacer RaspDacDisplay.py par le script initial de ce tutoriel, et pour l'instant l'écran s'affiche normalement, mais peut-être cela ne fait-il pas assez longtemps qu'il fonctionne ?.
Mon raisonnement: Si le script python initial provoque les mêmes symptômes, ce sera un problème d'écran OLED chez moi (il est tout neuf mais cela peut arriver je suppose). Sinon, le problème vient de RaspDacDisplay.py ???
Une piste qui mériterait alors d'être étudiée dans ce cas: un décalage dans les commandes de l'écran ou dans la gestion du scrolling: On dirait une sorte de "fuite mémoire" progressive dans le temp...
Je reviendrais donner les résultats de mes investigations.

D'accord pour le fichier de log: je vais étudier ce que tu proposes.

Merci beaucoup pour ton aide.

[Traduction]
Good evening (here)

I misspoke (and the translation failed to do ...): The RaspDAC running continuously. After a (long) time, the screen display anything but the DAC continues to operate: the Volumio interface works, the sound is present. Only the screen displays characters unrelated to the title or the artist, or with what is written in the log file; scrolling seems to be anywhere and does not cover the entire line, the durations of the pieces are frozen, etc ... A kill and relaunch the program RaspDacDisplay.py has no effect: I have to turn off and on again for everything to be in working order .... until next time ...

I RaspDacDisplay.py replace the original script of this tutorial, and for now the screen displays normally, but perhaps it does he not long enough that it works?
My reasoning: If the original python script causes the same symptoms, it will be an OLED screen issue with me (it's brand new but it can happen I guess). Otherwise, the problem is RaspDacDisplay.py ???
A track which then need to be studied in this case: a lag in the controls of the screen or in the management of scrolling: It looks like a kind of "memory leak" progressive in the temp ...
I would give the results of my investigations.

Okay for the log file: I will study what you propose.

Thank you very much for your help.

dhrone
Messages : 39
Inscription : sam. 27 févr. 2016 20:51

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par dhrone » mer. 30 mars 2016 00:47

Ok. So if I understand correctly, after the DAC has been running for a long time, the display stops updating. Does the display go blank? Does it become corrupted with random characters or symbols? Does it continue to change or does it freeze. It would be very helpful if you could capture a picture (or even better a video) of this occurring. It would also be helpful to know the system was doing when the display stops. Was it playing from USB, playing from a share, playing from Spotify or DLNA? Does it ever stop updating when in "Ready" state or only after playing music for a long time? Also, what is your configuration? (e.g. Pi2, Pi3)?

This sound similar to an issue I was having with my system but I thought that I had eliminated it. Can you verify that you are running the latest version of both RaspDacDisplay.py and Winstar_GraphicOLED.py?

[La traduction automatique en français]

D'accord. Donc, si je comprends bien, après la DAC a fonctionné pendant une longue période, l'affichage cesse mise à jour . Est-ce que l'écran est-il vide ? Est-il devenu corrompu avec des caractères ou des symboles aléatoires ? Est-ce qu'il continue de changer ou geler ne . Il serait très utile si vous pouviez capturer une image ( ou mieux encore une vidéo ) que cela se produise . Il serait également utile de connaître le système faisait quand l'affichage cesse . Était-il jouer de l'USB , la lecture d'une part , en jouant de Spotify ou DLNA ? Est-il jamais arrêter la mise à jour lorsqu'il est en état ​​"Prêt" ou seulement après avoir joué de la musique pendant une longue période ? Aussi, quelle est votre configuration ? (Par exemple, Pi2 , Pi3 ) ?

Ce bruit semblable à une question que je faisais avec mon système , mais je pensais que je l'avais éliminée . Pouvez-vous vérifier que vous utilisez la dernière version des deux RaspDacDisplay.py et Winstar_GraphicOLED.py ?

Avatar de l’utilisateur
Cram28
Messages : 62
Inscription : dim. 29 nov. 2015 13:41

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par Cram28 » jeu. 31 mars 2016 16:35

Bonjour,

J'utilise un RaspBerry PI 2 (ce matériel là: http://www.audiophonics.fr/fr/appareils ... 10369.html" onclick="window.open(this.href);return false;.) avec une image volumio v 1.55 installée et lecture de fichiers musicaux codés en FLAC sur un serveur NAS.
L'écran n'est pas vide en effet, parfois il est corrompu de caractères aléatoires, parfois il se fige.
J'ai mis en œuvre les dernières versions des deux scripts (celle avec affichage alternatif "ready / @IP").

J'essaierai ce week end de prendre photo ou vidéo, mais le forum semble limité en taille de fichier, ou bien je ne suis pas doué... mais je ne parviens pas à mettre en ligne un tel fichier...


[translate>
I use a Raspberry Pi 2 (this material here:http://www.audiophonics.fr/fr/appareils ... 10369.html.) with a picture volumio v 1.55 installed and listening to music in FLAC encoded on a NAS server.
The screen is not empty in fact, sometimes it is corrupted of random characters, sometimes it freezes.
I have implemented the latest versions of both scripts (with the alternate display "ready / @IP").

I will try this weekend to take pictures or video, but the forum seems limited in file size, or I'm not good ... but I can not upload a file as ...

Merci.

Avatar de l’utilisateur
Nicko
Administrateur - Site Admin
Messages : 450
Inscription : mer. 26 juil. 2006 12:21
Localisation : Bordeaux
Contact :

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par Nicko » ven. 01 avr. 2016 17:45

Il faudrait tester si le fait de killer et relancer le script permet de récupérer l'écran ? (sans couper l'alimentation)
Dans ce cas on pourrait prévoir un script qui fait ca toutes les heures le temps de trouver la source du problème.

Avatar de l’utilisateur
Cram28
Messages : 62
Inscription : dim. 29 nov. 2015 13:41

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par Cram28 » ven. 01 avr. 2016 18:37

Bonsoir,

"J'ai essayé... j'ai essayé et j'ai échoué ... ": Le kill ne semble pas remettre l'écran d'aplomb.
Dommage.

Merci.

dhrone
Messages : 39
Inscription : sam. 27 févr. 2016 20:51

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par dhrone » mar. 05 avr. 2016 00:26

How often does the failure occur? It sounds like this is something that is happening frequently with your system which may actual help us track down the issue. As I mentioned, this was an early problem with my system but with the current version of the software, I haven't experienced a corrupted display. Anything that you can do to help determine what triggers the problem would be very useful.

As far as resolving it, the only thing that I can think of is that during some update, a timing problem occurs where the display misses the first or last four bits of a message and gets out of sync with the two-stage update required to send a full byte to the display. You may want to play around with the delays within pulseEnable on lines 352 and 354. Try increasing these and see if the problem gets better. Unfortunately, significantly higher values will impact the ability of the display to rapidly update itself. You may also want to experiment with the use of the resyncDisplay routine to recover when the bug occurs though I have to admit that I haven't had much luck in regaining control of the display once it becomes corrupted.

[Traduction automatique]

Combien de fois l'échec se produit? Il semble que cela est quelque chose qui se passe fréquemment avec votre système qui peut même nous aider à traquer la question. Comme je l'ai mentionné, ce fut un problème au début avec mon système, mais avec la version actuelle du logiciel, je n'ai pas connu un affichage corrompu. Tout ce que vous pouvez faire pour aider à déterminer ce qui déclenche le problème serait très utile.

En ce qui concerne la résolution, la seule chose que je peux penser est que, pendant une certaine mise à jour, un problème de synchronisation se produit lorsque l'affichage manque les quatre premiers ou les derniers bits d'un message et sort de synchronisation avec la mise à jour en deux étapes nécessaires pour envoyer un octet complet à l'écran. Vous voudrez peut-être jouer avec les retards au sein de pulseEnable sur les lignes 352 et 354. Essayez d'augmenter ces derniers et voir si le problème va mieux. Malheureusement, de manière significative des valeurs plus élevées auront une incidence sur la capacité de l'écran pour se mettre à jour rapidement. Vous pouvez également expérimenter avec l'utilisation de la routine resyncDisplay pour récupérer quand le bogue se produit si je dois admettre que je ne l'ai pas eu beaucoup de chance à reprendre le contrôle de l'écran une fois qu'il est endommagé.

Avatar de l’utilisateur
Cram28
Messages : 62
Inscription : dim. 29 nov. 2015 13:41

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par Cram28 » sam. 09 avr. 2016 12:13

Bonjour,

Combien de fois l'échec se produit?
==> Tout de suite désormais, même après un arrêt prolongé. J'avais remis le premier script de ce post et je n'ai plus eu de problème d'affichage (aux accents près...;))
Qu'avez-vous changé pour que le souci disparaisse ? Version d'une librairie, ajout / suppression de quelque chose? Rien en dehors du mode opératoire que vous avez décrit ?

Vous voudrez peut-être jouer avec les retards au sein de pulseEnable sur les lignes 352 et 354. Essayez d'augmenter ces derniers et voir si le problème va mieux.
==> Jongler avec ces valeurs de temporisation en les augmentant semble beaucoup jouer en effet. Je suis en train de réaliser une batterie de tests et ajustements pour trouver le meilleurs compromis (ligne 352, 354 mais 357 aussi).

Je regarde par ailleurs la documentation afin de mettre au point une configuration pour la rotation du fichier de log: Je reviendrais avec une description quand elle sera opérationnelle...

(ps: désolé pour les délais: je n'ai pas assez de temps en ce moment ...:()
Merci beaucoup !!

[traduction]
How many times failure occurs?
==> Immediately now, even after an extended shutdown. I had given the first script of this post and I have not had any display problem (with accents close ...;))
What have you changed as concern disappears? Version of a library, add / remove anything? Nothing outside the procedure you described?

You may want to play with delays in pulseEnable on lines 352 and 354. Try increasing these and see if the problem gets better.
==> Juggling these timeout values ​​by increasing the play seems much indeed. I am currently conducting a battery of tests and adjustments to find the best compromise (line 352, 354 but also 357).

I look further documentation to develop a configuration to rotate the log file: I would with a description when it will be operational ...

(Ps: sorry for the times I did not have enough time right now ... :()
Thank you very much !!

gogoglff
Messages : 2
Inscription : sam. 09 avr. 2016 23:30

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par gogoglff » dim. 10 avr. 2016 00:35

Bonjour,

Je voulais savoir si quelqu'un avait fait fonctionner l'ecran OLED avec un rapberry 3 et un DAC sabre V3 sous volumio 2 RC.

Pour ma part j ai suivi le tu avec quelques aménagement.

login sous user : volumio mdp : volumio (login root non autorisé sous volumio 2) ça oblige juste utiliser sudo

j'ai téléchargé et installé python-rpi.gpio_0.5.11-1_armhf.deb sous home\volumio

mais quand j’exécute le script 16x2_oled_volumio.py
j'ai un message d'erreur de syntaxe

volumio@volumio:~$ sudo python /home/volumio/16x2_oled_volumio.py
File "/home/volumio/16x2_oled_volumio.py", line 21
import RPi.GPIO as GPIO import time import subprocess; import os; from
^
SyntaxError: invalid syntax


Comme si il manquait les ; de fin de ligne.
volumio 2 rc utilise Python 2.7.9 (default, Mar 8 2015, 00:52:26) [GCC 4.9.2] on linux2

une idée ?
T

Avatar de l’utilisateur
Cram28
Messages : 62
Inscription : dim. 29 nov. 2015 13:41

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par Cram28 » dim. 10 avr. 2016 03:05

Bonso...jour :roll:

J'ai une petite idée / suggestion (à cette heure-ci :o )...
La version 2.7.9 de python pourrait bien être plus stricte que celle fournie avec volumio"1" (2.7.6) et ne pas aimer la syntaxe: pas de ";" en fin de ligne en python:

Code : Tout sélectionner

...
#import
import RPi.GPIO as GPIO
import time
import subprocess;
import os;
from decimal import Decimal, ROUND_DOWN
...
Je suggère de les virer les ";" après "subprocess" et "os"... et retenter le coup (sans garantie).

J'vais m'coucher :D

gogoglff
Messages : 2
Inscription : sam. 09 avr. 2016 23:30

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par gogoglff » dim. 10 avr. 2016 10:17

Bien vue et merci Cram28
moi j'avais essayé d'en rajouter des points virgule. :lol:
j'arrive sur un confit de GPIO et comme j'ai d'autre bug sur voluimo 2 rc (entre autre dac non reconnu)
je vais tenter ma chance sous runeaudio

Avatar de l’utilisateur
Cram28
Messages : 62
Inscription : dim. 29 nov. 2015 13:41

Re: RaspDAC - Tutoriel pour affichage Volumio sur ecran LCD/

Message par Cram28 » dim. 10 avr. 2016 16:00

Bonjour...

... et bien de rien, avé plaisir.

Pour les manip à suivre avec RuneAudio, je viens de voir çà : viewtopic.php?f=4&t=1612

Pour ma part, Volumio 2, j'attends qu'il soit plus "mûr"...
Personne n'a fait de tentative avec Volumio 1 sur (RPI + DAC) V3 ? Ou bien c'est parfaitement incompatible ?
Merci, @+

Répondre