Controlling arduino from android

Android приложения для Arduino

Связка смартфона Andoid и Arduino предоставляет огромные возможности для создания современных проектов, упрощая удаленное программирование, управление и синхронизацию данных. Мобильные приложения на смартфоне дают взаимодействовать с реальным физическим миром из любой точки земли с помощью привычных всем гаджетов. Представляем вам обзор Android приложений для работы с Arduino. Для простоты мы выбрали несколько видов приложений, предназначенных для работы с ардуино: приложения, позволяющие создавать скетчи, справочники и Bluetooth/Wi-fi-контроллеры.

ArduinoDroid

ArduinoDroid – это бесплатное приложение, которое позволяет редактировать, компилировать и загружать эскизы к вашей плате Arduino прямо с телефона или планшета Android. Отличительной чертой этой программы является то, что в нее можно загружать уже готовый запрограммированный код или создавать новый. В случае с неполадками или сбоями программы, открытый код можно всегда отредактировать.

В настоящее время поддерживаются только платы Arduino Uno R3 и платы на базе FTDI (Duemilanove, Diecimila), но планируется поддержка Mega, Due и Nano. Другие функции, которые необходимо реализовать, включают расширенную настраиваемую подсветку синтаксиса, интеллектуальные подсказки кода (автозаполнение) и интеграцию сторонних приложений (руководства, запросы на компиляцию эскизов).

Стоит отметить то, что с помощью этого приложения начинают все осваивать ардуино, к тому же клон-плата Arduino и USB кабель OTG обойдутся всего в пару долларов.

Рейтинг на Google Play: 4.1 из 5

Количество скачиваний: более 500.000

Bluino Loader – Arduino IDE

Bluino Loader – это программное обеспечение для ардино (Arduino IDE), которое позволяет быстро и легко компилировать ваш код для создания файла и загружать его на плату ардуино через USB OTG.

Рейтинг на Google Play: 4.1 из 5

Количество скачиваний: более 50.000

Arduino Bluetooth Control

Приложение ABC – это простое приложение, которое предназначено для того, чтобы контролировать контакты Arduino, и иметь доступ основным функциям управления. Arduino Bluetooth Control используется для управления и/или мониторинга контактов Arduino через Bluetooth. Приложение является автономным, и вся инициализация выполняется из Arduino. Важно понимать, что приложение предназначено именно для контактов ардуино, а не для управления.

Работа приложения осуществляется при помощи нескольких инструментов:

  1. Metrics – этот инструмент осуществляет передачу данных с устройства ардуино, которые передают сигнал на телефон о сбоях или об изменениях значений. После того как кнопка сигнализации срабатывает, на телефон поступает уведомление о приостановки работы. Также есть функция встряхивания, при помощи которой отправлять данные путем встряхивания телефона.
  2. Кнопки со стрелками – здесь работа осуществляется кнопками, которые полностью регулируют отправку данных на плату.
  3. Терминал – стандартный терминал, получающий и отправляющий данные на плату с отметками времени.
  4. Кнопки – в горизонтальной ориентации доступно 6 полностью функционированных кнопок для отправки данных на системную плату ардуино.
  5. Accelometer – используются команды при помощи жестов. Ваш смартфон может стать рулем для управления вашим роботом.
  6. Голосовое управление – если вы когда-либо хотели пообщаться с роботами, то этот инструмент для вас. При помощи голосовой связи можно создавать собственные команды и использовать их для управления ардуино.

Рейтинг на Google Play: 4.2 из 5

Количество скачиваний: более 50.000

Arduino Bluetooth Controller

Arduino Bluetooth Controller – это простое и интуитивно понятное приложение для управления arduino через bluetooth с android. Работа приложения осуществляется в 4-х различных режимах:

  1. Режим контроллера: здесь приложение осуществляет демонстрацию интерфейса в виде игрового контроллера. Управление робота осуществляется при помощи экранных кнопок, что упрощает работу с ардуино.
  2. Режим переключения: переключение осуществляется при помощи одной кнопки, которая предназначена для удаленного доступа к переключателю.
  3. Режим диммера: в этом режиме доступна функция отправления значения в Arduino, которая позволяет удаленно регулировать яркость или скорость.
  4. Режим терминала: возможность отправлять индивидуальные команды для декодирования команд в самом ардуино.
Читайте также:  Android studio intellij plugins

Рейтинг на Google Play: 4.5 из 5

Количество скачиваний: более 100.000

Bluetooth Controller 8 Lamp

Приложение создано при помощи модулей Bluetooth HC-05, HC-06 и HC-07. Контроль 8 каналов позволяет быстро и удобно отрегулировать работу ардуино. В интерфейсе предоставлено 8 кнопок, которые соответствуют каждой лампе.

Рейтинг на Google Play: 4.3 из 5

Количество скачиваний: более 50.000

BT Voice Control for Arduino

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

Arduino был запрограммирован на список распознаваемых команд, таких как «Вперед», «Назад», «Влево», «Вправо» и «Стоп». Важно знать, что ультразвуковой датчик отправляет расстояние до ближайшего объекта в Arduino, а затем отправляет его в приложение с помощью модуля Bluetooth HC-05.

Рейтинг на Google Play: 4.4 из 5

Количество скачиваний: более 10.000

RemoteXY: Arduino Control

Осуществление управления это ардуино адроид приложения проходит через Bluetooth, Wi-Fi или интернет. Приложение позволяет пользователю сделать свой индивидуальный графический интерфейс, посетив его сайт http://remotexy.com. Удобное создание кнопок, переключателей и полная регулировка ардуино не даст отойти ни на шаг. Также доступно подключение через облачный сервер, что дает преимущество перед другими приложениями.

Рейтинг на Google Play: 4.1 из 5

Количество скачиваний: более 50.000

Virtuino

Virtuino – это бесплатное приложение из подкатегории System Maintenance, входящей в категорию System Utilities. Оно разрешает совмещать проекты в единое целое, что позволяет управлять более одной платы одновременно через Bluetooth или Wi-fi.

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

Рейтинг на Google Play: 4.9 из 5

Количество скачиваний: более 50.000

Blynk

Это уникальное приложение c прекрасным дизайном разрешает разрабатывать проекты, которые напрямую имеют доступ к триггеру событий на плате ардуино. Однако, важно знать, что для работы в приложении необходимо интернет-подключение, иначе работа попросту невозможна. Независимо от того, подключен ли ваш Arduino или к Интернету через Wi-Fi, Ethernet или этот новый чип ESP8266, Blynk выведет вас в интернет и будет готов к работе.

Настройка занимает около 5 минут, после чего вы можете приступить к реализации своих проектов. Также программа поддерживает аппаратное обеспечение по вашему выбору.

Рейтинг на Google Play: 4.6 из 5

Количество скачиваний: более 500.000

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

Этот Wi-Fi контроллер содержит интерфейс, который показывает конфигурацию каждого ввода-вывода Arduino. Возможность переключать значения GPIO в реальном времени, а также показ значений АЦП позволят легко управлять вашим гаджетом.

Рейтинг на Google Play: 4.6 из 5

Количество скачиваний: более 5.000

Справочник по Arduino 2

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

Источник

Читайте также:  Как сделать кнопку неактивной android studio

Android + Arduino = ♥

Не так давно Google открыл API для работы Android устройств с USB. Сегодня пришло время пощупать что же это такое и узнать какие возможности нам открываются.

Итак, у нас имеется Arduino Mega 2560, USB Host Shield и HTC Desire с прошивкой cyanogen 7.1.0 RC1 (Android 2.3.4). На всякий случай напомню, что все что будет описываться дальше — работает только начиная с Android 2.3.4 для телефонов и Android 3.1 для планшетов.

Тут стоит отметить что данный USB Host Shield не совсем удачный, особенно в сочетании с Arduino Mega 2560. Первая проблема заключалась в том что данная плата расширения сделана для Arduino UNO, а она отличается от Mega положениями контактов SPI, поэтому пришлось кидать перемычки (см. фото). Второй проблемой, хотя и вполне ожидаемой, стала потребность во внешнем источнике питания для работы этой платы расширения. Более удачной считается USB Host Shield 2.0 от Circuits@Home, но она и дороже.


Плата с перекинутыми SPI контактами

Настройка Arduino ПО

1. Если еще не установлено, то скачать и установить ПО для Arduino.
2. Скачать и распаковать пакет ADK (содержит DemoKit приложение). Должны появится папки app , firmware , и hardware .
3. Скачать библиотеку CapSense
4. Скопировать firmware/arduino_libs/AndroidAccessory и firmware/arduino_libs/USB_Host_Shield в /libraries/ .
5. Создать директорию CapSense в /libraries/ и скопировать в нее CapSense.cpp и CapSense.h из архива CapSense.

Загрузка прошивки

Google любезно предоставляет свой DemoKit скетч для Arduino. Все что нужно — это открыть его из firmware/demokit/demokit.pde , скомпилировать и залить на плату.

Тестовое Android приложение

В DemoKit пакете также находятся исходники Android приложения для демонстрации возможностей. Google предлагает нам самостоятельно создать Android проект и собрать это приложение. Для начала нам надо будет установить API Level 10. Дальше все просто — создаем Android проект и указываем путь к папке app , в Build Target указываем Google APIs (Platform 2.3.3, API Level 10). Собираем приложение и устанавливаем на телефон. Кто не хочет возится со сборкой — может скачать готовый APK.

Запуск

Просто подключаем наш телефон к USB Host Shield. Если мы все сделали правильно, то на экране появится запрос запуска DemoKit приложения.

Само приложение содержит две вкладки — In (кнопки, джойстик и сенсоры) и Out (светодиоды, реле и сервоприводы).

Я решил что для демонстрации вполне достаточно пары светодиодов и кнопки. Как это все чудо работает можно пронаблюдать на видео.

Немного кода

В рассматриваемом примере сообщения, передающиеся по USB, состоят из трех байтов:
1-й байт определяет команду или группу устройств, например светодиоды — 0x2
2-й байт указывает на конкретное устройство, например зеленый светодиод — 0x1
3-й байт содержит значение, передаваемое устройству, например максимальная яркость — 0xff

Arduino

Android

Выводы

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

Также нельзя забывать о том, что Android устройство для Arduino может выполнять роль платы расширения, в которой есть GPS, Bluetooth, WiFi, акселерометр и многое другое.

Источник

Управление Arduino с телефона

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

Моё видение системы выглядит так:

Думаю стоит совместить домашний и веб-серверы, прикупив статический айпишник, но на первое время сойдет и так. Начнем с простого – научимся удаленно управлять светодиодом и LCD-дисплеем.

Читайте также:  Лучшие планировщики задач для андроид
Web-server

На веб-сервере создаем БД с двумя таблицами – leds и texts. Таблица leds содержит 2 поля – id и status. Она содержит одну запись с актуальным состоянием светодиода. Таблица texts содержит 2 поля – id и text. Она также содержит одну запись с текстом, который в данный момент отображается на LCD-дисплее.

Теперь напишем пару скриптов, которые будем вызывать с телефона и передавать информацию для БД. Пишем на php.

Скрипт led.php (управление светодиодом):

Скрипт msg.php (управление LCD-дисплеем):

Я думаю, что из комментариев ясно, как работают эти скрипты. Это все, что находится на веб-сервере. Теперь перейдем к домашнему серверу (или говоря проще, компьютеру, к которому подключен ардуино).

Домашний сервер

На нем будет постоянно работать программка (можно даже назвать ее – демон), посылающая запросы к БД и при изменении находящейся там информации, посылающая на COM-порт с ардуино соответствующую команду. Программку напишем на языке Processing:

Пояснять этот код я тоже не стану, все и так понятно.
Еще 1 важный момент. Чтобы программа с нашего компьютера могла обращаться к БД, расположенной на удаленном сервере, надо это разрешить. Вводим наш ip в список разрешенных:

Далее по плану – приложение для телефона.

Приложение для телефона

Телефон у меня андроиде, для него и пишем. Не буду сильно вдаваться в подробности (очень хорошо как о установке среды программирования, так и о написании первого приложения написано вот в этой статье — ссылка).

Внешний вид приложения выглядит довольно скромненько, но в данном случае это не главное:

Приведу только отрывки кода программы под Android. Функция, вызывающая скрипт, управляющий светодиодом:

Функция, отсылающая текст для отображения на LCD-дисплее:

Ну и главная функция, в которой происходит привязка обработчиков событий к кнопкам:

И еще один важный момент – добавить разрешение приложению на выход в интернет. Для этого в файл AndroidManifest.xml (он находится в директории нашего андроид-приложения) надо добавить строчку:

Экспортируем наше приложение в файл APK и устанавливаем на телефон. Пульт управления умным домом готов!

Arduino

Ну и наконец последнее, но не по значению – подключение ардуино и ее прошивка. Схема подключения LCD-экрана и светодиода к Arduino Uno выглядит следующим образом:

Резистор берем на 220 Ом. Более подробно про подключение LCD-экрана можно прочитать здесь — ссылка

А вот как это все выглядит в реальности:

Задача ардуино состоит в прослушивании того, что программа-демон на домашнем сервере посылает на COM-порт, к которому и подключена ардуино (хотя фактически подключение идет по USB-кабелю, но компьютер распознает его как последовательный порт). После получения каких-либо данных с компьютера, контроллер по первому символу переданной информации распознает код команды (т.е. чем сейчас предстоит управлять – LCD-дисплеем или светодиодом). Далее в зависимости от кода и следующей за ним информации выполняется либо включение/выключение светодиода, либо вывод на дисплей переданного сообщения. Итак, вот собственно код:

Я думаю, пояснений он не требует, так как я очень подробно все расписал в комментариях. Единственное, что стоит отметить, так это некоторые ограничения на передаваемые для вывода на дисплей строки. Они не должны содержать пробелов (это ограничение накладывается несовершенством моего алгоритма) и не должны содержать кириллицы (т.к. она поддерживается не всеми дисплеями, а если и поддерживается, то требует передачи кодов символов в своей собственной кодировке, преобразовывать символы в которую нет никакого желания).

Заключение

И напоследок приведу ссылки на ресурсы, которые использовал:
Очень хорошие уроки по ардуино — ссылка
Ссылка на среду Processing — ссылка
Еще раз ссылка на статью по созданию первого приложения на Android – ссылка

Источник

Оцените статью