IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apple Discussion :

[DEV] Problème compilation BlueZ sous Mac OS


Sujet :

Apple

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 189
    Points : 60
    Points
    60
    Par défaut [DEV] Problème compilation BlueZ sous Mac OS
    Bonjour tout le monde,

    je me suis récemment procuré un petit robot LEGO NXT. Pour le moment, j'arrive à uploader et lancer un executable .rxe sur le NXT via NXTBrowser.

    Il est possible de contrôler ce NXT depuis une source bluetooth (mon iMac) en envoyant directement des trames qui sont automatiquement interprétées.

    J'aimerais donc savoir quels librairies C/C++ je dois utiliser sur Mac OS pour pouvoir envoyer ces trames BlueTooth.

    Bonne journée

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 189
    Points : 60
    Points
    60
    Par défaut
    BlueZ est une API Bluetooth pour Linux. Pensez vous que je puisse l'utiliser sous Mac OS étant donné que Mac OS a une base Unix ?

    http://www.bluez.org/

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 189
    Points : 60
    Points
    60
    Par défaut [DEV] Utiliser une API Linux sous MacOS ?
    Bonjour tout le monde,

    j'aimerais utiliser l'API bluetooth BlueZ qui est une librairie Linux sous MacOS

    j'ai essayé de l'installer sous MacOS : ./configure(OK), make(NOK)

    mais j'ai des erreurs dans le make.

    Savez vous si de manière générale on peut utiliser des API linux sous macOS ?

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    733
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 733
    Points : 1 119
    Points
    1 119
    Par défaut
    Citation Envoyé par innosang Voir le message
    Bonjour tout le monde,

    j'aimerais utiliser l'API bluetooth BlueZ qui est une librairie Linux sous MacOS

    j'ai essayé de l'installer sous MacOS : ./configure(OK), make(NOK)

    mais j'ai des erreurs dans le make.

    Savez vous si de manière générale on peut utiliser des API linux sous macOS ?
    Quels sont les erreurs du make? étais-tu ou en mode sudo?

  5. #5
    Membre expérimenté Avatar de Ceylo
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 216
    Points : 1 312
    Points
    1 312
    Par défaut
    Citation Envoyé par Tarul Voir le message
    Quels sont les erreurs du make? étais-tu ou en mode sudo?
    M'étonnerait beaucoup qu'il y ait besoin de sudo pour la compilation…

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 189
    Points : 60
    Points
    60
    Par défaut
    que je le fasse en SUDO ou pas celà ne change rien

    voici la sortie de mon make :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    make  all-recursive
    Making all in include
    Making all in src
    /bin/sh ../libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I../include    -Wall -O2 -D_FORTIFY_SOURCE=2 -MT bluetooth.lo -MD -MP -MF .deps/bluetooth.Tpo -c -o bluetooth.lo bluetooth.c
     gcc -DHAVE_CONFIG_H -I. -I.. -I../include -Wall -O2 -D_FORTIFY_SOURCE=2 -MT bluetooth.lo -MD -MP -MF .deps/bluetooth.Tpo -c bluetooth.c  -fno-common -DPIC -o .libs/bluetooth.o
    bluetooth.c:35:20: error: malloc.h: No such file or directory
    In file included from bluetooth.c:39:
    ../include/bluetooth/bluetooth.h:36:20: error: endian.h: No such file or directory
    ../include/bluetooth/bluetooth.h:37:22: error: byteswap.h: No such file or directory
    bluetooth.c: In function 'bt_error':
    bluetooth.c:213: error: 'EBADRQC' undeclared (first use in this function)
    bluetooth.c:213: error: (Each undeclared identifier is reported only once
    bluetooth.c:213: error: for each function it appears in.)
    make[2]: *** [bluetooth.lo] Error 1
    make[1]: *** [all-recursive] Error 1
    make: *** [all] Error 2

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 189
    Points : 60
    Points
    60
    Par défaut
    au fait Spootnik, tu as l'air de t'y connaitre en Objective C. En fait, je t'explique le tout : j'essaie de contôler mon robot NXT via Bluetooth depuis une application PC (iMac). Il y a un framework sous MacOS qui permet de manipuler le bluetooth de mon Imac.

    Mais au final il faudra que le code de cette appli soit porté sur une Debian étant donné qu'à l'école la plateforme sur laquelle on va executer le soft est une Debian, je penses donc qu'utiliser le framework de MacOS es inutile au final. Il vaudrait mieux utiliser une librairie bluetooth compatible avec Linux. Mais est ce possible ? Dois-je continuer a esperer pouvoir développer sous MacOS ou dois-je directement développer sur ma partition Linux ?

  8. #8
    Membre expérimenté Avatar de Ceylo
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 216
    Points : 1 312
    Points
    1 312
    Par défaut
    Citation Envoyé par innosang Voir le message
    au fait Spootnik, tu as l'air de t'y connaitre en Objective C.
    comment ai-je pu donner cette impression…

    Citation Envoyé par innosang Voir le message
    En fait, je t'explique le tout : j'essaie de contôler mon robot NXT via Bluetooth depuis une application PC (iMac). Il y a un framework sous MacOS qui permet de manipuler le bluetooth de mon Imac.

    Mais au final il faudra que le code de cette appli soit porté sur une Debian étant donné qu'à l'école la plateforme sur laquelle on va executer le soft est une Debian, je penses donc qu'utiliser le framework de MacOS es inutile au final. Il vaudrait mieux utiliser une librairie bluetooth compatible avec Linux. Mais est ce possible ? Dois-je continuer a esperer pouvoir développer sous MacOS ou dois-je directement développer sur ma partition Linux ?
    Si une solution portable existe je sais que je la privilègerais. Bluetooth n'est pas propre à Mac OS donc ya pas de raison qu'il n'y en ait pas.

    Pour ton erreur à la compilation suis en train de regarder…

    Edit: j'ai comme l'impression qu'il manque pas mal de trucs… fin faut dire qu'Apple a l'art de bidouiller le bazar de bibliothèques et fichiers d'en-têtes (me suis retrouvué une fois avec une fonction inexistante alors qu'elle appartenait normalement à un fichier d'en-tête standard, qui lui était bien présent, mais sans la fonction…).

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 189
    Points : 60
    Points
    60
    Par défaut
    J'ai trouvé une librairie portable en Python : BlueLight

    Mais pour en revenir à ma question, dans la logique des choses et étant donné que MacOS possède une base Unix, je suis censé pouvoir utiliser une bibliothèque Linux sous MacOS ?

    Merci de t'être penché sur mon problème en tout cas, c'est gentil.

  10. #10
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    733
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 733
    Points : 1 119
    Points
    1 119
    Par défaut
    Citation Envoyé par innosang Voir le message
    J'ai trouvé une librairie portable en Python : BlueLight

    Mais pour en revenir à ma question, dans la logique des choses et étant donné que MacOS possède une base Unix, je suis censé pouvoir utiliser une bibliothèque Linux sous MacOS ?

    Merci de t'être penché sur mon problème en tout cas, c'est gentil.
    Mac os est basé sur un freeBSD( et gagnera ses lettre de noblesse en tant qu'unix reconnut avec léopard). J'ignore ce que fait cette librairie, mais si elle pilote le bluetooh, mais le modèle de driver entre linux et mac os n'est pas du tout le même. peut être que ton problème vient de là. D'ailleurs en regardant le site de la lib, dans la faq, on voit qu'il y a une adhérence entre cette lib et le noyau linux.

    Je suis tombé sur une autre libraire python supportant mac os. LightBlue.
    http://lightblue.sourceforge.net/

    Peut être que cet article va t'intéresser : http://developer.apple.com/documenta...0997-CH216-TP9

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    308
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 308
    Points : 373
    Points
    373
    Par défaut
    Citation Envoyé par Tarul Voir le message
    Mac os est basé sur un freeBSD( et gagnera ses lettre de noblesse en tant qu'unix reconnut avec léopard).
    Pourquoi t'écris ça au futur ? C'est déjà un Unix reconnu depuis sa première version ! Ce qui est ajouté avec Leopard c'est la prise en charge du 64 bits depuis le coeur jusqu'aux couches externes du système, alors qu'avant le 64 bits était cantonné à Darwin.

  12. #12
    Expert éminent

    Avatar de Marcos Ickx
    Homme Profil pro
    Blogueur
    Inscrit en
    Mai 2007
    Messages
    1 557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Blogueur

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 557
    Points : 6 733
    Points
    6 733
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par PsychoH13 Voir le message
    Pourquoi t'écris ça au futur ? C'est déjà un Unix reconnu depuis sa première version ! Ce qui est ajouté avec Leopard c'est la prise en charge du 64 bits depuis le coeur jusqu'aux couches externes du système, alors qu'avant le 64 bits était cantonné à Darwin.
    Parce que Leopard est maintenant certifié Unix03. (voir http://www.apple.com/fr/macosx/leopa...logy/unix.html ainsi que http://www.opengroup.org/openbrand/r.../brand3555.htm
    et http://www.opengroup.org/openbrand/c...ates/1190p.pdf ) Ce qui n'était pas le cas des versions antérieures de Mac OS X.

    (notez que le certificat n'est valable que pour Leopard sur Intel. La version PPC n'est donc pas certifiée Unix03)

    Cette certification est assez importante car elle donne à Apple plus de crédit encore vis à vis des entreprises. En effet, Leopard rejoint de cette façon le club très restreint des OS certifié Unix 03.

    http://www.opengroup.org/csq/public/...rt=bycomponent

    La rédaction Mac
    Marcos Ickx

    Liens intéressants :
    Mon blog,
    Mon compte Twitter

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par innosang Voir le message
    J'aimerais donc savoir quels librairies C/C++ je dois utiliser sur Mac OS pour pouvoir envoyer ces trames BlueTooth.
    Bonne journée
    C'est un bout du framework Cocoa qui permet ça : IOBluetooth et IOBluetoothUI. Le device selector va te permettre de facilement demander à l'utilisateur à quel périphérique il veut se connecter. Ensuite tu pourras envoyer des octets sur le canal bluetooth au nxt. Une méthode appelée à chaque retour de données te permettra de trier et d'agir en fonction de quels octets sont renvoyés.

    Pour savoir quoi envoyer et ce que te renverra le nxt, tu dois utiliser en partiulier 2 pdf du bluetooth dev kit de lego : celui sur le protocole de communication, et celui sur les direct commands.
    Attention toutefois, certains trucs ont pas l'air de fonctionner nickel (entre autre la force du signal bluetooth, je suis sûr à 99% qu'elle est pas renvoyée par le nxt).

    Fais gaffe à pas envoyer plusieurs requetes au nxt en meme temps. Tu devras (enfin devras, non, mais c'est mieux, promis ) utiliser le pattern command et un manager de file d'attente pour tes requetes.


    Ceci étant, si tu es un peu patient, étant donné que je trouvais pas d'outil pour faire ce que je voulais avec le nxt sous macintel, j'ai fini par faire ça moi-même. Je peux pas donner de délai parce que certaines choses comme la coloration syntaxique et l'autocomplétion vont peut etre me prendre du temps, mais en tout cas je prépare un mini-IDE pour le NXT, qui permettra de coder en NBC ou NXC et de compiler avec nbc d'une part, et d'autre part de bénéficier d'un tableau de bord complet pour récupérer les valeurs des sensors et contrôler les moteurs, envoyer des fichiers etc...
    Toute la partie bluetooth justement fonctionne déjà, c'est plutôt l'éditeur de code nbc / nxc qui va me prendre du temps.

    Quelques screenshots, c'est vraiment du boulot en cours alors pas taper, évidemment il manque des tas de choses :
    Capture 1 - Capture 2 - Capture 3

Discussions similaires

  1. Problème compilation gtkmm sous mac
    Par Zephou dans le forum GTK+ avec C & C++
    Réponses: 3
    Dernier message: 25/02/2013, 23h17
  2. [DEV] developper un deamon sous mac
    Par Jérémy Lefevre dans le forum Développement OS X
    Réponses: 11
    Dernier message: 05/12/2007, 17h08
  3. [DEV] Comment installer RealBasic sous mac
    Par Cazaux-Moutou-Philippe dans le forum Développement OS X
    Réponses: 1
    Dernier message: 25/11/2007, 00h03
  4. problème installation Ogre sous mac
    Par shams dans le forum Ogre
    Réponses: 2
    Dernier message: 07/11/2007, 11h14
  5. [SERVER] Problème de cron sous mac os x server (10.3.9)
    Par el_bassir dans le forum Développement OS X
    Réponses: 9
    Dernier message: 28/06/2007, 12h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo