среда, 10 ноября 2010 г.

HDX BD-1. Репозиторий : Ncurses, Screen and Nano and cetera

Спортировал три программы под HDX BD-1
По мере портирования буду эту страницу обновлять.

Всеми этими программами можно пользоваться уже сейчас, но для завершения работ и получения полноценного репозитория необходим ftp сервер.
Прошу помощи.
Подскажите бесплатный хостинг с anonymous доступом от 50 MB.


Соратники с сервера Sigma Player любезно предоставили место для репозитория. Теперь эта статья будет обновляться автоматически при добавлении новых программ.
А сам репозиторий доступен по адресу http://ipkg.sigmaplayer.com/



Upd 12/11/10. добавлено: hdparm-9.35, libiconv-1.13, gettext-0.18.1.1, libpng-1.4.1, zlib-1.2.5, glib-2.22.5, slang-2.2.2
Upd 13/11/10. добавлено: mc-4.7.4, sed-4.2, atop-1.26, htop-0.8.3 ipkg пакеты для всех программ
Upd 14/11/10. добавлено: iperf-2.0.5, lame_3.98.4, iptables-1.4.10, bison-2.4.3, flex-2.5.35, unfs3-0.9.18
Upd 16/11/10. добавлено: abcde-1.9.10, cdparanoia-10.2, abook-0.5.6, mutt-1.5.21, readline-6.1, smartmontools-5.40, links-1.0
Upd 18/11/10. добавлено: coreutils-8.6, mp3info-0.8.5a
Upd 19/11/10. добавлено: less-418, gnuchess-5.07, binutils-3.0, findutils-4.5.9, mprf-3.0.0, gmp-5.0.1, bzip2-1.0.6
Upd 26/11/10. добавлено: libogg-1.2.1, libvorbis-1.3.2, vorbis-tools-1.4.0, id3lib_3.8.3, libid3tag_0.15.1b, libmad_0.15.1b
Upd 29/11/10. добавлено: diffutils-3.0, binutils-2.20
Upd 14/05/11. добавлено: libsigc++_2.2.9, libtorrent_0.12.6, openssl_0.9.8k, rsync_3.0.8
Upd 15/05/11. добавлено: curl_7.21.6, rtorrent_0.8.6
Upd 25/05/11. добавлено: rutorrent_0.0.5, libtorrent_0.12.8, lighttpd_1.4.28.2, libiconv_1.13.1, php_5.3.6.2, prce_8.12, rtorrent_0.8.8.3, curl_7.21.6, xmlrpc-c_1.16.35, openssl_1.0.8d, libxml2_2.7.8, bsdb_4.6.21, python_2.6.6, tcl_8.5.9, sqllite_3.7.6.2, tcllib_1.13, gdbm_1.8.3, gdb_7.2, termcap_1.3.1, readline_6.2, bzip2_1.0.6, ncurses_5.9

воскресенье, 7 ноября 2010 г.

HDX BD-1. ПДУ из под терминала.

В HDX BD-1 присутствует возможность управления передачей команд через 30000 порт. Учитывая, что у пользователей есть мобильные устройства с интерфейсм wi-fi, это достаточно перспективный способ.
#!/bin/bash

# Эта программа читает сканы с клавиатуры компьютера и отправляет их в 30000 порт HDX BD1.
# Сделана на основе
# http://www.networkedmediatank.com/showthread.php?tid=30168&pid=277384#pid277384
# Клавиша "Пробел" заменяет "Enter"
# "Esc" - выход

# IP адрес моего HDX BD1
BD1="192.168.1.61"

get_key() #@ USAGE: get_key var
{
  local _v_ _w_ _x_ _y_ _z_ delay=${delay:-.0001}
  IFS= read -d '' -rsn1 _v_
  read -sn1 -t "$delay" _w_
  read -sn1 -t "$delay" _x_
  read -sn1 -t "$delay" _y_
  read -sn1 -t "$delay" _z_
  case $_v_ in
    $'\e')
      echo Bye
      exit 1
      ;;
    *) printf -v ${1:?} "%s" "$_v_$_w_$_x_$_y_$_z_" ;;
  esac
}


while true
do
  get_key KEY
  case $KEY in
    ' ')
       printf "\n" | nc $BD1 30000 -w 1
      ;;
    *)
      printf "%s" $KEY
      printf "%s" $KEY | nc $BD1 30000 -w 1
      ;;
  esac
done
Пользоваться ей очень просто:
  1. Скопировать текст программы в файл remote.sh
  2. Дать ему права на исполнение и запустить:
$ chmod +x remote.sh $ ls -la remote.sh -rw-r--r-- 1 akhromov akhromov 0 2010-11-05 14:20 remote.sh $ ./remote.sh Задействованные клавиши легко определить по реакции плеера:
R - стрелка вправо,
L - стрелка вправо,
U - стрелка вправо,
D - стрелка вправо,
Пробел - Enter,
Esc - выход
и т.д.

К сожалению программисты HDX BD-1 не до конца реализовали данную возможность. Точнее наделали несколько ляпов. Так например, если плеер запустил screen saver, то выключить его можно только с физического пульта.
Или еще недоделка: если запущено проигрывание мультимедия файла из терминала его остановить невозможно.

Но, надеюсь эти недостатки будут устранены в ближайшей прошивке.

PS. Да, чуть не забыл.
Это работает под linux. В windows из коробки такого инструмента нет.
Возможно установка linux shell решит проблему.
Если пользователи windows захотят попробовать, то советую посмотреть на этот обзор: Alternative Command Shells for Windows. А именно на Cygwin и Windows Services for UNIX.

Буду признателен, если по результатам напишите, что получилось.

Обсуждение в форуме.