Передача данных с ардуино на телефон. Создаем Android-приложение для управления домашним роботом через Bluetooth. Приложение Blynk для разработки проектов
В этом уроке вы узнаете, как использовать модуль bluetooth и приложение MIT для создания беспроводной последовательной связи между телефоном android и платой arduino. В этой статье описывается, как выполнить подключение, написать скетч для arduino, который может принимать базовые команды и отправлять их и как самому создать приложение. Предполагается, что вы уже знакомы с некоторыми из основ, вы сделали несколько проектов arduino и знакомы с arduino IDE. Если вы пытались выполнить последовательную связь с платой arduino, все должно быть полностью понятным. Если у вас есть какие-либо проблемы или вопросы, не стесняйтесь спрашивать их на странице обсуждения.
О ЧЁМ СТАТЬЯ?
Действия
1. Используйте следующий код для arduino
Не стесняйтесь изменять его. Важным аспектом здесь является скорость передачи в бодах — убедитесь, что он соответствует скорости передачи в бодах вашего модуля — проверьте техническое описание или используйте AT команды для этого.
- const int ledPin = 2; // the pin that the LED is attached to byte serialA; void setup() { // initialize the serial communication: Serial.begin(19200); //baud rate — make sure it matches that of the module you got: // initialize the ledPin as an output: pinMode(ledPin, OUTPUT); } void loop() { if (Serial.available() > 0) {serialA = Serial.read();Serial.println(serialA);} switch (serialA) { case 1: digitalWrite(ledPin, HIGH); break; case 2: digitalWrite(ledPin, LOW); break; case 3:digitalWrite(ledPin, HIGH); delay(100); digitalWrite(ledPin, LOW); delay(100); default: break; } }
2. Если все, что вы хотите, это получить приложение и посмотреть, как оно работает
скачайте приложение, а затем загрузите его на свой телефон. Скачать можно по адресу -> https://drive.google.com/folderview?id=0B_PfPoEotOF8N2JwT3RSX011SjQ&usp=sharing. На вашем телефоне должна быть разрешена установка приложений из сторонних источников.
3. Если вы хотите изменить приложение, перейдите по адресу
- http://appinventor.mit.edu/explore/learn.html, чтобы узнать, как подготовить компьютер и установить программное обеспечение для разработчиков приложений. Как только вы его запустили, сделайте хотя бы один или два из своих основных уроков. Ниже приведено приложение, используемое здесь. Вы можете загрузить его в App Inventor, а затем загрузить на свой телефон или изменить его. https://drive.google.com/folderview?id=0B_PfPoEotOF8N2JwT3RSX011SjQ&usp=sharing
Вещи, которые вам понадобятся
- плата arduino
- bluetooth serial module (в этой статье был использован модуль btm222 с встроенным регулятором)
- Единственная проблемная часть здесь — модуль bluetooth. Существуют разные модули по всему Интернету, поэтому убедитесь, что вы проверили вывод в таблице данных, которые у вас есть, поскольку они могут отличаться. Также обратите внимание, что есть два общих класса модулей bluetooth: Class 1 имеет дальность около 100 метров. Класс 2 имеет дальность около 10 метров. Если вам интересно, что они полностью совместимы, и вы можете получить только 100 м, если оба устройства поддерживают такую дальность
- Используемый здесь последовательный модуль bluetooth имеет следующие контакты слева направо (земля, RX, TX, не подключено, VCC). Очевидно, что земля и VCC идут соответственно на землю и + 5В контакт на arduino. Поскольку мы будем получать данные через модуль, а затем, в свою очередь, отправляя его на плату arduino, нам нужно только использовать вывод TX на модуле. Запустите провод от этого штыря к выходу RX на плате arduino. Led контролируется с помощью PIN 2 на ардуине.
- светодиод
- резистор (100 Ом)
- провода
- макетная плата
- Этот учебник может быть немного сложным для вас, если вы новичок. Если вы никогда не пытались выполнить последовательную связь с платой arduino или не выполняли по крайней мере большинство эскизов примеров arduino, тогда выполните некоторые из более простых руководств и вернитесь к ним позже.
Платы Arduino и подобные микроконтроллеры делают творчество более доступным, чем когда либо, пишут . Вне зависимости от целей использования – для автоматизации вашего дома или контроля светодиодных лент, или даже для защиты вашей собственности, эти удивительные маленькие технические устройства являются сердцевиной большинства электронных девайсов формата «сделай сам».
Если вам необходимо дать команду вашему Arduino изменить положение перемычек контакта (например, включить свет), то Arduino потребует от пользователя нажать на физическую кнопку или применить сенсор. Для многих проектов использование силы давления человеческого пальца или аналогичных методов управления устройствами вполне приемлемо, но что необходимо применить, если вам захотелось только собрать схему с возможностью дистанционного доступа?
Данная статья дает краткое описание шести способов соединения вашего устройства на платформе Android с любой совместимой платой Arduino.
1. ArduinoDroid позволяет создавать скетчи
Первое устройство в нашем списке — ArduinoDroid . Это приложение работает через USB On The Go (OTG), соединяющее ваше мобильное устройство с Arduino через USB кабель. Одно из преимуществ USB кабеля – это отсутствие необходимости соединения с интернетом или Bluetooth для функционирования устройства.
Приложение является полнофункциональным IDE, которое предоставляет пользователю возможность написания кода на смартфоне, сделать загрузку ранее написанных скетчей, которые хранятся в Dropbox или Google drive и затем начать процесс компиляции.
Преимущества использования приложения ArduinoDroid очевидны. Наличие под рукой IDE позволяет оперативно вносить изменения в поля, а процесс прикрепления устройства Android является менее сложным и трудоемким, чем попытки сбалансировать громоздкий ноутбук на руках!
Явный недостаток приложения ArduinoDroid заключается в том, что написание кода на вашем девайсе может быть не очень комфортным занятием, особенно если вы будете использовать для этих целей смартфон. Вместе с тем, это слабое место приложения не является столь ярко выраженным, когда на одной чаше весов – удобство иметь под рукой ультра-портативный способ программирования на вашей плате без необходимости наличия интернет соединения, а на другой чаше весов – не слишком комфортный метод написания кода.
С другой стороны, наличие ArduinoDroid является недорогим способом обучения основам Arduino, поскольку клон платы Arduino и USB On The Go стоят несколько долларов. Для тех, кому редко доступен компьютер, приложение ArduinoDroid является отличной альтернативой!
2. Arduino Bluetooth Controller
Следующая программа в нашем списке – удачно названный Контроллер Arduino Bluetooth . Это приложение имеет большую значимость относительно триггеров на изменения в загруженных скетчах, и меньшую значимость для программирования Arduino. Контроллер Arduino по Bluetooth посылает данные на вашу плату по Bluetooth, что дает вам возможность послать серийные данные нажатием кнопки. Вам потребуется модуль Bluetooth для вашей платы, хотя модуль HC-06 широко используется и доступен всего лишь за $3.
Заслуживает упоминания тот факт, что программа загружается на английском языке, хотя на картинках Play Store указан итальянский язык!
3. Приложение Blynk для разработки проектов
Приложение Blynk является отличной разработкой для создания проектов. Гибкость и простота приложения обеспечивают интуитивный подход к триггеру событий на вашей плате. Работа с Blynk требует наличия соединения с интернетом, поскольку приложение использует свой собственный сервер. Вы можете использовать либо Wi-Fi, либо мобильные данные для обеспечения доступа к приложению Blynk, и эта возможность отлично подходит для смартфонов.
Одно из самых сильных мест приложения – это вариативность подключений к устройству. При наличии поддержки практически всех разработческих плат, вы можете соединиться с сервером на беспроводной основе, или используя ethernet и даже компьютер через USB. Сервис отлично документирован, а его интуитивное приложение обеспечивает простоту интеграции кастомизированного контроля над вашим проектом. Библиотека Blynk для Arduino IDE следит за всеми коммуникациями.
Если вы предпочитаете включать вашу кофемашину с использованием смартфона до того, как встали с постели рано утром, это приложение, действительно, для вас!
Blynk является не единственным сервисом в этой категории. Стоит обратить внимание и на такой исключительно кастомизированный сервис как Thinger.io и практически безлимитный, хотя и чрезвычайно трудный OpenHAB . Из этих трех сервисов Blynk является самым быстрым при запуске и работе, хотя в долгосрочной перспективе изучение OpenHAB является отличной идеей.
4. Коммуникация с нуля
Описанные выше приложения предполагают использование уже существующих сервисов, которые оказывают вам помощь в обеспечении различных вариантов соединения. Что необходимо предпринять для осуществления полного и тотального контроля над каждым аспектом ваших приложений к устройствам Android? Почему бы вам не решить этот вопрос самостоятельно и с нуля?
Проблема обеспечения контроля над пакетом приложений решается просто через открытие USB связи и взаимообратную передачу серийных данных между приложениями и платой Arduino. Этот вариант обеспечения контроля является одним из лучших для знакомства с Android Studio и созданием приложений в целом.
Следует заметить, что при наличии методов и способов создания приложений для устройств на платформе Android без кода, заслуживает внимание и изучение основ кодирования программного обеспечения на Java.
5. Превратить ваш Arduino в сервер
Альтернативным способом обеспечения коммуникации с вашей платой является превращение ее в крошечный сервер. Ключевое преимущество такой трансформации платы в сервер является появление возможности коммуникации с платами с любого устройства, которое может осуществлять навигацию по IP адресу или отправлять веб-запрос. Это потребует прикрепления Ethernet shield к вашей плате к домашней сети.
Если у вас нет Ethernet shield, то аналогичный эффект может быть достигнут через Wi-Fi shield или через плату, соединенную с Wi-Fi, подобно NodeMCU.
Если код node.js является вашим джемом (jam), есть смысл взглянуть на проект arduino-android github . Еще раз повторим, что приложения для Android разработаны на основе открытого кода, и все, что необходимо сделать вам — это установить сервер node.js на выбранной вами Arduino плате.
6. Инфракрасный контроль
Если вы в поиске универсального инструмента коммуникации с вашим Arduino или вам хотелось бы сыграть роль легендарного секретного агента Макгайвер, то снимите инфракрасный приемник (ИТ) с вашей старой стереоустановки или VHS плеера и используете его для коммуникации с вашей Arduino платой!
Хотите послать текстовое сообщение с вашего смартфона с ОС Android на свою плату Arduino? В этой статье написано, как это сделать!
Что потребуется
- смартфон на Android с поддержкой режима USB хоста (т.е. поддержка OTG) - большинство устройств, работающих с Android 3.1 и выше, поддерживают этот режим. Проверьте свой телефон с помощью USB Host Diagnostics App из Play Store;
- Arduino - любая версия. Я буду использовать Uno R3 ;
- USB кабель для Arduino;
- USB OTG кабель - он необходим вам, чтобы подключить USB кабель Arduino к порту micro-USB телефона;
- Android Studio - вам необходимо установить его. Это довольно просто сделать. Android Studio делает разработку приложений проще, благодаря своим предположениям и генерации кода. Это одна из лучших IDE. Вы также можете использовать эту статью в качестве руководства по установке Android IDE.
Основные компоненты приложения для Android
В Android приложении есть три основных файла:
MainActivity.java Здесь находится выполняемый код на Java, который управляет тем, как будет функционировать приложение. activity_main.xml Содержит макет приложения, то есть, компоненты: кнопки, компоненты отображения текста и т.д. AndroidManifest.xml Здесь вы определяете, когда приложение должно запускаться, в какие права ему нужны, и к какому аппаратному обеспечению ему необходимо получить доступ.
Еще есть множество других файлов, но все они связаны друг с другом с помощью этих трех.
Активность может быть охарактеризована, как экран, где пользователь взаимодействует с телефоном. Активности содержат такие виджеты, как кнопки, текстовые поля, изображения и т.д., которые помогают в передаче информации. Данное руководство будет использовать только одну активность, MainActivity , которая будет принимать введенный пользователем текст, чтобы отправить его на Arduino, а также отображать принятый текст.
Макет
Мы будем использовать тот же макет, что и в USB App и Bluetooth App. Он прост и содержит минимум виджетов, необходимых для проверки соединения между устройствами.
Как вы можете видеть, он содержит виджет EditText для получения данных от пользователя, кнопки для запуска соединения, передачи данных, завершения соединения и очистки TextView . Полученные данные отображаются в TextView (пустое пространство под кнопками).
Вот часть XML кода. Поскольку код для кнопок похож, здесь он не приводится. Полный код можно скачать по ссылке в конце статьи.
Я использовал здесь RelativeLayout , а это означает, что каждый виджет расположен относительно виджетов вокруг него. Макет может быть легко воссоздан на вкладке Design Tab , где вы можете перетащить виджеты туда, куда хотите. Нам необходимо описать, что будет происходить при нажатии на кнопку. Для этого используется метод onClick . Укажите имя метода в XML коде для кнопки. Для этого добавьте строку:
Android:onClick="onClickMethod"
Теперь наведите курсор мыши на эту строку, слева должно будет появиться предупреждение, похожее на это:
Нажмите на варианте «Создать onClick...». Это автоматически добавит код метода onClick в MainActivity.java . Вам необходимо выполнить это для каждой кнопки.
Библиотека USB Serial
Настройка последовательного соединения в Android довольно трудоемка, так как требует от вас ручной настройки множества вещей, поэтому я нашел несколько библиотек, которые делают всё это автоматически. Я протестировал несколько из них и, наконец, остановился на библиотеке UsbSerial от Github пользователя felHR85 . Среди подобных библиотек, что я нашел, она единственная до сих пор обновляется. Ее довольно легко настроить и использовать. Чтобы добавить библиотеку в свой проект, скачайте последнюю версию JAR файла на Github. Поместите его в подкаталог libs в каталоге вашего проекта. Затем в файловом проводнике в Android Studio кликните правой кнопкой мыши на JAR файле и выберите « Добавить как библиотеку » (Add as Library). Вот и всё!
Алгоритм выполнения программы
Это краткий план того, как мы будем действовать. Каждая активность имеет метод onCreate() , который запускается при создании активности. Какой бы код вы ни хотели запустить в начале, он должен быть помещен внутрь этого метода. Обратите внимание, что чтение из устройства является асинхронным, то есть оно будет работать в фоновом режиме. Это делается для того, чтобы данные были получены как можно скорее.
Открытие соединения
Во-первых, давайте определим метод onClick для кнопки Begin . При нажатии необходимо выполнить поиск всех подключенных устройств, а затем проверить, совпадает ли VendorID подключенного устройства (ID поставщика) с VendorID Arduino. Если совпадение найдено, то у пользователя должно быть запрошено разрешение. Каждое ведомое USB устройство имеет ID поставщика (Vendor ID) и ID продукта (Product ID), которые могут быть использованы для определения того, какие драйвера должны использоваться для этого устройства. Vendor ID для любой платы Arduino равен 0x2341 или 9025.
Public void onClickStart(View view) { HashMap usbDevices = usbManager.getDeviceList(); if (!usbDevices.isEmpty()) { boolean keep = true; for (Map.Entry entry: usbDevices.entrySet()) { device = entry.getValue(); int deviceVID = device.getVendorId(); if (deviceVID == 0x2341) //Arduino Vendor ID { PendingIntent pi = PendingIntent.getBroadcast(this, 0, new Intent(ACTION_USB_PERMISSION), 0); usbManager.requestPermission(device, pi); keep = false; } else { connection = null; device = null; } if (!keep) break; } } }
Теперь давайте определим BroadcastReceiver для приема широковещательных сообщений, чтобы запросить у пользователя разрешения, а также для автоматического запуска соединения, когда устройство подключено, и закрытия соединения, когда оно отключено.
// Приемник широковещательных сообщений для автоматического запуска и закрытия последовательного соединения. private final BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(ACTION_USB_PERMISSION)) { boolean granted = intent.getExtras().getBoolean(UsbManager.EXTRA_PERMISSION_GRANTED); if (granted) { connection = usbManager.openDevice(device); serialPort = UsbSerialDevice.createUsbSerialDevice(device, connection); if (serialPort != null) { if (serialPort.open()) { //Установить параметры последовательного соедниения. setUiEnabled(true); //Включить кнопки в UI. serialPort.setBaudRate(9600); serialPort.setDataBits(UsbSerialInterface.DATA_BITS_8); serialPort.setStopBits(UsbSerialInterface.STOP_BITS_1); serialPort.setParity(UsbSerialInterface.PARITY_NONE); serialPort.setFlowControl(UsbSerialInterface.FLOW_CONTROL_OFF); serialPort.read(mCallback); // tvAppend(textView,"Serial Connection Opened!\n"); } else { Log.d("SERIAL", "PORT NOT OPEN"); } } else { Log.d("SERIAL", "PORT IS NULL"); } } else { Log.d("SERIAL", "PERM NOT GRANTED"); } } else if (intent.getAction().equals(UsbManager.ACTION_USB_DEVICE_ATTACHED)) { onClickStart(startButton); } else if (intent.getAction().equals(UsbManager.ACTION_USB_DEVICE_DETACHED)) { onClickStop(stopButton); } }; };
Если первое условие IF выполняется, и если пользователь дал разрешение, то начать соединение с устройством, у которого Vendor ID совпадает с необходимым нам Vendor ID. Кроме того, если принято широковещательное сообщение о подключении или отключении устройства, вручную вызывать методы onClick для кнопок Start и Stop . SerialPort определяется с использованием устройства и соединения в качестве аргументов. В случае успеха открыть SerialPort и установить соответствующие параметры. Значения параметров для Arduino Uno равны: 8 бит данных, 1 стоповый бит, бита четности нет, управление потоком выключено. Скорость передачи данных может быть 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 или 115200 бит/с, но мы будем использовать стандартные 9600 бит/с.
Прием данных от устройства
Во фрагменте кода выше обратите внимание на строку, содержащую serialPort.read(mCallback) . Здесь функции read передается ссылка на объект Callback , который будет автоматически срабатывать при обнаружении входящих данных.
UsbSerialInterface.UsbReadCallback mCallback = new UsbSerialInterface.UsbReadCallback() { // Определение метода обратного вызова, который вызывается при приеме данных. @Override public void onReceivedData(byte arg0) { String data = null; try { data = new String(arg0, "UTF-8"); data.concat("/n"); tvAppend(textView, data); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } };
Полученные данные будут в форме необработанных байтов. Нам придется перекодировать их в читаемый формат, например, UTF-8. Затем они добавляются в TextView с помощью специального метода tvAppend() . Это делается так потому, что любые изменения в пользовательском интерфейсе могут выполняться только в потоке пользовательского интерфейса. Так как данный Callback будет запущен, как фоновый поток, то он не может напрямую повлиять на пользовательский интерфейс.
Private void tvAppend(TextView tv, CharSequence text) { final TextView ftv = tv; final CharSequence ftext = text; runOnUiThread(new Runnable() { @Override public void run() { ftv.append(ftext); } }); }
Передача данных на устройство
Передача данных относительно проста по сравнению с чтением данных с устройства. Это простой вызов функции с байтами данных, которые необходимо передать, в качестве аргумента. Это будет реализовано в методе onClick кнопки Send .
SerialPort.write(string.getBytes());
Закрытие соединения
Чтобы закрыть соединение, просто закройте последовательный порт.
SerialPort.close();
Манифест приложения
Манифест объявляет, какие дополнительные разрешения могут потребоваться приложению. Единственное необходимое нам разрешение - это разрешение сделать телефон USB хостом. Добавьте следующую строку в манифест:
Приложение можно заставить запускаться автоматически, добавив фильтр интентов в главную активность MainActivity . Этот фильтр интентов будет срабатывать при подключении любого нового устройства. Вид устройства может быть указан явно с помощью ID поставщика (Vendor ID) и/или ID продукта (Product ID) в XML файле.
Обратите внимание на строку " android:resource="@xml/device_filter ". Она говорит компилятору, что он может найти свойства устройства в файле с именем device_filter в каталоге src/main/res/xml , поэтому создайте подкаталог " xml " в каталоге src/main/res и поместите в него файл со следующим содержанием:
Тестирование приложения
Соберите приложение и запустите его на своем смартфоне. Теперь запустите Arduino IDE и настройте Arduino для простого эхо всего, что плата будет принимать через последовательный порт. Вот очень простой код, помогающий сделать это:
Void setup() { Serial.begin(9600); } void loop() { char c; if(Serial.available()) { c = Serial.read(); Serial.print(c); } }
Теперь подключите Arduino к microUSB порту телефона, используя OTG кабель. Приложение должно запуститься автоматически. Попробуйте послать какой-нибудь текст, и те же данные будут возвращены обратно!
Заключение
Данная статья показывает, как Arduino может общаться с вашим смартфоном. И возможности использования этого бесконечны! В случае, когда необходимы данные с любого датчика, которого нет среди встроенных в смартфон, можно воспользоваться любым микроконтроллером для считывания данных с этого датчика и передачи их на смартфон. В следующей статье будет показано, как подключить смартфон к Arduino, используя популярный bluetooth модуль HC05.
Кто не хочет избавиться от этих громоздких кнопок и запутанных проводов во время работы над проектами? Приложения для удаленного управления Arduino на Android предоставляют графический интерфейс пользователя (GUI) для легкого управления микроконтроллером.
Созданная в 2003 году платформа Arduino быстро попала на глаза сообществам с открытым исходным кодом и любителям радиоэлектроники из-за её низкой цены, тонн онлайн-учебников и многомиллионного поддерживающего сообщества. Платы поставляются с различными микропроцессорами и микроконтроллерами, наиболее популярными среди которых являются с Atmega328. Благодаря большому количеству коммерчески доступных модулей расширения эти итальянские платы стали выбором для новичков для исследования мира встроенных систем.
1. Arduino Bluetooth Controller
Это приложение имеет простой пользовательский интерфейс и его легко настроить. Соедините Android с модулем Bluetooth, подключенным к Arduino. Можно подключаться в 4 разных режимах:
- Режим контроллера: этот режим представляет собой интерфейс игрового контроллера. При нажатии любой из экранных кнопок будет отправлена соответствующая команда на Arduino. Легко управляйте своим роботом с помощью этого приятного интерфейса.
- Режим переключателя: этот режимсостоит из одной кнопки, которую вы можете использовать для дистанционного управления переключателем.
- Режим диммера: режим диммера может отправлять изменяющиеся значения в Arduino. Очень полезно, когда нужно фиксировать такие данные, например, как яркость и скорость.
- Режим терминала. Отправьте свои пользовательские команды в этом режиме и напишите несколько строк кода на вашем Arduino, чтобы декодировать команды.
2. Bluetooth Controller 8 Lamp
Благодаря поддержке модулей Bluetooth HC-05, HC-06 и HC-07, это приложение позволяет контролировать до 8 каналов. Оно имеет простой пользовательский интерфейс, состоящий из 8 кнопок для соответствующих каналов.
Кнопки также предназначены для одновременного переключения всех каналов. В расширенных руководствах также приводятся примеры кода.
У Arduino недостаточно памяти и вычислительной мощности для эффективного распознавания речи. Что если мы сможем использовать функцию распознавания речи Android для отправки команд на Arduino?
Это именно то, для чего это приложение создано. Оно принимает речевой ввод и отправляет его в Arduino через Bluetooth в виде строки.
4. RemoteXY: Arduino Control
Приложение позволяет управлять Arduino с помощью Bluetooth, Wi-Fi и даже через Ethernet. Создайте свой собственный уникальный графический интерфейс для этого приложения, посетив веб-сайт приложения - remotexy. Получайте удовольствие от создания кнопок, переключателей, слайдеров, джойстиков и других элементов GUI для управления вашим Arduino.
Кроме того, оно позволяет подключаться через облачный сервер, поэтому ваши устройства будут доступны из любой точки мира.
5. Virtuino
Virtuino позволяет визуализировать ваши проекты, как никакое другое приложение. Контролируйте одновременно несколько плат Arduino через Bluetooth, Wi-Fi, Интернет или даже через SMS.
Создавайте визуальные интерфейсы для светодиодов, переключателей, диаграмм, аналоговых инструментов, счетчиков и многого другого. Оно поставляется с поддержкой библиотеки и множеством обучающих программ (включая видеоуроки), которые помогут вам в этом процессе. Добавьте несколько строк кода к существующим примерам, и можно начинать изобретать.
6. Blynk
Благодаря красивому дизайну Blynk позволяет создавать пользовательские интерфейсы для Arduino и управлять ими с помощью USB, ethernet, Wi-Fi и Bluetooth. Совместное использование проектов стало проще, просто поделитесь ссылкой на него.
7. IoT Wifi Controller
IoT Wifi Controller имеет уникальный интерфейс, который отображает конфигурацию каждого из контактов IO Arduino. Переключайте значения высокого или низкого уровня GPIO и просматривайте его в режиме реального времени. Также отображается значение ADC. Оно подключается к плате, используя ваш телефон или через маршрутизатор.
Вы нашли для себя в этом списке приложение Android, чтобы контролировать Arduino? Поделитесь своими отзывами и предложениями в комментариях в нашей группе ВКонтакте.
Связка смартфона Andoid и Arduino предоставляет огромные возможности для создания современных проектов, упрощая удаленное программирование, управление и синхронизацию данных. Мобильные приложения на смартфоне дают взаимодействовать с реальным физическим миром из любой точки земли с помощью привычных всем гаджетов. Представляем вам обзор Android приложений для работы с Arduino. Для простоты мы выбрали несколько видов приложений, предназначенных для работы с ардуино: приложения, позволяющие создавать скетчи, справочники и Bluetooth/Wi-fi-контроллеры.
ArduinoDroid – это бесплатное приложение, которое позволяет редактировать, компилировать и загружать эскизы к вашей плате Arduino прямо с телефона или планшета Android. Отличительной чертой этой программы является то, что в нее можно загружать уже готовый запрограммированный код или создавать новый. В случае с неполадками или сбоями программы, открытый код можно всегда отредактировать.
В настоящее время поддерживаются только платы Arduino Uno R3 и платы на базе FTDI (Duemilanove, Diecimila), но планируется поддержка Mega, Due и Nano. Другие функции, которые необходимо реализовать, включают расширенную настраиваемую подсветку синтаксиса, интеллектуальные подсказки кода (автозаполнение) и интеграцию сторонних приложений (руководства, запросы на компиляцию эскизов).
Стоит отметить то, что с помощью этого приложения начинают все осваивать ардуино, к тому же клон-плата Arduino и USB кабель OTG обойдутся всего в пару долларов.
Bluino Loader – Arduino IDE
Bluino Loader – Arduino IDEBluino Loader – это программное обеспечение для ардино (Arduino IDE), которое позволяет быстро и легко компилировать ваш код для создания файла и загружать его на плату ардуино через USB OTG.
Arduino Bluetooth Control
Приложение ABC – это простое приложение, которое предназначено для того, чтобы контролировать контакты Arduino, и иметь доступ основным функциям управления. Arduino Bluetooth Control используется для управления и/или мониторинга контактов Arduino через Bluetooth. Приложение является автономным, и вся инициализация выполняется из Arduino. Важно понимать, что приложение предназначено именно для контактов ардуино, а не для управления.
Работа приложения осуществляется при помощи нескольких инструментов:
- Metrics – этот инструмент осуществляет передачу данных с устройства ардуино, которые передают сигнал на телефон о сбоях или об изменениях значений. После того как кнопка сигнализации срабатывает, на телефон поступает уведомление о приостановки работы. Также есть функция встряхивания, при помощи которой отправлять данные путем встряхивания телефона.
- Кнопки со стрелками – здесь работа осуществляется кнопками, которые полностью регулируют отправку данных на плату.
- Терминал – стандартный терминал, получающий и отправляющий данные на плату с отметками времени.
- Кнопки – в горизонтальной ориентации доступно 6 полностью функционированных кнопок для отправки данных на системную плату ардуино.
- Accelometer – используются команды при помощи жестов. Ваш смартфон может стать рулем для управления вашим роботом.
- Голосовое управление – если вы когда-либо хотели пообщаться с роботами, то этот инструмент для вас. При помощи голосовой связи можно создавать собственные команды и использовать их для управления ардуино.
Количество скачиваний: более 50.000
Arduino Bluetooth Controller
Arduino Bluetooth Controller – это простое и интуитивно понятное приложение для управления arduino через bluetooth с android. Работа приложения осуществляется в 4-х различных режимах:
- Режим контроллера: здесь приложение осуществляет демонстрацию интерфейса в виде игрового контроллера. Управление робота осуществляется при помощи экранных кнопок, что упрощает работу с ардуино.
- Режим переключения: переключение осуществляется при помощи одной кнопки, которая предназначена для удаленного доступа к переключателю.
- Режим диммера: в этом режиме доступна функция отправления значения в Arduino, которая позволяет удаленно регулировать яркость или скорость.
- Режим терминала: возможность отправлять индивидуальные команды для декодирования команд в самом ардуино.
Количество скачиваний: более 100.000
Приложение создано при помощи модулей Bluetooth HC-05, HC-06 и HC-07. Контроль 8 каналов позволяет быстро и удобно отрегулировать работу ардуино. В интерфейсе предоставлено 8 кнопок, которые соответствуют каждой лампе.
Количество скачиваний: более 50.000
BT Voice Control for Arduino
С помощью этого приложения можно отправлять и получать данные с таких устройств, как ультразвуковой датчик, подключенный к Arduino через Bluetooth. Для подключения устройства Arduino к мобильному телефону через Bluetooth был использован модуль HC-05. После подключения ультразвуковой датчик будет передавать расстояние до ближайшего объекта, и это будет отображаться на мобильном телефоне в этом приложении.
Arduino был запрограммирован на список распознаваемых команд, таких как «Вперед», «Назад», «Влево», «Вправо» и «Стоп». Важно знать, что ультразвуковой датчик отправляет расстояние до ближайшего объекта в Arduino, а затем отправляет его в приложение с помощью модуля Bluetooth HC-05.
Количество скачиваний: более 10.000
RemoteXY: Arduino Control
Осуществление управления это ардуино адроид приложения проходит через Bluetooth, Wi-Fi или интернет. Приложение позволяет пользователю сделать свой индивидуальный графический интерфейс, посетив его сайт http://remotexy.com . Удобное создание кнопок, переключателей и полная регулировка ардуино не даст отойти ни на шаг. Также доступно подключение через облачный сервер, что дает преимущество перед другими приложениями.
Количество скачиваний: более 50.000
Virtuino – это бесплатное приложение из подкатегории System Maintenance, входящей в категорию System Utilities. Оно разрешает совмещать проекты в единое целое, что позволяет управлять более одной платы одновременно через Bluetooth или Wi-fi.
Создавайте визуальные интерфейсы для светодиодов, переключателей, диаграмм, аналоговых приборов, счетчиков и многого другого. Он поставляется с библиотечной поддержкой и множеством учебных пособий (включая видеоуроки), которые помогут вам в этом процессе. Добавьте несколько строк кода в приведенные примеры, и все готово. В настоящее время приложение доступно на английском языке. Blynk
Это уникальное приложение c прекрасным дизайном разрешает разрабатывать проекты, которые напрямую имеют доступ к триггеру событий на плате ардуино. Однако, важно знать, что для работы в приложении необходимо интернет-подключение, иначе работа попросту невозможна. Независимо от того, подключен ли ваш Arduino или к Интернету через Wi-Fi, Ethernet или этот новый чип ESP8266, Blynk выведет вас в интернет и будет готов к работе.
Настройка занимает около 5 минут, после чего вы можете приступить к реализации своих проектов. Также программа поддерживает аппаратное обеспечение по вашему выбору.
Количество скачиваний: более 500.000
IoT Wi-Fi контроллер
Этот Wi-Fi контроллер содержит интерфейс, который показывает конфигурацию каждого ввода-вывода Arduino. Возможность переключать значения GPIO в реальном времени, а также показ значений АЦП позволят легко управлять вашим гаджетом.
Количество скачиваний: более 5.000
Это одно из важных приложений для обучения в ардуино. Новым пользователям потребуется всего пару недель для освоения материала с этим приложением. Приложение доступно в оффлайн режиме, что позволяет изучать материал в любом месте без подключения к интернету. Включены такие категории как: операторы, данные, функции и некоторые библиотеки Arduino.
Количество скачиваний: более 50.000