Передача данных с ардуино на телефон. Создаем 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 кода. Поскольку код для кнопок похож, здесь он не приводится. Полный код можно скачать по ссылке в конце статьи.

2024 wisemotors.ru. Как это работает. Железо. Майнинг. Криптовалюта.