Подключите iPhone к Arduino через Bluetooth - PullRequest
18 голосов
/ 14 октября 2011

Я бы хотел, чтобы мое iPhone-приложение могло общаться с моим Arduino через Bluetooth. Я нашел несколько экранов Bluetooth, которые поддерживают следующие протоколы: BCSP, DUN, LAN, GAP SDP, RFCOMM и L2CAP. Из того, что я нашел, немного погуглив, iPhone скрывает свой стек Bluetooth?!? Это правильно? Действительно ли нет возможности позволить моему iPhone общаться с другим устройством с поддержкой Bluetooth без джейлбрейка (что, насколько я знаю, потребовалось бы, если бы я использовал btstack: http://code.google.com/p/btstack/)?

Если Bluetooth действительно не возможен, какие другие способы (кроме WLAN) вы бы предложили реализовать для связи? Я хотел бы понять, что-то вроде здесь: http://theiopage.blogspot.com/2011/08/yanis-android-wireless-eos-controller.html

Спасибо за любые советы!

Ответы [ 6 ]

16 голосов
/ 30 августа 2013

Доступно несколько технологий подключения.

Как уже упоминалось, стандарт Bluetooth (3.0) контролируется программой MFi. Единственный способ подключиться к iPhone без джейлбрейка - это присоединиться к программе MFi.

Серийный доступ интересен. Вы должны присоединиться к MFi для распространения последовательного устройства, но вы можете использовать Redpark Serial Cable для подключения вашего собственного iPhone к последовательному устройству.

Существует несколько способов подключения устройств Bluetooth LE к Arduino. Я использовал RedBearLabs BLE Shield . Это работает чертовски хорошо.

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

Вы также можете подключиться к Arduino, используя последовательный мост WiFi. У меня был успех с устройством WiFly .

iPhone to WiFly to Arduino

Одна из замечательных особенностей BLE Shield и WiFly заключается в том, что вам не нужно использовать Objective C или Macintosh - хотя, конечно, это вариант. Вы можете получить доступ как к techBASIC , работающему прямо на iPad или iPhone.

Вероятно, вы можете выяснить это самостоятельно, потратив некоторое время на исследования и усилия, но эти технологии подключения (плюс еще несколько, которые не относятся непосредственно к Arduino) также описаны в Создание устройств для iPhone и iPad Electronics , новая книга от О'Рейли.

New Book from O'Reilly

10 голосов
/ 14 октября 2011

Информация о подключении к устройствам Bluetooth 3.0 или ниже со стандартных устройств на ОС iOS доступна только после принятия в программу Apple MFi .

Bluetooth 4.0 (BLE) доступен как в разработке, так и на коммерческой основе для разработчиков iOS (без необходимости доступа к программе MFi), используя общедоступную базовую инфраструктуру Bluetooth, доступную в iOS 5 или более поздней версии на устройствах iPhone 4S, iPad 3 и более поздних версиях, несущих Бортовой BT4.0.

Добавлено несколько лет спустя: В настоящее время на рынке доступно несколько экранов BLE и Arduino-совместимых или Arduino-подобных продуктов со встроенным BLE (LightBlue Bean, RFduino и т. Д.).

8 голосов
/ 07 мая 2012

На самом деле вы можете сделать это сейчас без джейлбрейка или регистрации MFi.

Взгляните на Bluetooth 4.0 в новых устройствах iOS и Arduino BT 4.0 shield.

Это может помочь: http://blog.makezine.com/2012/03/19/bluetooth-4-0-from-arduino-to-iphone-no-jailbreaking-no-mfi/

2 голосов
/ 09 мая 2016

Чтобы улучшить этот ответ и охватить все детали, возможно, нужна статья или что-то подобное. Я постараюсь быть кратким и сосредоточиться на iOS, поскольку у Arduino практически нет ограничений на периферийные устройства Bluetooth, которые широко доступны через экраны Arduino BLE, например RedBearLab BLE Shild

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

Спецификация стека Bluetooth до версии 4.0 не содержит низкоэнергетическую часть. Несмотря на то, что протокол прост в использовании, особенно если он упрощен в отношении SPP (Serial Port Profile), он недоступен на устройствах Apple iOS без программы MFi . На рынке есть немного Bluetooth-модулей, таких как Pan1321 от Panasonic, который включает в себя сопроцессор Apple для аутентификации и который можно использовать с iOS. Грустная часть истории заключается в том, что если вы посмотрите на эту официальную страницу iOS: поддерживаемых профилей Bluetooth SPP там нет, так что вы можете выбрать один из перечисленных профилей (что вы, вероятно, будете делать, если вы делаете аудио или HID устройство ).

Bluetooth с низким энергопотреблением (BLE)

Введен переход от спецификации Bluetooth v3.0 к v4.0. Новая часть спецификации имеет очень мало общего с предыдущей. По сути, вы можете посмотреть на это как Bluetooth v3.0 + BLE = v4.0 или Bluetooth Smart. BLE часть спецификации v4.0 - это то, что нас интересует.

CoreBluetooth

Помимо всех преимуществ BLE, таких как низкое энергопотребление, небольшой размер, низкая стоимость, наиболее важным было принятие на себя производителей мобильных устройств, включая Apple (MFi не требуется). BLE полностью поддерживается CoreBluetooth , и реализация на стороне iOS проста. Одна вещь, которую вы должны иметь в виду, это то, что BLE имеет низкую энергию, но также имеет низкую скорость. Хотя стандарт устанавливает минимальный интервал соединения в 7,5 мс, в документации по документам Apple указано, что рекомендация составляет 30 мс :-D Что я испытал при использовании множества разных чипов и устройств iOS, так это то, что вы сможете передавать 20 байт каждые 20-30 мс. Если требуется подтверждение, сделайте его двойным, например, 40-60 мс.

Пользовательские профили

Список стандартных профилей BLE доступен через Bluetooth Special Interest Group (SIG). Посмотрите на основе ГАТТ. К сожалению, если вы не сделаете пульсометр или устройство из списка, вы, вероятно, будете использовать обслуживание от батареи или подобное из списка профилей. К счастью, не сложно создать пользовательский профиль, который будет «заполнителем» для данных конкретного приложения, которые вы должны передать. Понимание ролей, GATT (сервисов и характеристик), UUID и других является обязательным, но, на мой взгляд, кривая обучения или стек BLE не сложна.

Когда известен профиль BLE, работающий на встроенном устройстве, подключение и связь по BLE очень просты с использованием библиотеки CoreBluetooth.

IBeacon

Apple сделала небольшой взлом, используя стандарт BLE в качестве «носителя» для iBeacon. Они используют данные производителя в рекламном пакете BLE, чтобы «заявить», что какое-то устройство является iBeacon. Что вполне нормально, я бы сказал. Следует помнить, что BLE - это не iBeacon, но все iBeacon - это BLE (устройство с жестко закодированными данными производителя, отображающими RSSI, UUID, мажорный и младший в широковещательном режиме BLE). Кроме того, iBeacon обрабатывается CoreLocation , а не CoreBluetooth . Это проясняет, каково было намерение Apple с iBeacon.

Заключение

Если вы хотите интегрировать iOS-устройство с Arduino или другим встроенным устройством, BLE - это то, что вам нужно учитывать. Существуют дополнительные причины, по которым вы хотите узнать больше о BLE, если вы посмотрите на рекламу IoT и доступные варианты RF. BLE здесь, чтобы остаться с версией v4.1 и будущими спецификациями v4.2, которые улучшат пропускную способность, обеспечат поддержку IPv6, улучшат безопасность и т. Д.

В конце, не так коротко, но я надеюсь, что это поможет.

2 голосов
/ 15 октября 2011

Так что я не знаю, как реализовать, но я думаю, что ваш Arduino должен имитировать Bluetooth-гарнитуру и позволить приложению анализировать данные.Поскольку айфоны поддерживают только гарнитуры Bluetooth, это будет один из немногих методов.И это было бы очень сложно.

Я рекомендую вам делать такие вещи по Wi-Fi с помощью Wifi-Shield.Чем вы можете использовать систему Genles Genial bonjour для автоматического определения вашего оборудования.

Надежда, которая дает вам некоторое представление о том, как решить проблему,

Лев

0 голосов
/ 02 мая 2016

Некоторые модули BLE могут использоваться в режиме iBeacon и могут подключаться к IO.Я работал с модулями HM10 и HM11, основанными на CC2540 / CC2541.У них есть несколько AT-команд для настройки iBeacon.Возможные регистры UUID , Major , Minor и Измеренная мощность .Подробнее об этой статье «Превратите ваш интеллектуальный модуль Bluetooth HM-10 на базе CC2541 в iBeacon»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...