Partage
  • Partager sur Facebook
  • Partager sur Twitter

Relais Bluetooth Audio

    7 janvier 2014 à 18:59:32

    Bonjour à tous,

    J'ai un projet à réaliser qui consiste dans les grandes lignes à faire un relais bluetooth pour un flux audio envoyé depuis un téléphone vers une enceinte en passant par un Arduino.

    Ce projet utilisera 2 modules Bluetooth un en tant que récepteur qui transmettra les données reçu en bluetooth depuis le téléphone à l'arduino en connexion filaire et l'autre qui servira d'émetteur en recevant les données traitées par l'arduino en connexion filaire pour les transmettre par Bluetooth à l'enceinte.

    Pour cela j'aurais besoin d'utiliser la norme A2DP du Bluetooth et je viens donc chercher vos conseils sur les modules à utiliser. Sachant que je possède un budget serré de 35€ pour les deux modules.

    Grâce à ce post j'ai trouvé ce module qui correspond à mon budget mais j'ai peur du manque de documentation. Deplus après avoir regarder la seule documentation donnée en commentaire je m'interroge sur le moyen de ne pas jouer le signal sur les sorties SPK mais le transmettre par le port TX du module (cas du récepteur) ou recevoir le signal par le port RX du module et le transmettre en Bluetooth (cas émetteur).

    J'espère avoir été clair dans mes explications,
    Merci d'avance pour vos réponses  :)

    -
    Edité par Nathounet91 7 janvier 2014 à 19:23:08

    • Partager sur Facebook
    • Partager sur Twitter
      8 janvier 2014 à 0:16:32

      Salut, tu comptes mettre l'arduino au milieu ? Il n'a même pas la capacité de faire le routage des paquets (je ne parle même pas de ré-échantillonner)

      De plus, le module en lien permet de faire de l'A2DP sink, mais pas source, tu ne pourras donc pas émettre de la musique avec.

      • Partager sur Facebook
      • Partager sur Twitter
      64kB de mémoire, c'est tout ce dont j'ai besoin
        8 janvier 2014 à 17:09:33

        Oui dans l'idée que j'avais l'arduino se place au milieu : [module récepteur] -> [arduino] -> [module émetteur]
        En quoi l'Arduino n'as pas la capacité de faire cela ? Je comptait utilisé un arduino mega, un peu plus puissant que le uno. Sinon quel micro-contrôleur je pourrai utiliser ?

        Donc le module en lien pourrai servir de module récepteur ? Quel module permet de faire de l'A2DP source ?
        • Partager sur Facebook
        • Partager sur Twitter
          8 janvier 2014 à 20:21:11

          Je dis ça au jugé. on va prendre un échantillon de son, pour avoir une bonne qualité audio, il va falloir au moins 24 bits, généralement, les comms se font sur 32 bits (avec les bits de poids faible à 0). On a deux voies, on a donc 4 octets. On a 44100 échantillons par seconde. ça fait du 180 ko/s. D'après le constructeur, on tient du 20 MIPS avec un ATMega, ça nous laisse une centaines d'instructions par octet à transférer. 2 cycles pour charger l'adresse, 1 pour charger l'octet, 2 cycles pour l'autre adresse, 1 cycle pour écrire, 1 cycle pour boucler. Bon en fait on n'utilise même pas 1% du proc pour copier les échantillons. Ca va.

          Maintenant, réfléchissions : de où à où va-t-on copier les échantillons ? regardons du côté des I/O : pas d'I2S. aucun bus rapide, rien pour récupérer les échantillons numériques. Passons par l'analogique. Ah ben non, l'ADC de l'ATMega échantillonne maximum à 16kHz (et avec peu de bits). Ca va faire du son pourri (et, en plus, on ne sait pas le restituer).

          Et j'ai regardé, l'arduino mega a un processeur moins performant que l'arduino uno (par contre, il a plus de mémoire, mais ici, ça ne me sert à rien.

          • Partager sur Facebook
          • Partager sur Twitter
          64kB de mémoire, c'est tout ce dont j'ai besoin
            13 janvier 2014 à 12:23:52

            Bonjour,

            Je suis dans le même cas que Nathounet91, je travail sur un projet où j'ai besoin de communiquer un son via bluetooth.

            Dans mon cas, je voudrais transmettre la voix de mon téléphone vers une enceinte, dans un premier temps. Dans un deuxième temps, je voudrais arriver à faire un genre de kit main libre bluetooth.

            Je voudrais intégrer ce projet, dans un projet en cours (un robot arduino). Je partais donc sur un module bluetooth pour arduino, maintenant il existe peut-être une autre solution (indépendante) que je pourrais implanter dans mon projet.

            En attendant vos réponses, je continue mes recherches et espère pouvoir apporter des compléments au fil de la discussion.

            Merci.

            • Partager sur Facebook
            • Partager sur Twitter
            Don't wait for opportunity. Create it !
              21 janvier 2014 à 17:42:13

              Salut,

              Finalement je vais essayer de trouver le budget pour acheter 2 module RN52 qui gère le A2DP sink et source.

              J'ai trouvé un sujet sur un forum d'électronique ou une personne à créé un code pour traiter et restituer de la musique avec un arduino mega ici.

              Avec ce code et des modules bluetooth de meilleurs qualité et mieux documenté mon projet pourrait il aboutir ? 

              • Partager sur Facebook
              • Partager sur Twitter
                21 janvier 2014 à 18:12:52

                Sur la doc dispo sur farnell du RN52, je ne vois rien qui indique qu'il fasse A2DP source. Sur la doc de l'ATmega2560 qui équipe l'arduino Mega, je vois que l'ADC est donné pour maximum 15kS/s, donc le code pour sampler plus vite, je n'y crois pas, il va obtenir des résultats erronés. Mais ce dernier point est moins important : il n'y a en fait aucune raison pour faire passer le son par l'arduino, l'arduino n'est utile que comme controller, le module bluetooth fait très bien renderer.

                • Partager sur Facebook
                • Partager sur Twitter
                64kB de mémoire, c'est tout ce dont j'ai besoin
                  22 janvier 2014 à 12:05:43

                  Bonjour,
                  Sur cette doc il est précisé que le RN52 fait à la fois source et sink. Ce qui me laisse perplexe c'est qu'il est présenté plusieurs références dont une seule est précisé comme supportant le A2DP, le RN52APL-I/RM. Alors que je ne trouve que le RN52-I/RM en vente.

                  Sinon le module KC-6112 gère l'A2DP source et sink.

                  Est ce qu'il serrait possible de récupérer un signal numérique sur l'arduino afin d'éviter l'utilisation de l'ADC de l'arduino ? Récupérer les informations par liaison USB ou série ?

                  Sinon est ce qu'il serait possible de se passer de l'arduino ?

                  • Partager sur Facebook
                  • Partager sur Twitter
                    22 janvier 2014 à 14:35:06

                    La doc signifie que le RN52APL-I/RM supporte l'A2DP + iAP (le protocol de contrôle des devices Apple). Ca veut dire que c'est une version avec la puce de chiffrement-royalties de Apple. Il est surement possible de se passer totalement de l'arduino (ça dépend un peu de tes besoins. Si tu veux juste qu'au démarrage, tes modules se connectent l'un à l'autre et streament la musique, tu peux le coder dedans, à priori, tu n'auras pas besoin d'ajouter un arduino à ton montage).

                    • Partager sur Facebook
                    • Partager sur Twitter
                    64kB de mémoire, c'est tout ce dont j'ai besoin
                      22 janvier 2014 à 20:59:30

                      Très bien, merci beaucoup pour ces renseignements.

                      L'utilisation d'un arduino me serra peut être nécessaire dans la suite de mon projet, je vais donc prévoir un CAN externe à l'arduino. De ce que j'ai compris, pour avoir un signal audio de bonne qualité, il me faut un CAN pouvant échantillonner au minium 44kHz avec une résolution de 16bits, est ce bien cela ? J'ai regarder un peu sur le site de farnell mais les autres caractéristiques et spécifications me sont totalement obscures. Pourrais tu m'aider dans mon choix ?

                      Pour ce qui est du module je pense plutôt prendre le KC6112 que je trouve mieux documenté. 

                      • Partager sur Facebook
                      • Partager sur Twitter
                        23 janvier 2014 à 1:55:48

                        Si tu veux rester sur de l'arduino, tu as l'arduino Due, qui a un processeur avec ADC 1MHz, et même mieux, une interface I2S.

                        Après, le top, si tu es prêt à changer un peu d'environnement, c'est quand même les solutions single chip comme en propose TI : dans le même package, tu mets ton processeur et ton chip bluetooth, et TI fournit sa stack ce qui permet de tout gérer comme tu le souhaite. Bon, après, de ce que je sais, les codes de TI sont souvent crades, quand à leur gamme de system in package, je ne la connais pas, dans ma boite, on fait nos propres SIP (ARM926 400MHz, 32MB de DDR, 128MB de Flash, et un chip bluetooth dans un package de 3cm²).

                        • Partager sur Facebook
                        • Partager sur Twitter
                        64kB de mémoire, c'est tout ce dont j'ai besoin

                        Relais Bluetooth Audio

                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                        • Editeur
                        • Markdown