RemoteXY — простой способ дистанционного управления со смартфона

Часто возникает задача дистанционного управления устройством. Классически: берется пульт (RF, IR и т.п.), в устройстве устанавливается приемник команд и… далее дело техники. Однако сейчас у каждого есть пульт в кармане — смартфон. И вполне будет логично — не плодить отдельные пультики ДУ, а использовать его в качестве универсального устройства управления.
Из беспроводных технологий, доступных в смартфонах в общем-то наиболее просто доступны — две: Bluetooth и Wi-Fi. Оба варианта уже рассматривались здесь ранее: Wi-Fi; Bluetooth.

Однако есть простое универсальное решение, не требующее большого ума и понимания принципов работы беспроводных технологий — проект RemoteXY.

В проекте много есть чего, но основной принцип такой: есть мобильное приложение, которое загружается на смартфон. Для него надо разработать интерфейс (это довольно громко сказано — на самом деле надо «накидать» на «рабочий стол» создаваемого проекта «кнопки», «движки», «выключатели» и прочее. В свойствах каждого элемента указать — каким выводом, например, Arduino, он управляет. Выбрать канал управления: Bluetooth, Wi-Fi… Указать каким именно модулем организуется беспроводное соединение и на каких выводах «оно сидит». Затем автоматом генерируется код для Arduino. «Заливаем» скетч. По-сути, все! Далее наше устройство само подскажет приложению — что надо нарисовать на смартфоне — пульт ДУ готов!

Рассмотрим пример с вышеуказанного сайта — самый первый, типа «Helo, world!» — т.е. помигаем светодиодом. Однако мигать им мы будем дистанционно, нажимая кнопку на экране нашего смартфона.

У нас имеется стандартная плата Arduino и модуль Bluetooth HC-04. Так же подойдет практически любая плата Arduino и любой модуль Bluetooth серии HC-04 (05/06/07). Данные модули уже по умолчанию работают в режиме UART — прямой передачи данных, и не требуют настроек.

Входим в редактор интерфейсов на сайте и рисуем наш интерфейс. Интерфейс будет состоять всего из одной кнопки. Кликаем мышкой в элемент управления «Кнопка» и перетягиваем ее в рабочее поле. Так как кнопка всего одна, ее можно растянуть на весь экран. Для этого выделяем кнопку, и за синие квадратики окантовки выделения изменяем ее размер, мышкой передвигаем ее на необходимое место.example_en_01_05
Наш проект интерфейса готов. Перед тем как получить исходный код для нашего микроконтроллера, необходимо указать, для какой платформы мы хотим его получить. Наша платформа — Arduino. Для связи с модулем Bluetooth будем использовать SoftwareSerial. Это даст нам возможность подключить Bluetooth модуль практически к любым пинам микроконтроллера. Данную настройку производим в панели настройки проекта.

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

Нажмите на ссылку «Загрузить» и скачайте код скетча одним zip архивом. Распакуйте его и откройте файл project.ino в среде разработки Arduino.
Обратите внимание, что в проекте (функция main) уже в качестве примера наша кнопка автоматом завязалась на пин 13. На этом пине на стандартных платах Arduino расположен светодиод.

Теперь нам необходимо физически подключить Bluetooth модуль к плате Arduino. Модуль HC-04 имеет 4-е контакта (они подписаны прямо на плате). Два из них — питание модуля. Их подключаем стандартно к питанию +5V на плате Arduino.

Остальные два — это шина UART интерфейса: RX и TX, отвечающие за прием и передачу данных. Контакт RX необходимо подключить к пину на Arduino, который у нас имеет функцию TX, а контакт TX к пину на Arduino, имеющему функцию RX.

Вот теперь можно залить исходный код в микроконтроллер. ЗАГРУЖАЕМ!

Качаем приложение и подключаемся к нашему Arduino
Заходим в раздел сайта «Скачать мобильное приложение» и загружаем на смартфон или планшет приложение. Конечно же ваш смартфон/планшет должен иметь встроенный Bluetooth.

Запускаем приложение. Включаем Bluetooth, если он не включен. Автоматически начинается поиск устройств. Все найденные устройства будут показаны в списке.
По умолчанию модули HC-04 (05/06/07) имеют запрограммированное имя «INVOR» или «HC-04» («HC-05″,»HC-06»). Если в списке устройств появилось такое — то это ваше. Щелкаем в него.

После некоторого времени, необходимого на соединение с модулем, вам будет предложено ввести пароль для сопряжения. Опять же модули серии HC-04 (05/06/07) имеют запрограммированный пароль «1234». Вводим его. И … нам открылся наш интерфейс с большущей кнопкой на весь экран!
Нажимаем на эту огромную кнопку и наблюдаем, как загорается светодиод на плате Arduino! Все просто, все работает!

example_ru_01_04b

RemoteXY — простой способ дистанционного управления со смартфона: 1 комментарий

  1. В этом примере наглядно видно, к чему приводят функции типа delay в коде, где используется сервис RemoteXY. Команда, отданная со смартфона, доходит до контроллера только через 5-10 секунд.

Добавить комментарий

Ваш e-mail не будет опубликован.

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных".