Sirius -旧ブログ、更新されません-

<< 前のページ

2011年3月6日(日) 10:49

KURO-RS Daemon 公開しました。

KURO-RS Daemon を公開しました。いまさらという感じもしますが、kuro-rs や、PC-OP-RS1はまだ販売しているようなのでそれなりの需要はあるのかなと思います。Windows のほうでは PC-OP-RS1 のアプリケーションなどがありますが、Linux で Daemon として動くものがなかったようなので作成しました。よろしければ使ってみてください。

積極的にサポートする気はありませんが何かありましたらリンク先の掲示板をご利用ください。ただ、年度末に入り仕事が忙しくなるので返答まで間が開くと思いますので気長に待ってください。

written by sirius [KURO-RS] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2011年3月1日(火) 23:03

KURO-RS daemon の公開準備

6 日ほど連続運転していますが今のところは問題なさそうです。公開に向けて説明のページを準備中です。



公開にあわせて、KURO-RS 関連の記事を新しいカテゴリ (KURO-RS) を作成してまとめました。

written by sirius [KURO-RS] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2011年2月27日(日) 18:50

KURO-RS を分解する。

受信機として使うとき、KURO-RS は受光部がシールドされているのでちょっと離れたり向きが合わなかったりするとうまく受信できません。

そこで分解してシールドを取ることにしました。

KURO-RS

裏のねじをはずしてケースを開いた状態です。



KURO-RS

基盤の表



KURO-RS

基盤の裏



KURO-RS

受光部の正面



KURO-RS

赤丸部分が受光部のシールドです。



KURO-RS

KURO-RS

KURO-RS

シールドをニッパーで切っちゃいました。



ところが、シールドを完全に取ってしまうと、過敏になってしまいリモコン以外にも反応して使い物になりませんでした。

しょうがないので、シールドは前方のみを開放することにしてテープで止めました。



KURO-RS

KURO-RS

ちょっと汚くなってしまいました。一応、離れたところからも受信できるようになりました。これでもたまにリモコン信号以外にも反応してしまいますが、実用上問題はないようです。ニッパーで切らずにはじめから前面のシールドを開けばよかったと思いました。

written by sirius [KURO-RS] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2011年2月26日(土) 19:27

KURO-RS 用 daemon その14

コマンド類の修正や説明ファイルの作成もほぼ終わりました。連続運転はまだ二日目なのでもう少し動かして様子を見ます。

あとは、サポートする気はありませんが、掲示板を準備しようと思っています。自分の環境や使用法では問題ありませんが、異なった環境ではいろいろと問題が出ると思います。気が向いたら修正するかもしれません。公開予定は 3/6 です。

written by sirius [KURO-RS] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2011年2月23日(水) 23:08

KURO-RS 用 daemon その13

内部データの構造をバイナリツリーに変えて検索速度を上げました。今まで固定配列でやっていたのでデータセクションの値の個数を固定にしていましたが、個別に確保するようにしたのでメモリが確保できる限り制限なしになります。



連続稼動して動作確認していましたが、KURO-RS daemon を再起動したところ、socket を bind するところで既に使われているというエラーになってしまいました。どうも終了処理に問題があるようです。この見直しと、他のコマンド類の引数を変更すること。さらに内部データを変えたので再度連続稼動テストを行います。3 月の初め頃に公開する予定です。

written by sirius [KURO-RS] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2011年2月17日(木) 21:36

kuro-rs daemon を x86 で動かす

玄箱だけでなく、普通の PC で kuro-rs daemo を動かしてみました。x86_64 な Fedora12 を入れたマシンがあったので kuro-rs をつないで見ました。



NetworkManager を動かしていると、問答無用に modem-manager がデバイスを開こうとするので modem-manager を停止する必要があります。modem-manager を停止するには、/usr/share/dbus-1/system-services/org.freedesktop.ModemManager.service の中身を全てコメントアウトして下さい。(行頭に#を入れます)。



はじめに、カーネルモジュールを動かします。

# modprobe -r ftdi_sio

# modprobe ftdi_sio vendor=0x0411 product=0x00b3

次に kuro-rs をつなぎ、daemon を動かします。問題なく動くようです。まあ、PC を連続稼動させるよりは玄箱を連続稼動させたほうが省電力なのは確かです。しかし、連続稼動させている PC があればそれにつないでもいいでしょう。

written by sirius [KURO-RS] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2011年2月13日(日) 20:29

KURO-RS 用 daemon その12

赤外データの送受信を socket を使って外部からの要求に応えるようにする部分の修正が終わりました。他のマシンからも送受信が出来るようになりました。

また、Buffalo の Remote Station(PC-OP-RS1) を入手したのでこちらでも試してみましたが、当然、使えました。

残りの作業は内部データの持ち方を変えようかと思っています。が、ほぼ目的のものが出来上がったのでモチベーションが下がってきています。このまま公開してしまうかもしれません。またしばらく連続稼動させてリソースを食いつぶさないかを確認しつつ修正するかどうか考えます。

written by sirius [KURO-RS] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2011年2月6日(日) 12:05

KURO-RS 用 daemon その11

デバイス監視はデバイスファイルがあるかどうかで判断します。KURO-RS を接続するとキャラクタデバイスの /dev/ttyUSB0 が作成され、取り外すとデバイスファイルは削除されるので、監視スレッドを作成し、そのスレッドで stat システムコールを使い 1 秒ごとに監視するようにします。状態が変わったら KURO-RS に割り込むようにします。これで通常のデーモンとしてスタートアップ時に起動できるようになりました。デバイスの取り外し、取り付けをして動作確認しました。デバイスをはずした状態で起動しても大丈夫です。

次はソケットの実装ですが、データのやり取りをどうするかを考えています。

written by sirius [KURO-RS] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2011年2月4日(金) 21:47

KURO-RS 用 daemon その10

4日ほど デーモンを動かし続けましたが特に問題も無く、メモリの使用量が増えることもありませんでした。大きな問題は無いようです。このあたりで公開してもよいのですが、USB デバイスなのでデバイスが取りはずされたりした場合の対応を盛り込みたくなりました。



1、デバイスが接続されない状態で起動されたときは、接続されるまで待つ。

2、デバイスが取り外されたときは、動作を停止しデバイスが接続されるのを待つ。



上記の動作をさせるには、デバイスの監視の必要があり、スレッドプログラミングしなければなりません。調べてみると pthread は POSIX 定義なので、pthread を使っても GPL にはならないようです。



どうせスレッドにするなら、外部からの送受信要求もシグナルではなく、ソケットを使ったサービスとして実装したくなりました。ソケットを実装できれば他のホストからの要求も受け付けられるので利用範囲が広がります。したがって公開はもう少し先になります。

written by sirius [KURO-RS] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2011年2月1日(火) 21:16

再配布の制限について

再配布を制限したいのはなぜかというコメントをいただいたきました。純粋な疑問だと思います。

そういった意見が欲しくて実は記事にしました。公開時にいきなり再配布を禁止してしまうとどのような反応があるのか分からないので試してみました。



理由は単純で、自分が作ったソフトウェアが自分の管理下になくなってしまうのが嫌だということです。ネット上で一度公開したものは、なかなかコントロールが難しいと思います。例えば何らかの事情があって公開を停止しようと思っても再配布されていては意味がなくなってしまいます。



自分自身も、オープンソースソフトウェアや、フリーウェア等さまざまな無料ソフトにお世話になっています。中には GPL なソフトウェアもあります。確かに、GPL にすることによってすばらしいソフトウェアが開発されることもあるでしょう。



しかし、個人的な意見として GPL については疑問を持っています。GPL は開発者(配布者)を制限するものであり、場合によっては私のように公開をためらう開発者も出るでしょう。そんな制限がつくなら公開しないよってことです。仕事でということであればいろいろなメリット/デメリットを考えて決めるでしょう。個人の趣味でということであればデメリットが強いように感じます。公開するメリットと、デメリット。個人の趣味で作ったものであれば公開する/しないはその個人の自由です。実際のところ、同じ理由で今まで作ったソフトウェアの中で GPL であるがために公開していないソフトウェアがあります。自分としては便利に使っています。同じようなことがしたい人もいるだろうなと思いますが、公開していません。(そのうちのいくつかは Windos プログラムなので GPL 部分を排除してバイナリのみ公開したいと考えています。)



今回は実験として GPL を回避するために工夫して公開してみる(ゼロからソースを作成しソースのみを公開する)ことにしました。(GPL であれば公開はしないでしょう)



実際問題として再配布を禁止したとしても、それを検証するすべは私にはありません。ソースが流用されたことを確認する手段も無いでしょう。しかし、場合によっては見つけてしまうかもしれません、そういったリスクを負ってまでやることではないでしょう。(その程度のソフトウェア/ソースです)



私もソフトウェアを作るものとして、利用にあわせてソースを改変したいと思います。だから改変を禁止することはしませんし、その改変部分をパッチとして公開することを制限しようとは思いません。



GPL はすばらしいとも思いつつ、同時に足かせになっているとも感じるため、いろいろな意見があるでしょうが、今回はこのようにしようと決めました。

written by sirius [KURO-RS] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2011年1月30日(日) 19:40

KURO-RS 用 daemon その9

ほぼ完成しました。しばらく使って問題が無ければ公開する予定です。ただし、今回は再配布を制限したいので、 GPL での公開をしないつもりです。バイナリつきで公開すると、GPL 部分を含んでしまうのでソースのみ公開する予定です。ソースだけであれば全て資料をみて作成したので GPL は含んでいません。制限するのは再配布のみで、個人利用の場合、ソース改変は許可します。改変したものの配布は禁止しますが、改変したものの差分(パッチ)の公開まで制限するものではありません。

written by sirius [KURO-RS] [この記事のURL] [コメントを書く] [コメント(1)] [TB(0)]

この記事へのトラックバックPingURL

2011年1月28日(金) 23:18

KURO-RS 用 daemon その8

シグナルの受信がうまく出来ていません。udev から起動したものは、signal を受け付けてくれません。手動で起動した場合は大丈夫です。やはりきちんとしたプロセス間通信を実装しないとだめでしょうか。そうすると同時にスレッドにしないとだめなのです。よく調べてみると signal() より sigaction() の方が正式なシグナル処理らしいので、sigaction() を使ってみましたが、同じでした。どうも udev から起動するとだめな模様です。試しに rc.local から起動するようにしたら問題ありません。BonCasServer や pcscd も rc.local から起動するようにしたら問題無く動きます。常時つないで運用なのでこれでいいでしょう。

written by sirius [KURO-RS] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2011年1月26日(水) 21:20

KURO-RS 用 daemon その7

ログ出力に初めて syslog を使ってみました。意外と簡単で便利です。

ただし、大量のログ出力があると、syslog はシステムを重くしてしまうようです。



syslog の使い方は、syslog.h をインクルードして、openlog() で準備して、syslog() でログの出力をします。最後に、closelog() で閉じますが、closelog() は必須では有りません。



openlog() は三つの引数があります。

void openlog(const char *ident, int option, int facility);

一つ目がプログラム名、二つ目がオプションで LOG_CONS, LOG_NDELAY, LOG_NOWAIT, LOG_ODELAY, LOG_PERROR, LOG_PID で必要なものを OR でまとめます。三つ目が記録されるプログラムのタイプの指定で、通常は LOG_DAEMON でいいと思います。



syslog() は printf() 形式のフォーマットが使える可変引数の関数です。

void syslog(int priority, const char *format, ...);

はじめの引数がプライオリティで、重要度の高い順から LOG_EMERG, LOG_ALERT, LOG_CRIT, LOG_ERR, LOG_WARNING, LOG_NOTICE, LOG_INFO, LOG_DEBUG のどれかを指定します。



プライオリティを使ってログの出力を抑制するには、setlogmask() を使います。

int setlogmask(int mask);

例えば、LOG_ERR 以上のプライオリティのログだけを出力する場合は、

setlogmask(LOG_UPTO(LOG_ERR));

という風にします。簡単でなかなか便利です。

written by sirius [KURO-RS] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2011年1月24日(月) 21:05

赤外線信号の解析その4

必要なデータを考えます。

・リーダ部の on のビット数と off のビット数

・リピートのタイプ

・フレームサイズ

・データのビット数

有ったほうがいいデータ

・ストップビットのビット数

・データの on ビットのビット数

・データが 0 のときの off ビットのビット数

・データが 1 のときの off ビットのビット数

送るコード

・カスタムコード(ベンダーコード)

・データコード



これらを使ってデータを定義します。


typedef struct _param_t {

    int vender;        /* カスタムコード */

    int l_on;          /* Leader 部の on bit の数 */

    int l_off;         /* Leader 部の off bit の数 */

    int on;            /* on bit の数 */

    int off1;          /* 0 の時の off bit のビット数 */

    int off2;          /* 1 の時の off bit のビット数 */

    int s_on;          /* ストップビットのビット数 */

    int bit_length;    /* 送信データのビット数 */

    int frame_size;    /* Leader 部を除いたデータのビット数 */

    int repeat_type;   /* データの繰り返しタイプ */

} param_t;



param_t table[] = {

    { 0x50ef, 90, 45, 6, 6, 16, 6, 32, 1083, 1 }, /* HDUSF */

    { 0x30ce, 90, 45, 6, 6, 16, 6, 32, 1073, 1 }, /* LT-H91DTV */

    { 0xc4a2, 90, 44, 6, 6, 16, 6, 32, 1069, 1 }, /* SHDSW_4SV */

    { 0x06,   90, 45, 6, 6, 16, 6, 32, 1075, 1 }, /* PF720 */

    { 0xc5,   86, 42, 6, 6, 16, 6, 16, 465, 2 },  /* TH-BA1 */

    { 0xf5,   86, 42, 6, 6, 16, 6, 16, 465, 2 },  /* TH-BA1 */

    { 0x20,   23, 11, 5, 6, 17, 5, 16, 489, 3 },  /* DT-100HDMI */

    { 0,0,0,0,0,0,0,0,0,0 }

};




このテーブルを使い、データコード等をパラメータで受け取り、KURO-RS 用の送信データを作成するプログラムを作ろうと思います。

written by sirius [KURO-RS] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2011年1月23日(日) 20:39

KURO-RS 用 daemon その6

細かい部分を除き、基本部分(信号を受信してコマンドを実行する)はほぼ実装できました。



残りの作業

・リピート信号にも反応するようにする。

・セクションの切り替え時にセクション番号分 LED を発光させる。

・データセクションの数、値の最大個数を動的に変更できるようにする。

・セクション切り替えをループさせるコマンド。

・設定ファイルチェックプログラムの作成。

・受信エラー時にデバイスを開き直す様に変更。

・ログ出力の実装。

・メモリリークが無いかソースをチェックする。

・エラー処理の強化、特に設定ファイルの読み込み部分。←設定ファイルチェックプログラムで対応。



まだ公開するまでは、先が長そうです。

written by sirius [KURO-RS] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2011年1月22日(土) 11:57

KURO-RS 用 daemon その5

外部コマンドからの要求をどう受け取るかを考えました。プロセス間通信で行うのが正しい方法でしょうが、そこまで手間をかけたくありません。そこで、signal を使うことにしました。SIGUSR1 を送信要求、SIGUSR2 を受信要求にします。設定ファイルでやり取りする一時ファイルをきめて、そのファイルを通して赤外線信号データのやり取りをすることにしました。signal 処理部分を作成中です。

written by sirius [KURO-RS] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2011年1月21日(金) 18:45

KURO-RS 用 daemon その4

KURO-RS が応答しなくなってしまうのは KURO-RS が送信や受信の待ち状態になっているようです。受信待ちをキャンセルする c コマンドがありますが、このコマンドで全ての状態を解除は出来ないようです。調べていくと LED を点灯させる i コマンドは、送信キャンセルコマンドも兼ねるようです。試しに、デバイスを開いた直後に i コマンドを使ってみたところ応答がなくなることはなくなりました。そこで、初期化処理として、i コマンドを使い、i コマンドが失敗した場合に c コマンドを使うようにしました。

written by sirius [KURO-RS] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2011年1月20日(木) 21:13

赤外線信号の解析その3

リモコン信号には製品付属のリモコンでは出せない保守用の信号や隠しコマンドが有る場合があるそうです。そこで KURO-RS を使い任意のデータを送信できるプログラムを作成しようと思います。HDUSF の信号を見るとデータの後にもパターンがあります。NEC フォーマットを見るとリピートが有ります。ちょっと形が違うようですがこれも含めて信号を作成したいと思います。

ついでなのでほかのリモコンの信号も調べてみました。ちょっと長くなりますが、信号をダンプしてみます。



・HDUSF の Power ボタン

11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111

11111111 11111111 11111111 11100000 00000000 00000000 00000000 00000000

00000000 11111100 00011111 10000000 00000000 00111111 00000111 11100000

00000000 00001111 10000001 11111000 00111111 00000011 11100000 01111100

00000000 00000001 11111000 00000000 00000011 11110000 00000000 00001111

11000000 11111000 00000000 00000011 11110000 00000000 00000111 11000000

00000000 00011111 10000000 00000000 00111110 00000000 00000000 11111100

00001111 10000001 11111000 00111111 00000111 11100000 01111100 00001111

11000000 00000000 00111111 00000011 11100000 00000000 00001111 11000000

00000000 00011111 00000000 00000000 01111110 00000000 00000000 11111100

00000000 00000011 11110000 00000000 00000111 11100000 11111100 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00111111

11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111

11111111 11111111 11110000 00000000 00000000 00011111 10000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000



・HDMI セレクター (SDHSW-4SV) の Power ボタン

11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111

11111111 11111111 11111111 11000000 00000000 00000000 00000000 00000000

00000011 11110000 00000000 00001111 11000000 00000000 00011111 00000011

11110000 01111110 00001111 11000000 00000000 00111111 00000011 11100000

01111110 00000000 00000001 11111000 00111111 00000000 00000000 11111100

00001111 11000001 11111000 00111111 00000000 00000000 11111100 00001111

10000000 00000000 00111110 00000111 11100000 11111100 00011111 10000001

11110000 00111111 00000111 11100000 11111100 00011111 10000000 00000000

01111110 00000000 00000000 11111000 00000000 00000011 11110000 00000000

00001111 11000000 00000000 00111111 00000000 00000000 11111110 00000000

00000001 11111000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000111 11111111 11111111

11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111

11111110 00000000 00000000 00000111 11100000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000



・Buffalo LT-H91DTV の Power ボタン

11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111

11111111 11111111 11111111 11000000 00000000 00000000 00000000 00000000

00000001 11111000 00111111 00000111 11100000 00000000 00011111 10000000

00000000 00111110 00000111 11100000 11111100 00011111 10000011 11110000

00000000 00001111 11000000 00000000 00011111 00000011 11110000 01111110

00000000 00000001 11111000 00000000 00000111 11100000 00000000 00001111

10000001 11111000 00000000 00000111 11100000 11111100 00000000 00000011

11110000 00000000 00000111 11000000 11111100 00011111 10000011 11110000

00000000 00001111 11000001 11111000 00000000 00000011 11100000 01111110

00001111 11000000 00000000 00111111 00000000 00000000 11111100 00000000

00000001 11110000 00111110 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00111111 11111111

11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111

11111111 11100000 00000000 00000000 01111110 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000



・Transcend のフォトフレーム PF720 の Power ボタン

11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111

11111111 11111111 11111111 11100000 00000000 00000000 00000000 00000000

00000001 11111000 00011111 10000011 11110000 01111110 00000111 11000000

11111100 00000000 00000011 11110000 00000000 00001111 11000000 11111100

00000000 00000011 11110000 00000000 00001111 11000000 00000000 00111111

10000000 00000000 01111110 00000000 00000001 11111000 00111111 00000011

11110000 00000000 00001111 11000001 11111000 00000000 00000111 11110000

01111110 00001111 11000001 11111000 00011111 10000011 11110000 01111110

00000000 00000001 11111100 00011111 10000000 00000000 01111110 00000000

00000001 11111000 00000000 00000011 11110000 00000000 00001111 11000000

00000000 00111111 00000000 00000000 11111110 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00011111 11111111

11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111

11111111 11111000 00000000 00000000 00011111 10000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000



・カノープスの MTV シリーズ用のリモコン CRM-1 の Power ボタン

11111000 01111001 11100011 10001110 00001111 00011100 00000111 10000000

11100011 10000111 00011100 01110000 11100011 10000011 11000111 00011100

01110000 00000011 10000000 11110001 11000111 00000011 10001110 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 11100000 11110001 11000111

00011100 00001110 00111000 00000111 00000001 11000111 10001110 00111000

11110001 11000111 00000011 10001110 00111000 11110000 00000111 00000000

11100011 10001110 00000111 00011100 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000



・ビクター ホームシアターサウンドシステム TH-BA1 の Power ボタン

11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111

11111111 11111111 11111100 00000000 00000000 00000000 00000000 00000000

11111000 00000000 00001111 11000000 00000000 01111100 00001111 10000011

11100000 01111100 00000000 00000111 11100000 11111000 00000000 00000111

11000000 00000000 00111110 00000000 00000011 11110000 00000000 00011111

00000011 11100000 00000000 00111111 00000111 11000001 11111000 00111110

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 01111100 00000000 00000011 11100000 00000000 00011111

00000111 11000000 11111000 00111110 00000000 00000001 11110000 01111110

00000000 00000011 11100000 00000000 00011111 00000000 00000000 11111000

00000000 00001111 11000001 11110000 00000000 00001111 10000011 11110000

01111100 00011111 10000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 01111110 00000000 00000011 11110000

00000000 00011111 00000011 11100000 11111000 00011111 00000000 00000001

11111000 00111110 00000000 00000001 11110000 00000000 00011111 10000000

00000000 11111100 00000000 00000111 11000000 11111000 00000000 00001111

11000001 11110000 01111110 00001111 10000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00111110 00000000

00000001 11110000 00000000 00011111 10000011 11100000 01111100 00011111

00000000 00000000 11111000 00111111 00000000 00000001 11110000 00000000

00001111 10000000 00000000 01111100 00000000 00000111 11100000 11111000

00000000 00000111 11000001 11111000 00111110 00001111 11000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000



・ユニデンの地デジチューナー DT-100HDMI の Power ボタン

11111111 11111111 11111111 00000000 00011111 00000011 11100000 00000000

00001111 11000000 11111000 00000000 00000011 11100000 01111110 00001111

11000000 11111000 00000000 00000011 11110000 01111110 00001111 11000000

00000000 00011111 00000011 11100000 01111110 00001111 11000000 11111000

00011111 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000011 11111111 11111111

11110000 00000000 11111000 00011111 00000000 00000000 01111110 00000111

11000000 00000000 00011111 00000011 11110000 00111110 00000111 11000000

00000000 00011111 00000011 11110000 00111110 00000000 00000000 11111000

00011111 00000011 11110000 01111110 00000111 11000000 11111000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00011111 11111111 11111111 10000000 00000111

11000000 11111100 00000000 00000011 11110000 00111110 00000000 00000000

11111100 00011111 10000011 11110000 00111110 00000000 00000000 11111100

00011111 10000011 11110000 00000000 00000111 11000000 11111100 00011111

10000001 11110000 00111110 00000111 11000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 11111111 11111111 11111110 00000000 00111110 00000111 11000000

00000000 00011111 10000001 11110000 00000000 00000111 11000000 11111100

00011111 10000001 11110000 00000000 00000111 11100000 11111100 00011111

10000000 00000000 00111110 00000111 11100000 11111100 00001111 10000001

11110000 00111110 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000



これらの中で、HDUSF、SDHSW-4SV、KT-H91DTV、PF720 はほぼ同形式に見えます。TH-BA1 はリーダ部は似ていますが、データがちょっと違うようです。CRM-1 はリーダ部も見つけられず、よく分かりません。

これらの中で、記録した信号を KURO-RS で送信しても相手が無反応なのが CRM-1 です。CRM-1 は KURO-RS では全く使えないようです。

また、以前作成したデコードプログラムを修正してもデコードできなかったのは、CRM-1 です。

TH-BA1 と DT-100HDMI は 16ビットのデータを繰り返し送っているようです。

プログラムは、NEC フォーマット と、TH-BA1 、DT-100HDMI の信号を作れるようにします。

written by sirius [KURO-RS] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2011年1月19日(水) 21:31

KURO-RS 用 daemon その3

赤外線信号とコマンドの対応は、設定ファイルの中に書くようにしました。こんな感じです。

--------------------ここから--------------------

[global]

device=/dev/ttyUSB0

ext_send_file=/tmp/kuro_rs_ext_send00.tmp

[macro]

base_dir=/usr/local/share/kuro_rs

ir_data=$base_dir/data

action_dir=$base_dir/bin

lt_h91dtv=$ir_data/Media_Player/LT-H91DTV

[1]

1=50ef8976,3,$th_ba1/Power

2=50ef49b6,2,$shdsw_4sv/Power

3=50efc936,1,$lt_h91dtv/Power

3=50efc936,3,$th_ba1/Digital-1

3=50efc936,2,$shdsw_4sv/1

4=50ef29d6,5,$action_dir/UpMediaPlayer.sh

4=50ef29d6,3,$th_ba1/Digital-2

4=50ef29d6,2,$shdsw_4sv/2

--------------------ここまで--------------------

設定をセクションで分けて、global セクションで全体の設定を指定します。

macro セクションは置き換えの定義をします。

数字のセクションがデータセクションでここに信号のハッシュ(データコード)とアクションタイプ、パラメータを指定します。

アクションは 1 〜 4 で対応するポートから赤外線信号の送出、5 がコマンドの実行、6 がセクションの切り替えが出来るようにします。

ひとつのボタンに複数のアクションをかけるようにします。

例えば、"3" のボタンでは、

・TH-BA1 の入力を Digital-1 に切り替える赤外線信号の送出。

・HDMIセレクタで入力を 1 番に切り替える赤外線信号の送出。

・メディアプレーヤーの電源を入れる赤外線信号の送出。

を行います。

現在設定ファイルを読み込む部分を作成中です。

written by sirius [KURO-RS] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2011年1月18日(火) 22:18

KURO-RS 用 daemon その2

KURO-RS を受信待ちにして受信した信号によってコマンドを実行する部分は、赤外線信号の解析がとりあえず出来たので動作はしています。

しかし、信号とコマンドのテーブルをソースに埋め込んでしまうと後からの修正が面倒になるのとほかの人が使えないので、信号とコマンドの対応は別ファイルにする予定です。どういった形式にするかを検討中です。コーディング量はこっちの方が多くなりそうな気がします。

あと、何度か試していると KURO-RS が応答しなくなってしまうことがあり、原因を探っています。

ある程度動くようになったら今度は、外部コマンドからの要求で赤外線信号を送ったり、受信したりする方法を考えます。

written by sirius [KURO-RS] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

<< 前のページ

Sirius -旧ブログ、更新されません-

MySketch 2.7.2 written by 夕雨