IT News: Digital Camera, OS, Laptop, Smartphone, Smart TV, Sound...

The Author's Project by Valeri N.Kravchuk
Сайт проверен Dr.Web
Меню сайта
  • Главная страница
  • Информация о сайте
  • Дневник
  • Каталог файлов
  • Обратная связь
  • Каталог сайтов
  • FAQ
  • Доска объявлений
  • Форум
  • Фотоальбом
  • Категории раздела
    Автомобильные гаджеты, ремонт... [220]
    Безопасность IT [484]
    Блоки питания, Power Banks, зарядки... [490]
    Видеорегистраторы [220]
    Гаджеты для спорта и здоровья... [190]
    Гаджеты, аксессуары... [625]
    Измерительная техника, инструменты [447]
    Накопители данных [226]
    Нетбуки, Ноутбуки, Ультрабуки [679]
    Мультиварки, блендеры и не только... [158]
    Планшеты [758]
    Радар-детекторы [26]
    Роботы-пылесосы [37]
    Своими руками [355]
    Сети, сетевые технологии, оборудование... [269]
    Смартфоны [4964]
    Фотокамеры, объективы, искусство фотографии.. [542]
    Умный дом [47]
    Электронные книги [96]
    CB, LPD, PMR- связь... [169]
    DECT, IP-телефоны [18]
    Drones, boats, cars... [108]
    electric cars [35]
    GPS-навигаторы, трекеры... [51]
    Linux и не только [4380]
    mini computers и не только... [409]
    News IT, Это интересно, ликбез... [1112]
    Smart TV, UltraHD, приставки, проекторы... [414]
    Smart Watch [263]
    Sound: наушники, плееры, усилители... [616]
    Windows 10... [298]
    Windows 11 [28]
    Погода

  • Метеорадар БРЕСТ
  • Погода в Бресте от www.yr.no

    Яндекс.Погода БРЕСТ

  • Интересные ссылки

    COMPIZOMANIA

    Наш опрос
    Оцените мой сайт
    Всего ответов: 1338
    Статистика
    Анализ веб сайтов

    Яндекс.Метрика

    Рейтинг@Mail.ru Яндекс цитирования

    Russian America Top. Рейтинг ресурсов Русской Америки.

    eXTReMe Tracker

    Правильный CSS!


    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Locations of visitors to this page
    Форма входа
    Главная » 2014 » Июнь » 19 » RaspberryPi + Pioneer System Remote
    07:51
    RaspberryPi + Pioneer System Remote

    RaspberryPi + Pioneer System Remote

     

     

     

     

    В статье кратко описана шина Pioneer System Remote (SR), представлены схема подключения RaspberryPi к шине System Remote и CLI программа на языке C для RaspberryPi, управляющая усилителем Pioneer M-10X через GPIO. В качестве разоблачения приведён способ применения этой программы.

    В двух словах о Pioneer System Remote


    Некоторые домашние аудио/видео компоненты производства Pioneer Corporation могут быть соединены друг с другом шиной управления, которая называется SR (аббревиатурное сокращение от System Remote). Целью такого объединения отдельных компонентов в единую систему является, конечно же, удобство потребителя, ведь при этом целой грядкой устройств можно управлять с одного пульта ДУ.

    Коннекторы этой шины обозначаются как CONTROL IN и CONTROL OUT и выполнены в виде моно гнёзд mini jack 3.5мм. Поэтому соединения блоков по шине SR можно производить обычными двухконтактными аудио кабелями с моно штекерами mini plug 3.5мм (разъём типа TS, от Tip-Sleeve). Устройства соединяются последовательно, гирляндой: выход CONTROL OUT одного компонента соединяется с входом CONTROL IN другого. Контакт Tip разъёма несёт собственно сигнал шины SR, а вот с контактом Sleeve дело чуть сложнее. На некоторых компонентах (например, усилитель M-10X) здесь честная «земля», и тогда всё как положено: Tip — сигнал, Sleeve — «земля». Но есть компоненты (как правило, проигрыватели), которые используют контакт Sleeve разъёма шины SR для передачи цифрового аудио сигнала. В этом случае «земля» берется с корпуса компонента или с «земли» аналогового аудио разъёма. На самом деле, если «земли» компонентов каким-либо образом соединены, то про контакт Sleeve разъёма шины SR можно вообще забыть.

    Управляющие коды шины SR являются ни чем иным, как демодулированными сигналами пульта ДУ. То есть шина SR это попросту проводной ретранслятор очищенных от несущей частоты IR команд. (В IR пультах модуляция кодов управления несущей частотой ~40кГц применяется для того, чтобы, во-первых, снизить энергозатраты на передачу и увеличить срок службы батареек пульта, а во-вторых, иметь возможность отстраиваться от сигналов чужих пультов ДУ). При поступлении IR команды от пульта ДУ активный SR-приёмник осуществляет ретрансляцию этой команды по шине SR. Команду видят все устройства, подключенные к шине. Компоненты производства Pioneer Corporation могут быть оснащенны одним разъемом шины SR (только входом либо только выходом), или двумя — и входом, и выходом. Вход, CONTROL IN, характеризуется наличием интерпретатора команд (специальной микросхемы; например, в усилителе M-10X это микросхема PD5637A), который и отвечает за декодирование и исполнение команд устройством. Однако следует заметить, что System Remote является именно общей шиной, и коды управления ретранслируются как на выходы CONTROL OUT, так и на входы CONTROL IN.

    В простейшем случае управляющие коды являются двухбайтовыми, где первый байт это тип устройства, а второй байт — собственно код команды для исполнения на этом типе устройств. Ниже для справки приведен список типов устройств шины SR (первый байт команды управления):
     

    • 0x73 Projectors
    • 0xA1 Tape decks (Blu-ray Players)
    • 0xA2 CD Players
    • 0xA3 DVD Players
    • 0xA4 Tuners
    • 0xA5 Amplifiers (AV Receivers)
    • 0xA8 Laserdisc Players
    • 0xAB Video Recorders (DVD Recorders)
    • 0xAA Plasma Displays


    Устройства на шине SR не имеют выделенных адресов, шина не является адресной. Поэтому, например, если к шине подключены два CD проигрывателя, то многие команды с типом устройства 0xA2 будут выполнять оба проигрывателя одновременно. Кодов команд много, наборы команд зависят от типа устройства, года выпуска и даже от модели компонента. На одном из сайтов Pioneer Corporation, в разделе Custom Install по этой ссылке можно скачать коды устройств и команд управления для некоторых конкретных моделей.


    Протокол передачи информации по шине System Remote довольно прост. Каждый компонент на контакте Tip разъёмов шины поддерживает +5В (TTL логика). Для отправки фрейма информации нужно в определённой последовательности и с определённой длительностью подавать на контакт Tip шины SR потенциал «земли» (0В). Pioneer, как и многие японские производители, использует в IR командах схему кодирования длительностью бита (bit-width codification), когда логический ноль кодируется импульсом длительностью 0,56мс а затем паузой 0,56мс, а логическая единица кодируется импульсом длительностью 0,56мс а затем паузой 1,68мс.

    Рисунок 1. Кодирование длительностью бита.

    Структура фрейма шины SR для двухбайтовых команд следующая:
     

    • заголовок фрейма: в течение 9мс на шине удерживается потенциал 0В (пульс), затем в течение 4,5мс потенциал +5В (пауза)
    • 8 бит: код типа устройства
    • 8 бит: побитовое отрицание кода типа устройства
    • 8 бит: код команды
    • 8 бит: побитовое отрицание кода команды
    • 1 бит: стоп-бит


    На рисунке ниже приведена осциллограмма фрейма 0xA55A38C7 шины SR, передающего команду power toggle (код команды 0x38) усилителю (код типа устройства 0xA5):
     


    Рисунок 2. Фрейм 0xA55A38C7 шины System Remote.
     

    Усилитель Pioneer M-10X


    Это усилитель мощности, из органов управления он имеет всего две кнопки: механическую кнопку Power и электронную кнопку Standby. Не густо. Но, к счастью, ещё он оборудован входом CONTROL IN шины System Remote и понимает три команды:

    • цикл питания (power toggle) 0xA538
    • включить питание (power on) 0xA558
    • выключить питание (power off) 0xA5D8


     

    Подключение RaspberryPi к шине Pioneer System Remote


    Шина System Remote имеет TTL логику, напряжение меняется в диапазоне от 0В до +5В. На выводах же GPIO RaspberryPi напряжение может меняться в диапазоне от 0В до +3,3В, при этом защиты от перенапряжения для этих выводов на плате не предусмотрено. Поэтому напрямую управлять шиной SR с вывода GPIO нельзя, необходимо использовать преобразователь уровня.

    Представленная здесь схема и является таким преобразователем. База транзистора Q1 через резистор R1 подключается к ножке P1-11 (GPIO17) RPi, коллектор транзистора через резистор R2 — к ножке P1-02 (5V) RPi, а эмиттер транзистора — к ножке P1-20 (GND) RPi. Программно управляя выводом GPIO17 (база транзистора Q1), на контакте Tip клеммника J1 (коллектор транзистора Q1) получаем сигнал нужного уровня для управляющих команд шины System Remote. Резистор R1 служит ограничителем тока базы, а резистор R2 — ограничителем тока коллектора транзистора. Когда на базе транзистора 0В (GPIO17 = 0), транзистор закрыт и на эмиттере удерживается потенциал +5В; когда на базе транзистора +3,3В (GPIO17 = 1), транзистор открыт и на эмиттере удерживается потенциал 0В. Поэтому, строго говоря, эта схема является инвертором сигнала с преобразованием уровня. На Рисунке 2 выше показаны осциллограммы работающей схемы: на верхнем графике — сигнал на коллекторе транзистора (шина SR), на нижнем графике — сигнал на базе транзистора (ножка GPIO17; реальный диапазон этого сигнала от 0В до +3,3В).





    Для реализации схемы понадобятся:
     

    • контактная макетная плата
    • транзистор КТ3102 (Q1)
    • резистор 1кОм (R1)
    • резистор 10кОм (R2)
    • клеммник с шагом контактов 2,54мм, для установки в макетную плату (J1)
    • моно штекер mini plug 3.5мм (разъём типа TS)
    • провода


    Чтобы не возиться с пайкой штекера, можно вместо него взять готовый моно кабель с mini plug 3.5мм, отрезать коннектор с одной стороны, а проводники подключить к клеммнику J1.

    Внимание! Будьте очень осторожны с пятивольтовыми ножками RaspberryPi (P1-02 и P1-04), ни в коем случае не закоротите случайно эти контакты с другими ножками платы, так как это выведет её из строя.
     

    Программа управления питанием усилителя Pioneer M-10X для RaspberryPi


    Исходный код программы для платформы Raspbian находится по этой ссылке. Код содержит вызов nice(-19), поэтому программа должна вызываться суперпользователем root. Для сборки программы нужно использовать команду:
     

    gcc -o m10xptgl m10xptgl.c
    


    После сборки нужно создать две символические ссылки с альтернативными именами m10xpon и m10xpoff на исполняемый файл:
     

    ln -s m10xptgl m10xpon
    ln -s m10xptgl m10xpoff
    


    Программа генерирует на ножке GPIO17 фрейм управляющей команды для усилителя Pioneer M-10X. Фактическое действие программы (генерируемый фрейм) зависит от имени, под которым программа запущена:
     

    • при запуске с именем m10xpon происходит включение усилителя (выход из состояния Standby, фрейм 0xA55A58A7)
    • при запуске с именем m10xpoff происходит выключение усилителя (переход в состояние Standby, фрейм 0xA55AD827)
    • при запуске с именем m10xptgl происходит переключение состояния питания усилителя (команда power toggle, фрейм 0xA55A38C7)


    В качестве необязательного аргумента программе можно указать целое число, в этом случае фрейм будет последовательно повторён столько раз, сколько задано аргументом командной строки.

    В целом проект простой, не сложнее учебного проекта по миганию светодиодом, только тут мы «мигаем» целым усилителем Pioneer.
     

    Применение



    Описанные в статье схему и программу удобно использовать, например, вместе с проектом shairport, потому что при этом мы получаем не только функцию AirPlay на старом усилителе, но и автоматическое включение и выключение усилителя on demand.

    Собрать проект shairport из исходных кодов можно при помощи последовательности следующих команд:
     

    apt-get install avahi-daemon mdns-scan libssl-dev libavahi-client-dev libasound2-dev
    apt-get install libao4 libao-dev
    apt-get install pulseaudio libpulse-dev
    cd /root/src; git clone --depth 1 https://github.com/abrasive/shairport.git shairport
    cd shairport
    ./configure
    make
    


    А запускать так:
     

    shairport -v --name="M10X" --on-start="/usr/local/sbin/m10xpon 10" --on-stop="/usr/local/sbin/m10xpoff 10"
    


    Спасибо за внимание.

    http://habrahabr.ru/post/226667/

    Категория: mini computers и не только... | Просмотров: 777 | Добавил: laptop | Рейтинг: 5.0/2
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк - единственный из зверей, который может пойти в бой на более сильного противника.
    Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...

    Праздники сегодня

    Поиск
    Календарь
    «  Июнь 2014  »
    ПнВтСрЧтПтСбВс
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    30
    Архив записей
    Друзья сайта
  • Официальный блог
  • JEEP - the best! Mercedes - the best! Автомобильный портал города Бреста: технические характеристики с фото, авторынок, автоспорт...
    Наша кнопка
    IT новости с моего лаптопа...

    Внимание!
    Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.
    Copyright Valeri N.Kravchuk © 2007-2024