Главная » Arduino
Призовой фонд
на май 2017 г.
1. Тестер компонентов MG328
Паяльник
2. Осциллограф DSO138
Паяльник
3. Регулируемый паяльник 60 Вт
Паяльник
4. 100 руб.
От пользователей

Управляем любой ДУ техникой дома по ИК с вебстраницы

Обычно пульты дистанционного управления телевизора, кабельной приставки, Blu-ray плеера и стерео системы не только занимают место, но и затрудняют работу по управлению всеми этими устройствами. Вы можете рассмотреть вариант покупки универсального пульта, но они обычно дорогие и иногда не обеспечивают требуемый уровень управления или интерфейс. В данном проекте создается устройство, которое может отправлять и принимать коды пульта управления со стандартной веб-страницы. Вы сможете запрограммировать требуемую функциональность с любого смартфона или компьютера!

В данном проекте используется модуль Arduino Yún, который специально разработан для управления устройствами с поддержкой сетевого соединения. Yún имеет два процессора, первый из которых запускает операционную систему Linux и может подключаться к проводной или беспроводной сети. Второй процессор выполняет те же функции, что и процессор в модуле Arduino Leonardo. Поэтому он обеспечивает хорошую совместимость с библиотеками Arduino и аппаратными средствами.

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

Отправка команд для вашего мультимедийного центра будет осуществляться с помощью простого веб-интерфейса, который запускает локально на модуле Yún и доступен для большинства современных веб-браузеров. Веб-сайт облегчает работу по управлению инфракрасным устройством и позволяет обрабатывать даже несколько команд одновременно. Например, при нажатии кнопки ‘Watch Movie’ (Просмотр фильма) может отправляться сигнал для включения телевизора, Blu-ray плеера и его подключения к входу телевизора.

Для выполнения данного проекта нужен некоторый опыт по запуску скетчей Arduino и использованию инструментов с командной строкой. Электронные компоненты проекта можно установить на макетной плате.

Шаг #1: Подключение компонентов

  • Подключите инфракрасный светодиод к модулю Yún, проложив провод от анода светодиода (длинный вывод) к цифровому выводу 13 модуля Yún.
  • Используя резистор номиналом 100 Ом, подключите катод светодиода (более короткий вывод) к земляному выводу инфракрасного датчика (средний вывод датчика).
  • Подключите вывод распознавания detect инфракрасного датчика (самый левый вывод, если смотреть спереди датчика) к цифровому выводу 11 модуля Yún.
  • Подключите заземляющий вывод инфракрасного датчика (средний вывод) к заземляющему выводу модуля Yún.
  • В заключение, подключите питающий вывод датчика (крайне правый вывод, если смотреть спереди датчика) к выводу 5 вольт модуля Yún.

Шаг #2: Установка программных зависимостей

  • При вставленной MicroSD карте в модуль Yún, включите Yún, подключив USB Micro B кабель к модулю Yún и USB адаптеру питания.
  • Убедитесь в том, что Yún настроен и подключен к беспроводной сети. Настройка модуля Yún указана на данной странице.
  • Подключитесь к командной строке Yún, используя SSH. Данный процесс описан на данной странице.
  • После подключения к командной строке вы увидите версию микропрограммного кода. Данный проект протестирован с версией BusyBox v1.19.4 от 2014-04-10 и выше. Если вы используете более старую версию, тогда выполните следующие инструкции.
  • В командной строке выполните следующие команды для обновления диспетчера пакета:
opkg update
  • Далее установите PIP, диспетчер пакета Python:
opkg install distribute && opkg install python-openssl && opkg install python-expat && easy_install pip

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

  • Создайте директорий на SD карте для сохранения пакетов Python:
mkdir /mnt/sda1/python-packages
  • Установите интегрированную среду Flask Python:
pip install --target /mnt/sda1/python-packages flask

Вы можете увидеть некоторые предупреждающие сообщения, однако их можно проигнорировать.

  • Обновите путь поиска файлов пакета Python:
echo "export PYTHONPATH=/mnt/sda1/python-packages" >> /etc/profile
  • Создайте директории, в которые среда Arduino IDE будет подгружать файлы веб-сервера:
mkdir /mnt/sda1/Arduino

mkdir /mnt/sda1/arduino/www
  • Перезагрузите Arduino Yún, чтобы обновить путь поиска файлов Python.

Шаг #3: Загрузка скетча Arduino

  • Загрузите библиотеку IR library. (Arduino IRremote, библиотека создана Ken Shirriff.)
    Распакуйте архив, переименуйте папку с Arduino_IRremote-master на Arduino_IRremote, и импортируйте папку Arduino_IRremote как библиотеку в среду разработки Arduino IDE. Подробная информация указана здесь.
  • Загрузите скетч Smart Remote Control Arduino из zip архива отсюда.
    Распакуйте архив и перетащите папку SmartRemoteControl в папку со скетчем Arduino. Откройте скетч в Arduino IDE.
  • Скомпилируйте скетч и загрузите его в модуль Yún по WiFi, выбрав соответствующую опцию в списке портов Arduino Yún. Убедитесь в загрузке скетча по WiFi, чтобы требуемые скрипты python скопировались в модуль Yún! После загрузки скетча откройте Serial Monitor в среде Arduino IDE (это может занять несколько минут).
  • Нацельте пульт дистанционного управления на инфракрасный датчик и нажмите несколько кнопок на пульте. Вы должны увидеть код на мониторе Serial Monitor. Если код не отображается, тогда проверьте подключение цепей датчика.

Шаг #4: Конфигурирование кодов пульта дистанционного управления

  • Теперь вы можете сконфигурировать операции (activities) и коды пульта дистанционного управления, связав их с XML файлом конфигурации. Используя текстовый редактор, откройте файл activities.xml в поддиректории www папки скетча на вашем ПК. (Из Arduino IDE, нажмите меню Sketch и выберите "Show Sketch Folder").
  • Примите во внимание формат примера операций в файле. Каждый блок операции определяет имя атрибута, которое будет отображаться как кнопка на веб-странице пульта. Внутри каждой операции блок кодов содержит последовательность инфракрасных кодов, которые необходимо выполнить. В примере сначала выполняется команда Sony A90 (вкл/выкл питания) для включения телевизора, затем команда Panasonic (вкл/выкл питания) для включения Blu-ray плеера. Каждый код имеет строковый параметр, который является прямым выходом данных обнаруженного кода пульта из скетча Arduino.
  • Добавьте свои команды в файл, скопировав пример и изменив названия и коды. Когда пульт нацелен на инфракрасный датчик, нажмите кнопки и внимательно запишите определенную инфракрасную кодовую последовательность. Скопируйте последовательность в конфигурацию кода операции.
  • Как только вы получите нужный файл конфигурации, сохраните файл и повторно загрузите скетч в модуль Yún по WiFi. Для обновления файла конфигурации измените файл и загрузите скетч по WiFi с использованием среды Arduino IDE.

Шаг #5: Запуск сервера с веб-интерфейсом

  • Для запуска сервера подключите модуль Yún через SSH. Для запуска сервера выполните следующую команду:
python /mnt/sda1/arduino/www/SmartRemoteControl/server.py
  • При успешном запуске сервера вы увидите сообщение:
* Running on http://0.0.0.0:5000/

* Restarting with reloader
  • Если вы увидите ошибку, тогда проверьте все зависимости, установленные на предыдущих этапах.
  • В веб-браузере введите адрес http://arduino.local:5000/. Если браузер не поддерживает mDNS URL (как Windows, Android, и некоторые дистрибутивы Linux) введите http://arduino_ip_address:5000/, где arduino_ip_address - это IP адрес вашего Arduino Yún. IP адрес располагается в нижней части среды Arduino IDE при подключении Yún (рисунок 2).
  • После загрузки страницы вы увидите список сконфигурированных операций для кнопок. Если вы увидите ошибку, тогда проверьте правильность установки зависимостей, загруженный скетч, и что сервер работает без ошибок.
  • Для остановки сервера нажмите комбинацию Ctrl-C в командном окне, в котором запускался сервер.

Шаг #6: Использование веб-интерфейса

  • Для использования умного пульта нацельте светодиод на электронные устройства и нажмите одну из активных кнопок. Если требуемое устройство не включается, попытайтесь приблизить светодиод ближе к требуемым устройствам. Зона действия светодиода небольшая, около 6 футов. Необходимо добавить транзистор для увеличения зоны действия светодиода. Подробная информация указана здесь.
  • Вы также можете протестировать инфракрасные коды, открыв Yún Serial Monitor в среде Arduino IDE и отправив инфракрасный код как команду. Например, отправка кода "SONY: C A90" (без кавычек) приведет к отправке аппаратными средствами команды на включение Sony A90. ("C" представляет собой бит длины команды,12, преобразованный в шестнадцатеричный вид).
  • Для автоматического запуска сервера при загрузке отредактируйте файл /etc/rc.local в модуле Yún (с помощью редактора nano или vi) и добавьте следующую строку перед строкой "exit 0" в конце:
PYTHONPATH=/mnt/sda1/python-packages python /mnt/sda1/arduino/www/SmartRemoteControl/server.py
  • Для речевого распознавания запустите браузер Google Chrome. Нажмите кнопку 'Speak' и браузер Chrome запросит разрешение на использование микрофона. После этого произнесите название активной операции и подождите, пока она не будет распознана. Например, для выполнения операции просмотра фильма 'Movies', нажмите кнопку 'Speak', и скажите в микрофон слово 'Movies' (Фильмы). Фразы, такие как 'Play Movies' (Просмотреть фильмы) или 'Run Movies' (Запустить фильмы), не поддерживаются — распознается только четкое название активной операции.

Оригинал статьи

Теги:

Опубликована: 0 1
Я собрал 0 0
x

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

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (0) | Я собрал (0) | Подписаться

Статью еще никто не комментировал. Вы можете стать первым.
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическое сопротивление?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Raspberry Pi 2
Raspberry Pi 2
UNI-T UT-61A Набор для сборки - LED лампа
вверх