This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Contrôle par micro-contrôleur

Tags: None
(comma "," separated)
User avatar
Bktero
Registered Member
Posts
7
Karma
0
OS

Contrôle par micro-contrôleur

Fri Apr 23, 2010 1:49 pm
Bonjour !

C'est ma première visite ici, je vais donc me présenter ;)

Je suis élève-ingénieur à l'INSA de Rennes, spécialité électronique et informatique indus. Actuellement, je suis en stage de fin d'études et je dois réaliser un lecteur embarqué, type lecteur de salon. Mon but est de lire un maximum de formats audio stockés sur différents supports. L'application possèderait un micro-contrôleur maître qui reçoit les commandes de lectures, les dispatchent aux éléments du systèmes, reçoit des informations de ces éléments et fait de l'affichage sur un petit écran (TFT/LCD a priori).

Pour toutes les parties de lecture de fichiers audio (notamment sur USB, mais aussi cartes mémoires telles que SD Cards), je m'intéresse à la possibilité d'utiliser une carte PC avec un système Linux embarqué. C'est encore une étude de possibilité, donc je ne sais pas du tout quelle plaque et quel Linux. Sur cette plaque, on installerait un lecteur audio pour faire le travail. Ayant utilisé un peu Amarok quand j'avais fait des passages par Linux sur mon PC personnel, je me tourne vers lui car je le sais très bon ! ;D


La problématique est donc la suivante : est-il possible de faire l'interface entre un micro-contrôleur et Amarok ?



La liaison pourrait être faite par USB ou RS232/UART.

En parcourant un peu l'aide d'Amarok, j'ai découvert le DCOP et les scripts. Je me dis donc qu'il doit être possible de faire un programme intermédiaire entre mon port de communication (l'un des deux) qui récupère les messages de commande, la traduit en DCOP et la transmet à Amarok.

Quelques interrogations quand même, notamment sur comment afficher une interface utilisateur sur l'écran du lecteur de salon :
- comment faire une sélection de fichiers dans l'arborescence ? Faire une commande LS pour avoir la liste des dossiers/programme, et la transférer au micro pour afficher, des commandes CD pour se déplacer ?
- une fois que j'ai l'adresse du fichier, je l'ajoute avec une commande DCOP ?
- est-il possible avec DCOP d'obtenir une liste sous forme texte ou XML de la liste de lecture courante pour que l'utilisateur puisse la parcourir ?

De manière plus générale, cela apparait-il comme faisable sur le principe ou est ce que je n'ai rien compris ?


Merci à vous pour les éléments de réponses que vous pourrez apporter ! :smilie:
User avatar
Mamarok
Manager
Posts
6071
Karma
16
OS

Re: Contrôle par micro-contrôleur

Fri Apr 23, 2010 2:17 pm
Tout d'abord, DCOP n'est peut-être pas la bonne solution, car Amarok 2.x utilise D-BUS et les specifications MPRIS (http://wiki.xmms2.xmms.se/wiki/MPRIS) à la place.
Tu pourras trouver plus d'informations dans notre guide pour les scripts (en anglais uniquement): http://amarok.kde.org/wiki/Development/ ... _HowTo_2.0

En ce qui concerne des questions plus spécifiques concernant les détails liés aux scripts et les méthodes, tu devrais poser la question dans le forum anglophone dans la section "Development", tu auras plus de change de réponse là-bas.


Running Kubuntu 22.10 with Plasma 5.26.3, Frameworks 5.100.0, Qt 5.15.6, kernel 5.19.0-23 on Ryzen 5 4600H, AMD Renoir, X11
FWIW: it's always useful to state the exact Plasma version (+ distribution) when asking questions, makes it easier to help ...
User avatar
Bktero
Registered Member
Posts
7
Karma
0
OS

Re: Contrôle par micro-contrôleur

Fri Apr 23, 2010 4:19 pm
Oh ! Je me suis fait avoir ! :((


Mince, ça avait l'air très adapté à ce que je voulais faire ce DCOP... Au sinon, je devrais utiliser Amarok 1.x je présume ?

Je vais aller lire les liens donnés. A première vue, ça a l'air très ressemblant non ? Ce sont des fonctionnalités équivalentes ?


Penses-tu qu'une telle application est réalisable ?
User avatar
Mamarok
Manager
Posts
6071
Karma
16
OS

Re: Contrôle par micro-contrôleur

Fri Apr 23, 2010 6:04 pm
Le scripting utilise les QtBindings et JavaScript, avec tous les détails dans les liens dans cette page wiki.

Je ne suis pas développeur moi-même, mais je pense que ça doit être faisable. D-BUS comporte plus ou moins les mêmes fonctionnalités que DCOP. En tout cas je te déconseille d'utiliser Amarok 1.x, car le code n'est plus maintenu depuis plusieurs années déjà. Et je doute que les développeurs soyent intéressés à du travail fait dans cette serie.


Running Kubuntu 22.10 with Plasma 5.26.3, Frameworks 5.100.0, Qt 5.15.6, kernel 5.19.0-23 on Ryzen 5 4600H, AMD Renoir, X11
FWIW: it's always useful to state the exact Plasma version (+ distribution) when asking questions, makes it easier to help ...
User avatar
Bktero
Registered Member
Posts
7
Karma
0
OS

Re: Contrôle par micro-contrôleur

Mon Apr 26, 2010 11:13 am
Bonjour

Je viens de lire la page donnée sur MPRIS. Plus tôt dans la matinée, j'ai bien exploré le site de DBUS. On retrouve effectivement les mêmes fonctionnalités, et on doit donc pouvoir faire les même choses.

tous les détails dans les liens dans cette page wiki.

Tu parles bien là de la page du wiki de XMM2 sur MRPIS ?

Je vais maintenant regarder la page sur le scripting ^^
User avatar
Bktero
Registered Member
Posts
7
Karma
0
OS

Re: Contrôle par micro-contrôleur

Mon Apr 26, 2010 1:12 pm
Saurais-tu si les scripts peuvent être fait en C++ (d'après ce que j'ai lu, Qt c'est fait pour C+9+ à la base)? Ou alors est-ce une limitation de Amarok qui ne cherche que les "programmes" en JavaScript pour les ajouter à sa liste de scripts ?


Question subsidiaire :
http://userbase.kde.org/Amarok#Plays_music_.E2.98.BA wrote:Amarok 2 can support most popular formats for music files. The actual list of formats is dependent on the codecs and audio backend in use on your system. There's also support for traditional play lists — you can create, save and load all the play lists you want.

Existe t-il une liste de formats toujours supportés, quelque soit le système ? Les formats additionnels sont à rajouter directement à Amarok ?

Merci encore !
User avatar
Mamarok
Manager
Posts
6071
Karma
16
OS

Re: Contrôle par micro-contrôleur

Mon Apr 26, 2010 7:05 pm
Tous les scripts sont en Javascript uniquement, et utilisent les Qt Bindings pour cette langue. La principale raison est d'augmenter les chances que même quelqu'un pas trop avancé en matière de programmation puisse écrire des scripts.

Si tu préfères coder en C++, ce serait plutôt en Qt, car Amarok utilise ce framework. Qt est une extension de C++ qui forunit déjà beaucoup de méthodes pour éviter de devoir tout ré-écrire à la main, en particulier pour l'environnement graphique. Donc pas de C++ générique, mais uniquement du Qt, et pour le moment nous dépendons officiellement encore de la version Qt 4.5, car beaucoup de gens n'ont pas encore de Qt 4.6 dans leur système.

Ensuite, les format de musique lisibles et jouables par Amarok dépend de deux choses:

1. de Taglib et taglib-extras qui fournit la librairie pour les les formats
2. des codecs pour les backend de phonon, que ce soit xine ou gstreamer, ou encore du nouveau backend VLC qui est entrain d'être développé.

On n'ajoute aucun format dans Amarok même, mais vérifie que le format soit disponible dans les librairies taglib ou taglib-extras, sinon on leur demande à eux de l'ajouter. Attention aux multiples formats archi-propriétaires et mal documentés: aucune chance que ceux-ci ne soyent jamais supportés. Ditto pour des codecs propriétaires trop obscures et mal documentés d'ailleurs.

Sérieusement je doute qu'îl y ait quii que ce soit à rajouter comme format qui ne soit pas déjà supporté :)

D'ailleurs je te conseille de te munir d'un version d'Amarok depuis git et travailler avec celle-ci uniquement. J'ai écrit un tutoriel comment installer en local pour éviter de géner ton système: http://blogs.fsfe.org/myriam/2009/09/co ... l-summary/
De même tu y trouves un tutoriel pour tester le nouveau backend VLC: http://blogs.fsfe.org/myriam/2010/04/wa ... re-you-go/
Dans les deux cas, n'ublies pas de faire des checkout quotidiens, car en utilisant git le développement est ultra-rapide :)

Toute modification dans le code d'Amarok se discute sur amarok-deve@|kde.org et sur #amarok dans irc-freenode.net, les patches ou autres contributions doivent se faire par un "merge request".

En ce qui concerne les scripts, tu devrais les mettre à disposition sur http://kde-apps.org si tu aimerais avoir d'autres gens qui l'utilsient avec Amarok, nous n'acceptons aucune autre source, au contraire, c'est même déconseillé, car nous avons un système de contrôle de version de script pour éviter de trop grands probèmes.

Voilà, j'espère que toutes ces informations te soyent utiles :)


Running Kubuntu 22.10 with Plasma 5.26.3, Frameworks 5.100.0, Qt 5.15.6, kernel 5.19.0-23 on Ryzen 5 4600H, AMD Renoir, X11
FWIW: it's always useful to state the exact Plasma version (+ distribution) when asking questions, makes it easier to help ...
User avatar
Bktero
Registered Member
Posts
7
Karma
0
OS

Re: Contrôle par micro-contrôleur

Mon May 03, 2010 4:48 pm
Hop !

Je reviens dire ce qu'il en est de mon projet. Dans le cadre de mon stage, une solution PC embarquée n'a pas été retenue. Trop compliquée, trop d'inconnues,... Il faut dire que les connaissances de ma petite entreprise sur le sujet sont quasi-nulles : le cœur de métier est les modules CD audio ! Ce qui n'a vraiment rien à voir. Mon maître de stage a donc pris la décision aujourd'hui de partir sur des modules "électroniques", bien plus bas niveau. Le terrain est beaucoup plus connu et le temps de développement est beaucoup plus court, et vu qu'il me reste que 3 mois et demi de stage, ce n'est pas plus mal.

Je ne ferais donc pas de lecteur de salon avec Amarok ^^

Merci à toi Mamarok pour tous les conseils et liens que tu as donnés ;)


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], kesang