Удалённое управление Azbox как персональный IPTV

Aleks-NN

Новичок
Добрый день!
Возникла потребность смотреть ТВ на другой стороне Земли где нет покрытия сигналом.
Взялся доработать лёгкую страничку для Удалённого управления Azbox.
Мне понравилось то, что получилось - с удовольствием делюсь :)
PS. До этого писал под ником CrazyAleks - что-то с лёту пароль не вспомнил, это я же ;)
 
Последнее редактирование:

Aleks-NN

Новичок
Назначение пакета доработки.
Удобство управления при удалённом просмотре.

HW, SW
Разработка и тестирование проводилось на Azbox Prenium HD+ 0.9.5400
Работа в браузерах Google Chrome, Mozilla Firefox

Введение и проблемы существующего решения.
Существующий пакет «AZBox WebIf Installer v.1.2» позволяет дистанционно управлять спутниковыми приёмниками Azbox
посредством виртуального пульта с посылкой кодов кнопок функцией key(code) через механизм запросов HTTP на скрипт
/cga-bin/RC с последующим перенаправлением кодов виртуального пульта на внутреннее ПО приёмника /MMP/usr/bin/td210_ip_remote.
Реализованная внешними разработчиками схема управления достаточно медленная
и стабильно срабатывает в реальных условиях с задержкой 2 секунды между нажатиями кнопок виртуального пульта.
При задержках 1 секунда на длинных последовательностях нажатий (например, включение трансляции в сеть –
7 нажатий: MENU DOWN DOWN OK UP UP OK) - реализованная схема ДУ регулярно сбоит.
После сбоя скрипта приёмник Azbox попадаем в промежуточное состояние,
выяснить в каком состоянии приёмник и вывести из него можно при просмотре скринов экрана и подавая команды с виртуального пульта.
Так же реализованная схема ДУ не позволяет выбирать каналы выше 9-го с цифровой клавиатуры.
С физического пульта можно выбрать канал набрав его номер на пульте.
При ДУ пауза между посылками кодов цифр 0..9 оказывается больше чем тайм-аут который ожидает приёмник для переключения канала,
поэтому при управлении через WEBif можно включить только каналы с 1 до 9.

Цель и Концепция доработки.
Для комфортного дистанционного использования приёмника Azbox в качестве персонального IPTV была поставлена задача реализовать следующие задачи:
- включение/выключение, переключение каналов, управление трансляцией с одной лёгкой странички;
- получать, хранить, проверять режим работы приёмника – чтобы не допускать некорректных действий пользователя и избежать перехода приёмника в промежуточное состояние;
- переключение каналов по номеру без использования виртуального пульта WEBif и трансляции скринов и OSD с приёмника.
За исходник для развития взят разработку «Easy Remote Control» (erc.htm) (С) vicazh с форума www.sat-expert.com
На основании работающего механизма запуска внутреннего приложения были реализованы базовые функции:
ExecCommand(code) передача и исполнение команды скриптом /cgi-bin/EC
команда отправляется за один запрос, последовательности вызовов key(code) реализуется внешними скриптами /commands/,
что позволяет наращивать функциональность.
SelChannel(code) передача номера канала 1..999 и переключение скриптом /cgi-bin/SC

Статусы.
При загрузке и обновлении станицы HTTP://azbox/stream.htm браузер получает и запоминает статус работы приёмника.
Статус накладывает ограничения на действия пользователя.
Статус “SLEEP” - можно: включить.
Статус “RUN” – можно: выключить, перезагрузить, переключить канал, начать трансляцию.
статус “STREAM” – можно: остановить трансляцию.
Страница для удобства использования загружает на экран вспомогательный текстовый файл.
Можно подготовить и сохранить в него список каналов с номерами, для быстрого поиска номера требуемого канала.
Место положения файла на rw разделе /DISK2/channel.list, приложен пример формирования в .xlsx, формат строки файла «1 Channel Name<br>».
(я так вижу баланс между ручником, автоматизацией и лёгкостью созданного ПО).

Установка и настройка.
Проект - это набор скриптов, HTML, и файлов данных, перед установкой IPTV_ERC необходимо установленного пакета «AZBox WebIf Installer v.1.2».
HTML штатно работает с локальными файлами через запросы GET из тапки локального сервера /MMP/www,
которая в рабочем режиме смонтирована в режиме ro. Для обхода этого ограничения используется функционал файлов-ссылок
которые находятся на разделе ro но указывают на реальные файлы на разделах rw с которыми можно полноценно работать.
Для создания файлов-ссылок необходимо подключиться по telnet (по умолчанию root azbox) и выполнить следующие команды:
mount -o remount,rw -t ext3 /dev/hda1 /MMP
cd /MMP/www
ln –s /tmp/status status
ln –s /tmp/channel channel
ln –s /DISK2/channel.list channel.list
для проверки правильности исполнения убедиться что созданы файлы-ссылки
по команде ls /MMP/www вы должны увидеть вот такие файлы:
channel@
channel.list@
status@

! скрипты /DISK2/etc – существующие файлы, не переписывать а добавить одну строку !
Скопировать файлы их папок MMP,DISK2 и tmp в соблюдением структуры папок
установить атрибуты 775 на исполняемые фалы скриптов:
/MMP/www/cgi-bin/EC
/MMP/www/cgi-bin/SC
/MMP/commands/*

Запустить трансляцию с приёмника Azbox первый раз руками через Меню для проверки IP адреса, порта и длительности вещания,
в дальнейшем при включении трансляции скрипт эти данные менять не будет, трансляция всегда будет идти на этот адрес.
Для удалённого просмотра трансляции необходимо реализовать подключение к домашней сети (выходит за рамки инструкции к пакету IPTV_ERC)

Конструктивная критика и развитие проекта приветствуется :)
Буду заглядывать, если кто-то ещё использует приёмник, захочет повторить и задаст вопросы - обязательно постараюсь ответить :)
 

Вложения

  • IPTV_ERC.rar
    74,2 KB · Просмотры: 2
Последнее редактирование:
Сверху