Connecter un iPhone à Arduino sur Bluetooth

j'aimerais pouvoir laisser mon application iPhone communiquer avec mon Arduino sur Bluetooth. J'ai trouvé des boucliers Bluetooth qui supportent les protocoles suivants: BCSP, DUN, LAN, gap SDP, RFCOMM, et L2CAP. D'après ce que j'ai trouvé en googlant un peu, est-ce que l'iPhone cache sa pile bluetooth?!? Est-ce correct? Il n'y a vraiment aucune chance de laisser mon iPhone communiquer avec un autre périphérique bluetooth sans jailbreak (qui, autant que je sais que si je ne l'utiliserais btstack: http://code.google.com/p/btstack/)?

si bluetooth n'est vraiment pas possible, quels autres moyens (WLAN) suggérez-vous pour réaliser une communication? Ce que j'aimerais comprendre, c'est quelque chose comme ici: http://theiopage.blogspot.com/2011/08/yanis-android-wireless-eos-controller.html

Merci pour les conseils!

18
demandé sur Haroldo Gondim 2011-10-14 20:56:58

6 réponses

il existe plusieurs technologies de connexion disponibles.

comme d'autres l'ont mentionné, le Bluetooth standard (3.0) est contrôlé par le programme MFi. La seule façon de se connecter à un iPhone non jailbroke est de rejoindre le programme MFi.

L'accès série est intéressant. Vous devez joindre Imf distribution un périphérique série, mais vous pouvez utiliser le Redpark Câble Série pour connecter votre iPhone à une série appareil.

il y a plusieurs façons de connecter les appareils Bluetooth LE à L'Arduino. Celui que j'ai utilisé est le RedBearLabs Blee Shield. Il fonctionne sacrément bien.

iPhone to RedBearLab BLE Shield to Arduino, powering a hacked truck using techBASIC

vous pouvez également vous connecter à un Arduino en utilisant un pont Série WiFi. J'ai eu du succès avec le WiFly périphérique.

iPhone to WiFly to Arduino

une des choses bien à propos du Bleed Shield et de WiFly est que vous n'avez pas à utiliser Objectif C ou Macintosh ... bien que ce soit une option, bien sûr. Vous pouvez accéder à la fois par le biais de techBASIC, directement sur l'iPad ou l'iPhone.

vous pouvez probablement les découvrir vous-même avec un peu de recherche et d'effort, mais ces technologies de connexion (plus quelques autres qui ne s'appliquent pas directement à Arduino) sont également couverts dans construire des appareils électroniques pour iPhone et iPad, un nouveau livre de O'Reilly.

New Book from O'Reilly

16
répondu Mike 2013-08-30 16:12:28

L'Information sur la connexion à des appareils Bluetooth 3.0 ou inférieur à partir des appareils iOS OS stock n'est disponible qu'après avoir été accepté dans programme MFI D'Apple.

Bluetooth 4.0 (BLE) est accessible à la fois en développement et commercialement aux développeurs iOS (sans avoir besoin d'accéder au programme MFi), en utilisant le cadre Bluetooth public Core disponible en ios 5 ou plus tard sur iPhone 4S, iPad 3 et les périphériques plus récents transportant BT4.0 à bord.

ajouté quelques années tard: Il y a maintenant plusieurs ble shields et Arduino compatibles ou Arduino-comme des produits avec BLE intégré (Bean LightBlue, RFduino, etc.) disponibles sur le marché.

10
répondu hotpaw2 2016-05-08 06:03:56

en fait, vous pouvez le faire maintenant sans Jailbreaking ou MFI inscription.

jetez un oeil à Bluetooth 4.0 dans les nouveaux appareils iOS et Arduino BT 4.0 shield.

cela pourrait aider: http://blog.makezine.com/2012/03/19/bluetooth-4-0-from-arduino-to-iphone-no-jailbreaking-no-mfi/

8
répondu ygbr 2012-05-07 10:51:55

donc je ne sais pas comment implémenter, mais je pense que votre Arduino devrait simuler un casque Bluetooth et laisser L'application analyser les données. Comme les iPhones ne prennent en charge que les casques Bluetooth, ce serait l'une des seules méthodes. Et il serait très dur.

je vous recommande de faire des choses comme ça plus de Wifi avec un Wifi-Bouclier. Que vous pourriez utiliser des pommes genial bonjour système, pour détecter automatiquement votre matériel.

j'Espère que vous donne une idée, comment résoudre le problème,

Leo

2
répondu evotopid 2011-10-14 21:35:07

améliorer cette réponse et couvrir tous les détails nécessite probablement un article ou similaire. Je vais essayer de garder les choses courtes et de se concentrer sur le côté iOS, puisque Arduino n'a essentiellement pas de limitations sur les périphériques Bluetooth qui sont largement disponibles via les boucliers Arduino blable, tel est RedBearLab BLE Shild

Bluetooth v2.0 + EDR, v2.1 + EDR, v3.0 + HS....

spécification de la pile Bluetooth avant v4.0 ne contient pas de partie basse énergie. Bien qu'il est protocole facile à utiliser, surtout si simplifié autour de SPP (Serial Port Profile) il n'est pas disponible sur les appareils Apple iOS sans MFi programme. Il y a peu de modules Bluetooth sur le marché comme Pan1321 de Panasonic qui inclut le coprocesseur D'authentification Apple et qui pourrait être utilisé avec iOS. Triste partie de l'histoire est que si vous le consulter sur cette page officielle iOS: Profils Bluetooth supportés le SPP n'est pas là, vous pouvez donc choisir entre les profils listés (ce que vous ferez probablement si vous fabriquez un appareil audio ou HID).

Bluetooth Low Energy (BLE)

Migration from Bluetooth v3.0 spécification à v4.0 introduit. Nouvelle partie de la spécification a très peu en commun avec la précédente. En gros, on pourrait y voir Bluetooth v3.0 + BLE = v4.0 ou Bluetooth Smart. Partie intégrante de v4.0 spécification est ce qui nous intéresse.

CoreBluetooth

en plus de tous les avantages de Tel sont faibles consommation d'énergie, petite taille, faible coût, le plus important a été l'adoption par les fabricants mobiles, y compris Apple (Pas de MFi nécessaire). BLE est entièrement pris en charge par CoreBluetooth et la mise en oeuvre du côté de iOS est simple. Une chose que vous devez garder à l'esprit est que BLE est faible énergie, mais aussi faible vitesse. Bien que standard spécifie un intervalle minimal de connexion de 7,5 ms Apple documentation dit que la recommandation est de 30ms: - D ce que j'ai expérimenté en utilisant le tas de différents puces et appareils iOS est que vous serez capable de transmettre 20 octets tous les 20-30ms. Si reconnaissance est nécessaire, que le faire doubler, comme 40-60ms.

Profils Personnalisés

la liste de standard BLE profiles est disponible par Bluetooth Special Interest Group (SIG). Jetez un oeil sur le GATT de Base. Malheureusement, si vous ne faites pas un moniteur de fréquence cardiaque ou un appareil de la liste, vous utiliserez probablement le service de batterie ou similaire à partir d'une liste de profils. Heureusement, il n'est pas compliqué de créer un profil personnalisé, qui sera "réservé" pour l'application spécifique de données à transmettre. La compréhension des rôles, du GATT (Services et caractéristiques), des UUIDs et d'autres est obligatoire, mais la courbe d'apprentissage ou la pile blable n'est pas difficile à mon avis.

une fois que l'on connaît le profil de la mémoire vive, la connexion et la communication sur la mémoire vive sont très simples en utilisant CoreBluetooth bibliothèque.

iBeacon

Apple a créé little hack en utilisant BLE standard comme "support" pour iBeacon. Ils utilisent les données spécifiques du fabricant dans le paquet publicitaire BLE pour "affirmer" que certains dispositifs est iBeacon. Ce qui est parfaitement correct, je dirais. Ce que vous devez garder à l'esprit est que le BLEACON n'est pas iBeacon, mais tous les ibeacon sont BLEACON (dispositif avec des données spécifiques de fabricant codées en dur, exposant RSSI, UUID, majeur et mineur en mode BLEACON diffusion). De plus, iBeacon est géré par CoreLocationCoreBluetooth. Cela montre clairement ce qu'était Apple intension avec iBeacon.

Conclusion

si vous voulez intégrer le périphérique iOS avec Arduino ou un autre périphérique intégré est certainement quelque chose que vous voulez considérer. Il y a d'autres raisons pour lesquelles vous voulez en savoir plus sur la FLE si vous jetez un oeil sur le battage IoT et les options RF disponibles. BLEEST ici pour rester avec v4.1 and upcoming v4.2 spécifications qui: amélioration de la bande passante, prise en charge de L'IPv6, amélioration de la sécurité, etc.

À la fin, pas si court, mais j'espère que cela aide.

2
répondu Darko Djuric 2016-05-09 09:06:47

certains modules BLEACON peuvent être utilisés en mode iBeacon et sont connectables à IOs. J'ai travaillé avec les modules HM10 et HM11, basés sur CC2540/CC2541. Ils ont plusieurs commandes AT pour iBeacon setup. Les registres variables sont UUID, Majeur, mineure et Puissance Mesurée. Plus détaillées sont exposées dans cet article "Activer votre CC2541 base HM-10 Bluetooth Smart Module dans un iBeacon"

0
répondu Vladimir Tsykunov 2016-05-02 11:13:35