Управление arduino через bluetooth с iphone

Обновлено: 06.07.2024

iRobbie - это революционное приложение, которое привнесет возможности смартфона в ваши проекты Arduino.

Комплектующие

Это не урок по сборке робота, мы хотим рассказать про возможности нового приложения и ту функциональность, которую можно привнести в проекты. Для понимания нам понадобятся следующие детали:

    или Genuino UNO × 1
  • Arduino Sensor Shield v5 × 1
  • Модуль Bluetooth HM-10 × 1
  • Комплект шасси робота 4WD × 1
  • L298N Двойной H-Bridge DC контроллер скорости двигателя × 1
  • 2x18650 держатель батареи × 1
  • Зуммер × 1
  • Подставка для смартфона × 1
  • Arduino комплект проводов × 1
  • Двусторонняя монтажная лента × 1
  • Разъем Arduino Power Jack × 1
  • Набор Arduino Smart Robot Car Kit (опционально) × 1

За основу можно взять наш урок по созданию робота на основе Ардуино, если нет возможности купить или собрать сложного робота.

В качестве альтернативы вы можете купить один из имеющихся в продаже комплектов машинки Smart Robot Car. Убедитесь, что вы используете модуль Bluetooth HM-10. Замените модуль Bluetooth на HM-10, если автомобильный комплект Smart Robot оснащен модулем Bluetooth другого типа.

Программное обеспечение, которое также нам пригодится:

Что такое iRobbie

iRobbie (скачать) - это приложение, которое привнесет возможности и функциональность смартфона в ваши проекты Arduino. iRobbie подключается через Bluetooth к плате Arduino. Вы сможете использовать камеру iPhone и играть с распознаванием объектов, отслеживанием объектов и многим другим.

Также iRobbie App помогает начать изучать компьютерное зрение и нейронные сети. Таким образом робот на основе iRobbie и Arduino может распознавать и отслеживать более 60 объектов, будет меть сенсорный джойстик с сенсорным экраном и даже может воспроизводить музыку.

Функции приложения

Отслеживание объектов - нажмите и перетащите объект, который хотите отслеживать, и ваш робот iRobbie будет следовать за объектом.

iFinder - просто скажите iRobbie что вы хотите, чтобы он нашел. iRobbie может распознать более 60 объектов, и он начнет отслеживать объект после его распознавания.

Голосовое управление - вы можете управлять своим роботом iRobbie голосом.

Пульт дистанционного управления - отзывчивый сенсорный джойстик на вашем iPhone для управления роботом iRobbie.

Ксилофон - проигрывание музыки.


Это всего лишь пример, который может вдохновить вас на разработку и создание своего собственного робота для игры с приложением iRobbie и использованием плат, деталей или комплектов, совместимых с Arduino.

Модуль Bluetooth HM-10 подключается к сенсорному экрану следующим образом:

  • от RX к TX,
  • от TX к RX,
  • от GND до «-»,
  • от VCC до «+».

Части машинки

Функция каждой части:

  1. Держатель батареи с выключателем: обеспечить электропитание для машинки
  2. Электродвигатели + колеса: движение робота
  3. Акриловые листы: рама машинки
  4. Плата привода двигателя L298N: приводит двигатели во вращение
  5. Arduino UNO контроллер платы: мозг машины
  6. Расширительная плата датчика V5: в сочетании с UNO облегчает подключение
  7. Модуль Bluetooth HM-10: обеспечивает соединение Bluetooth с iPhone и приложением iRobbie.
  8. Подставка для смартфона: держатель смартфона на машинке


Код проекта

На этом всё. В следующих уроках и публикациях мы постараемся более широко осветить тему роботов и робототехники.

Arduino

В данном обзоре указаны 10 распространенных приложений в управлении Ардуино с компьютера или телефона, которые легки в изучении и использовании. Arduino – это платформа, разработанная ввиду технологий современного программирования. Плата с USB разъемами для блока питания. При подключении к ПК, заряжается. Во внутренней системе есть кнопка для форматирования данных.

Это было внутреннее описание. Далее переходим к обзору самого приложения. Компанией Google был создан новый интерфейс прикладного программирования под названием Arduino. Предназначается для связи Android устройства с USB. Открывает большие возможности в создании проектов и упрощает программирование и управление с экрана мобильного телефона. Помогает управлять синхронизацией данных.

  • создание скетчей;
  • их редактирование, компилирование и загрузка в плате;
  • программирование и разработка кодов.
  • написание кода;
  • макетирование;
  • прошивка.

Для программирования этих функций, требуется написать код, который можно удалять по необходимости, и прошить среду разработки. Это многоступенчатый процесс. В нем участвует несколько программ.

Arduino Bluetooth Controller

Эта программа работает в 3 основных положениях:

Контроллер. Приложение демонстрируется в облике play идентификатора и управляется кнопками переключения. Работает одной клавишей, основная функция которой – дистанционное управление.
Диммер. На расстоянии регулирует настройки яркости и скорости.
Терминал. Осуществление отправления директива для дешифрирования.

Arduino Bluetooth Controller

Используется программистами как средство редактирования кодов и создания программ. Особенность – написанный скетч превращается в СС+, компилируется и грузится в Arduino. Отлично подходит для работы новичков в этой области. Приложением можно пользоваться бесплатно и в открытом доступе.

Первым шагом в использовании будет заливка скетча на микроконтроллер. Далее нажав кнопку «Загрузить» необходимо дождаться окончания загрузки. Мигающий светодиод означает, что все было сделано правильно. Все готово к написанию и использованию прошивок.

ArduinoDroid – легкий в использовании софт. Проводит редактирование, компилирование и загрузку кодов в плату с мобильного устройства или планшета. Так же рекомендуется проводить редактирование шифра или заливать готовый, если программа забанена..

RemoteXY: Arduino Control

  • Инет;
  • Вай-Фай;
  • Ик-порт;
  • Блютуз.

RemoteXY: Arduino Control

Управление ардуино с компьютера, а именно RemoteXY, возможно через облако. Это превозносит его перед аналогичными русскими софтами Arduino.

Приложение Blynk

Этакий разработчик идей, имеющий открытый вход к запуску на платформе Ардуино. Главное требование в использовании – наличие интернета: Wi-Fi или мобильный трафик. Только в этом случае Blynk будет готов к выполнению. Начать использование можно спустя несколько минут, после окончания настроек. Программой поддерживается АО по выбору пользователя.

Вариативность – важная точка программы. Имея связь с работающими платформами, можно соединиться с сервером любым удобным способом. Данный инстинктивный портал обладает простотой в использовании над проектом. Библиотека постоянно обновляется для всех приложений Arduino Blynk.

Клиентов, желающих включать кофе машинку со своего смартфона, заинтересует это приложение. Это, пожалуй, единственный сервис с подобными возможностями. И не смотря на, то, что он практически безлимитный, является трудным Openhab. В сравнении с другими сервисами обладает быстрой скоростью при запуске.

Bluino Loader – Arduino IDE

ПО для компиляции кода в файл и загрузки его на платформу Ардуино через смартфон и USB OTG. Громоздкие кнопки и запутанные провода значительно усложняют работу над проектами. Для упрощенного контроля удаленным администрированием предоставляется графический идентификатор Bluino Loader IDE. Разрабатывает проекты, доступные триггеру. Подключается к всемирной паутине с помощью: Wi-Fi, Ethernet или через накопитель ESP8266. Когда необходимые процедуры будут выполнены и произойдет начало работы, приложение даст сигнал.

Bluino Loader – Arduino IDE

Настройка софта для создания проектов займет не более 5 минут. Матобеспечение настраивается по выбору пользователя. Простой и удобной софт. Для проверки заливают скетч в микроконтроллер и убеждаются в том, что все работает как надо. Мигающий диод подаст сигнал о правильности выполняемых действий. Далее приступают к прошивкам.

Arduino Bluetooth Control

Сокращенное название — ABC. Управляет и контролирует основные возможности API. Используется в мониторинге контактов через Bluetooth. Работает в автономном режиме. Приобщение к работе производит строго из Ардуино.

Управление проектами в дистанционном и удаленном виде стало частой необходимостью. ABC подходит для этих целей на 100%. UART (Serial) предназначается для беспроводного соединения Ардуино и PC. Данное подключение не нуждается в библиотеках и схемах.

BT Voice Control for Arduino

BT Voice Control – это голосовое управление Ардуино. Владеет функцией распознавания команд: forward, back, left, right. Чувствительные датчики переадресовывают расстояние в объект Arduino. Далее при помощи модуля Bluetooth HC-05 направляет его в приложение. Программа сэкономит время, тратящееся на набор команд вручную.

Virtuino

Программа для Андроид, предназначенная для мониторинга сенсора. Управляет электро устройствами через Bluetooth, Wi-Fi или Интернет.

Virtuino

При помощи Виртуино создаются:

Приложение способно совмещать несколько проектов в один. Управляет отличными платформами единовременно через Bluetooth и Wi-fi. Бесплатно в использовании. Относится к подкатегории System Maintenance. Есть возможность проектировать внутреннее оформление с разной визуализацией.

  • светодиоды;
  • переключатели;
  • диаграммы;
  • счетчики;
  • аналоговые приборы.

Обучаться Virtuino можно по учебным пособиям и видео урокам с библиотечной поддержкой. Пока приложение работает в режиме английского языка.

Bluetooth Controller 8 Lamp

Платформа Arduino была создана в 2003 году. Всеобщего внимания она достигла, благодаря низкой цене, а также многомилионному сообществу, направленного на углубленное изучение программирования. Микропроцессоры и микроконтроллеры поставляются с платами. Самыми популярными считаются Arduino. Итальянские модели имеет много функций по расширению и исследованию встроенных Pro систем.

Bluetooth Controller 8 Lamp создан для регулировки функций Ардуино 8 канальным контроллером. Работает при помощи модулей Bluetooth HC-05, HC-06 и HC-07. 8 кнопочный интерфейс соответствует каждой лампочке.

IoT Wi-Fi контроллер

Интерфейс этого приложения показывает все операции ввода и вывода на Ардуино. Переключение GPIO и показания АЦП управляют гаджетом в реальном времени.

Уникальный интерфейс IoT Wifi Controller отображает контакты в реальном времени с подробной информацией, благодаря уровню GPIO. Показатели ADC также можно подключать к плате с помощью телефона (Айфона) или маршрутизатора.

  • расширенная подсветка анаграмм;
  • автозаполнение;
  • руководства для объединения других приложений.

Программа «умный дом» работает при помощи платформы Arduino. В данном случае используется данный андроид и сама платформа. Для работы совместили домашние и веб серверы. Результат превзошел ожидания. Теперь при помощи мобильного устройства можно управлять системой целого дома: включать и выключать свет, электрические приборы, закрывать двери, окна и другое.

Регулирование платформы Ардуино и ее «помощников», увеличивают программирование и соприкосновение с другими устройствами. Регулировка показателей, изменение настроек, создание роботов и машин – это теперь делается, при помощи удаленного контроля и управлению. Эта самая популярная плата, используемая в программировании. Необходимые запчасти и аксессуары для работы и учебы, продаются по доступной цене в соответствующем магазине компьютерной техники.

Если вы энтузиаст Arduino и поклонник Apple, то этот пост для Вас!

С приложением ArudinoCode вы сможете писать скетчи с автодополнением (code complete) по мере набора кода как в настоящих IDE, компилировать, загружать в плату и общаться с платой по USB.

Что потребуется

Для начала убедимся, что у нас есть все, что нужно:
1. Установленная десктопная среда разработки Arduino на вашем настольном ПК или ноутбуке
2. iPad или iPhone, подключенный к той же wifi-сети, что и компьютер
3. Плата Arduino Uno, Nano или Mega2560.


Теперь скачаем и установим на компьютер небольшое приложение ArduinoCode Agent, благодаря которому мы сможем загружать скетч в плату и общаться с ней по USB. После распаковки архива запускаем скрипт run_windows.bat (или аналогичный скрипт из папки, но для вашей ОС):

После этого устанавливаем приложение ArduinoCode из App Store'а и запускаем его.

Blink скетч


Для начала помигаем светодиодом из примеров.


Нажимаем кнопку More > Open Example > 01. Basics > Blink


Выбираем тип платы: нажмем кнопку More > Settings > Board type и выбираем тип платы из списка (например Arduino Uno).


Скопилируем скетч: нажмем кнопку Compile и немного подождем, пока автоматически не найдется запущенный вами ранее ArduinoCode Agent.


Вводим admin в поле login и admin в поле password.
Пропустим синхронизацию нажатием Skip synchronization, если Вы на iPad, или Skip, если вы на iPhone.

Ждем несколько секунд, пока скетч компилируется:

Подключаем вашу плату Arduino по USB к компьютеру и жмем кнопку Upload
Ждем несколько секунд, пока скетч загружается в плату:

Смотрим на светодиод 13, который теперь… мигает!

Echo-скетч

Самое время написать свой собственный скетч на iOS.

1. Нажмем кнопку More > New sketch
2. Введем имя скетча: «Echo»
3. Начнем вводить скетч:


4. Обратим внимание, что ошибки подсвечиваются и выводятся в панели Analyzer прямо по мере ввода кода.

5. Также обратим внимание, что автоматически показываются подсказки, когда вы вводите"." и "::"

Продолжим вводить скетч и автодополнение будет фильтроваться по мере набора кода (например, когда вы ввели Serial. и показаны результаты автодополнения вы можете продолжить набирать be и будут показаны только методы begin(. )).



6. Запустим Arduino Code Agent, если он был завершен.
7. Скомпилируем и загрузим скетч
8. Нажмем Monitor, чтобы открыть serial monitor
9. Введем hello и нажмем кнопку Send

10. Поскольку echo-скетч возвращает то, что ему пришло, вы увидите текст hello.

Чем это лучше десктопной среды разработки?

Теперь не надо запоминать методы и параметры методов.

2. Часто удобнее написать скетч на iPhone'е, попивая кофе на диванчике, чем на настольном компьютере.

3. Беспроводная загрузка скетчей (в планах).
Можно загружать скетчи прямо на плату по блютусу (BLE) (в ближайших планах).

Хак дня — запускаем Agent на Raspberry PI


Можно запустить Agent прямо на плате Raspberry PI, подключить к ней по USB вашу плату Arduino:

Примечание переводчика:

Как выяснилось, приложение бесплатное, но с ограничениями бесплатной версии — по 5 компиляций и загрузок на запуск. В принципе, хватает и без покупки премиума. А если уж очень понравилось, то можно и заплатить. Иногда раздаются промо-коды.

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

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

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

Последовательный доступ интересен. Вы должны присоединиться к MFi, чтобы распространять последовательное устройство, но вы можете использовать Redpark Serial Кабель для подключения вашего собственного 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, новая книга от О'Рейли.

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

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

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

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

Чтобы улучшить этот ответ и охватить все детали, вероятно, потребуется какая-то статья или что-то подобное. Я постараюсь быть кратким и сосредоточиться на стороне 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 отсутствует, поэтому вы можете выбирать между перечисленными профилями (что вы, вероятно, сделаете, если вы делаете аудио или HID-устройство).

Bluetooth Low Energy (BLE)

Переход со спецификации Bluetooth v3.0 на v4.0 представил BLE. Новая часть спецификации имеет мало общего с предыдущей. В принципе, вы можете смотреть на него как на 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 Based. К сожалению, если вы не сделаете пульсометр или устройство из списка, вы, вероятно, воспользуетесь аккумулятором или аналогичным устройством из списка профилей. К счастью, нетрудно создать собственный профиль, который будет «заполнителем» для конкретных данных приложения, которые вы должны передать. Понимание ролей, 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, если вы посмотрите на шумиху вокруг Интернета вещей и доступные параметры RF. BLE здесь, чтобы остаться с v4.1 и предстоящими спецификациями v4.2, которые улучшат пропускную способность, обеспечат поддержку IPv6, лучшую безопасность и т. Д.

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

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

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

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

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

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

Читайте также: