Подключите iPhone к Arduino по Bluetooth

#ios #iphone #bluetooth #arduino

#iOS #iPhone #bluetooth #arduino

Вопрос:

Я бы хотел, чтобы мое приложение для iPhone могло взаимодействовать с моим Arduino по Bluetooth. Я нашел несколько экранов Bluetooth, которые поддерживают следующие протоколы: BCSP, DUN, LAN, GAP SDP, RFCOMM и L2CAP. Из того, что я нашел во время поиска в Google, заключается в том, что 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

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

Комментарии:

1. ознакомьтесь с базовой ссылкой на Bluetooth , но это правда, вам придется заплатить Apple 100 долларов или сделать джейлбрейк.

2. Вы что-нибудь с этим сделали? Я вижу, что этому уже два года.

3. нет … я пошел с запуском моей камеры с помощью разъема для наушников… как это делают ребята из triggertrap…

Ответ №1:

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

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

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

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

iPhone к RedBearLab Подключает BLE Shield к Arduino, питая взломанный грузовик с помощью techBASIC

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

iPhone к Wi-Fi к Arduino

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

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

Новая книга от О'Рейли

Ответ №2:

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

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

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

Комментарии:

1. Что я получу, если подам заявку на участие в программе Apple MFi? Они просто скажут мне, как вызываются некоторые частные вызовы API? Или дополнительная платформа, которую я мог бы использовать?

2. Можете ли вы предоставить мне какие-либо подробности о программе MFi?

3. Как сообщается, подробная информация доступна непосредственно от Apple после принятия в программу.

Ответ №3:

На самом деле вы можете сделать это прямо сейчас без джейлбрейка или регистрации 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 /

Комментарии:

1. Будьте осторожны при публикации стандартных / дословных ответов на несколько вопросов, они, как правило, помечаются сообществом как «спам». Если вы делаете это, то это обычно означает, что вопросы являются дубликатами, поэтому отметьте их как таковые. Кроме того, ответы, которые полностью основаны на ссылочном контенте, не считаются полезными на нашем сайте из-за риска гниения ссылок. Хотя теоретически это может дать ответ на вопрос, мы хотели бы, чтобы вы включили в свой ответ основные части связанной статьи и предоставили ссылку для справки .

Ответ №4:

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

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

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

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

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

CoreBluetooth

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

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

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

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

iBeacon

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

Заключение

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

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

Ответ №5:

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

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

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

Leo

Комментарии:

1. К сожалению, Wi-Fi не будет работать, потому что я хотел бы иметь возможность использовать его и на природе… Или вы знаете Arduino Shield, который дал бы мне возможность открыть точку доступа WLAN?

2. Кроме того, телефон должен будет подключаться к Arduino, являющемуся «точкой доступа». Телефон попытается подключиться к Интернету через arduino, что приведет к отключению связи в полевых условиях.

Ответ №6:

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