BUFFALO PC-OP-RS1を分解してみる *

USB接続赤外線リモコン、BUFFALOPC-OP-RS1を分解してみる。

本体 *

body.jpg

送信部は赤外線LEDを直結しているだけなので、換装は簡単そう。

基板全体(表) *

pcb1.jpg

USBコントローラには、FTDI FT232BL
マイコンには、Microchip PIC16F688

基板全体(裏) *

pcb2.jpg

裏面にはFT232BL用E2PROM、ATMEL 93C46

通信解析 *

PC-OP-RS1は、COMポートとして認識される。
特殊なIOCTLを使っていないのなら自作アプリケーションからも簡単にコントロールできるはずだ。

ポートの設定 *

ボーレート115,200bps
データ長8bit
パリティなし
ストップビット1bit
フロー制御なし

仮想COMポートはFT232BLの機能をそのまま利用しているようなので、マイコン側の設定にあわせる必要あり。

デバイス情報 *

  • 名前
    • BUFFALO RemoteStation PC-OP-RS1 (COM%) ※ COM%は実際のポート番号
  • ハードウェアID
    • FTDIBUS\COMPORT&VID_0411&PID_00B3

LEDコマンド *

複数台接続した場合の、ユニット確認用?
ACCESS LEDが点灯する。

--> 0x69
<-- 0x4f ※ 0x59が返ってくるときはLEDは点かない

リモコン受信コマンド *

リモコン信号を受信する。
ユニット本体には保存されない。

--> 0x72
<-- 0x59
(リモコン受信)
<-- 0x53
<-- リモコンデータ * 240Byte
<-- 0x45

データは、推定0.1msでサンプリングされた信号がそのまま入っている。
(データ長は240Byte固定なので、240×8=1,920bitsのサンプリングデータ)
リモコンデータが240Byteより短い場合は、0で埋められる。

リモコン送信コマンド *

リモコン信号を送信する。
リモコンデータは、受信コマンドで受け取った値を使用する。

--> 0x74
<-- 0x59
--> 0x31 ※ 1ch=0x31,2ch=0x32,3ch=0x33,4ch=0x34
<-- 0x59
--> リモコンデータ * 240Byte
<-- 0x45

必ず240Byte分送信されるため、短いリモコンデータを送る場合にも約200msの時間が必要。

バグ? *

リモコン送信コマンド発行中にリモコンデータを受信しない状態で終了すると、リモコンデータを送信できなくなる。
その場合、一旦LEDコマンド発行すると送信可能になる。その場合、LEDコマンドの戻り値は 0x59 でLEDは点灯しない。 サンプルソフトは対応済み。

リモコン送受信サンプルソフト *

C#作成
要、Microsoft .NET Framework 2.0

関連ページ *

新規作成 2006/09/13
サンプルソフト追加 2006/09/17
追記 2006/11/18

最新の50件を表示しています。 コメントページを参照

  • 秋月VFDの記事を検索してて発見させてもらいました。PC-OP-RS1は私も購入し使ってますが、解析が進むと面白いソフトが出来そうですね -- hi-mu 2006-09-18 (月) 00:09:30
  • 試作ソフトで簡単に動きました。。。色々できそうですね。http://blog.goo.ne.jp/amru_1957/e/c7a1fd473d5b16dc316e7a8ae1f022a4 -- amru_1957 2006-10-17 (火) 21:10:06
  • とても参考になりました おかげでlinuxでも動かせました 感謝感謝 -- k 2006-10-27 (金) 10:51:20
  • linuxでの資料まとめてみました http://k-home.no-ip.info/wiki/index.php?PC-OP-RS1 -- k 2006-10-29 (日) 12:18:37
  • OS X では、FTDIのVirtual COM port driver で動作しました。http://www.ie.u-ryukyu.ac.jp/%7Ekono/pub/software/BufRemoteStation.tgz にJavaで書いたCLIを置きました。 -- 河野 2006-12-26 (火) 17:02:26
  • http://blog.gcd.org/archives/50846722.html に Perl で書いた受信/送信プログラムを置きました。 -- 仙石浩明 2007-01-01 (月) 20:06:15
    • 少し修正しただけでWin2kで動きました 感謝 -- れがしー 2007-06-15 (金) 05:47:45
  • そろそろリモコンデータの資料もまとめます。 -- JuJu 2007-01-04 (木) 20:34:36
  • KURO-RS は中身は同じなのかな? -- JuJu 2007-03-23 (金) 12:38:26
  • シロートなのでプログラムはきつい。そこでRS1備えのバックアップ機能を利用して、編集して特定のコマンドを出すことは出来ないでしょうか? -- cap 2007-04-15 (日) 17:16:52
    • あのバックアップ機能はPC-OP-RS1側ではなく、BUFFALOのソフト側でやっているので使えないんです。
      サンプルプログラムに入っているIrReceiver.exeを使ってリモコンコードを取得したら、IrSender.exeを使えば送信できます。
      使い方書いていないのでわかりにくいのですが... X( -- JuJu 2007-04-16 (月) 00:14:02
  • JuJuさん回答ありがとうございます。WinXPをバージョンUPしてサンプルソフトが使えるようになりました。リモコンの受信データは見れるようになりましたが送信画面は何も表示されませんが受信データとおなじ形式で書き込むと送信されるのでしょうか?送信タイミング(送信ボタン)に相当する操作はどのようにすべきでしょうか?よろしくお願いします。 -- cap 2007-04-19 (木) 20:03:31
    • IrReceiver.exeを起動して取得したリモコンデータ(HEX表示されている部分)を、IrSender.exeに渡せば送信されます。
      たとえば、IrReceiver.exeで取得したリモコンデータが、
      (HEX) 11223344556677
      だった場合、
      IrSender.exe 0x11223344556677
      と実行すればCh1からリモコンデータが送信されます。
      Ch2を使うときは、
      IrSender.exe ch2 0x11223344556677
      のようになります...多分 :( -- JuJu 2007-04-20 (金) 01:14:01
    • Visual C# 2005 Express Edition をダウンロードすればソースをアレンジしてコンパイルすることもできますよ。 -- JuJu 2007-04-20 (金) 01:18:36
  • jujuさん早速の回答ありがとうございます。Irsender.exe HEXのパラメーターを付けて実行すれば良いと言うことですよね。そのように実行しても旨く行かないのです。実行ファイルを認識して実行までいかない。何が悪いのでしょうか?よろしく。 -- cap 2007-04-20 (金) 11:58:22
  • すみません。分かりました。irseder.exeを実行して。ウィンドウが開いた中に書き込めばよいのですね。カットアンドペーストが出来ないのが残念。ありがとうございました。 -- cap 2007-04-20 (金) 13:45:19
    • ごめんなさい。今確認したら、送信データはコマンドラインでは渡せませんね。 送信データをテキストファイルに保存して、
      IrSender.exe < テキストファイル名
      にするか、
      echo 0x11223344556677 | IrSender.exe
      のようにすれば自動化できます。 -- JuJu 2007-04-25 (水) 21:12:00
  • たびたび済みません。リモコンを読み込むと240バイト分あります。送信データにHEXで書くと120バイト程度しかかけませんが、240バイト書くのは無理なのでしょうか? -- cap 2007-04-20 (金) 19:57:15
    • コマンドプロンプト上だと、入力文字数が254に制限されてしまうので、上記方法を使用してください。 -- JuJu 2007-04-25 (水) 21:25:17
  • jujuさん色々ありがとうございました。コマンドラインではどうも旨くいきません。しかし、私の目的はRS1のバックアップファイルをいじることで解決しました。本当にありがとうございました。 -- cap 2007-04-29 (日) 17:05:00
  • ACアダプターとRS232CドライバーIC(MAX232など)を追加したらPCのRS232Cポートから使えますかね? -- れがしー 2007-05-19 (土) 12:09:50
    • PICとFT232BL間の配線をカットしてつなげば可能だと思いますが...
      USBが使えないとなるとWin95とかNTですか? -- JuJu 2007-05-20 (日) 11:05:40
  • Win2kだとSDブートできないんでWin95あたりでファンレス機を考えてます -- れがしー 2007-05-21 (月) 05:55:00
  • このリモコン唯一の弱点の送信距離、改造でなんとかなりませんか? -- Didy 2007-05-25 (金) 03:32:49
    • 上に「送信部は赤外線LEDを直結しているだけなので、換装は簡単そう。」ってありますが -- 通りすがり 2007-05-26 (土) 09:04:10
  • クロッサムみたく7mぐらい飛ばせれば理想なのですが、、単なる換装(直列3つぐらいを考えています)でいけますでしょうか?それとも増幅回路等を追加しないとだめでしょうか? -- Didy 2007-05-27 (日) 11:14:36
    • 多分外付けで増幅するか、本体改造が必要です。
      今週いっぱい家に帰らないので、帰った時に調べてみますね。 -- JuJu 2007-05-29 (火) 08:00:08
  • やっと物を手に入れたのでWindows2000Pro SP4でIrReceive.exe > Play.datと実行すると -- れがしー 2007-06-13 (水) 11:50:56
    • 無効なクエリです 場所 IrReceive.Program.Main(String[] args) (T_T) -- れがしー 2007-06-13 (水) 11:52:05
      • >じゃなくて<じゃないのかな? -- かんた 2007-06-14 (木) 18:18:28
    • ActivePerl+Win32-SerialPortを入れてLinux用のものを修正したらいけました (^^) -- れがしー 2007-06-14 (木) 20:05:01
  • リモコン送受信を中止する場合、キャンセルコマンド(0x63)を発行すれば、通常の状態に戻れます。 -- Lausanne 2007-07-27 (金) 09:52:34
    • キャンセルというコマンドが存在するのですね。確認します。 -- JuJu 2007-08-07 (火) 23:38:28
    • このキャンセルコマンドを確認してみましたが、受信はキャンセルできましたが送信はダメですね -- れがしー 2007-10-14 (日) 18:40:18
  • 天井照明をタイマーでonにするために本機を買ったのですが、信号が10cmほどしか飛んでないようで、届きません。つきまして、送信部を改造しようと思うのですが、赤外線LEDの増幅を扱ったウェブサイトで初心者にもわかりやすいものがありましたら、教えていただけませんか。 -- 貧乏学生 2007-07-27 (金) 23:50:24
    • 本体改造可なら結構飛ばせますよ。ジャックのコモンが電源層に落ちているので、現行のジャックは使用できなくなります。電源を別途用意できるなら、信号をプラグから引き出すこともできますが。 -- JuJu 2007-08-07 (火) 23:45:42
    • どうも信号が届く距離が短いです。距離を伸ばすための詳しい方法が知りたいのですが、参考となるサイトはありますでしょうか? -- レノ 2007-12-25 (火) 19:35:23
      • PC-OP-RS1本体を改造して出力をあげても遠くまで飛ばないと思ったら、赤外線LEDの指向性が強いからっぽいです。
        なので遠くまで飛ばすには別の赤外線LEDを準備する必要がありそうです。 -- JuJu 2008-01-09 (水) 00:34:25
  • リモコンの学習時間が短すぎるらしく、クーラーの操作ができませんした。2回連続学習とかで240バイト以上学習する方法ってないですか? -- masuidrive 2007-08-06 (月) 00:52:50
    • 確か使っているマイコンの内蔵RAMが256バイトしかありませんからね。エアコンの送信データとても長いので、PC-OP-RS1では無理そうです :( -- JuJu 2007-08-07 (火) 23:57:32
    • PICかAVRで自作するしかないみたいですね -- masuidrive 2007-08-14 (火) 19:19:42
      • ごめんなさい。フィルタに引っかかってました :( -- JuJu 2007-08-17 (金) 18:47:19
  • Takizumiというメーカーの照明をon/offしたいのですが、うまくいきません。信号は240バイトに収まってるようですが、信号を送信しても照明がまったく反応してくれません。これはあきらめるしかないのでしょうか? -- Masa 2007-09-12 (水) 09:39:15
    • はずしてるかもしれませんが、照明のリモコンは出力が強いので少し離して学習させてみる、メーカーによっては誤動作防止の為同じ信号を2度送信しているものもある(元のリモコンの送信部をデジカメの液晶モニタでみると発光が確認できます) -- 通りすがり 2007-09-13 (木) 09:23:12
      • ありがとうございます。2メートルほど離れたところから学習させてみましたが、変わりませんでした。デジカメで見てみても信号は1度しか送信してない様でした。 -- Masa 2007-09-13 (木) 20:19:57
      • うーん、そうですか、家のPanaの照明(36kHz)もダメでしたが^^; 受光素子のフィルタ幅(48kHz)がせまいのかも -- 通りすがり 2007-09-14 (金) 10:56:13
  • i-SOBOTをパソコンでコントロールするのに参考にさせていただきました。 -- yokkun 2008-03-22 (土) 21:02:07
  • 大変参考になりました。苦労はしましたが、VBAからの操作が可能になりました。USBデバイスサーバと併用することでノートPCでの完全無線化に成功しました。また付属ソフトでは2デバイスまでしか利用できないようですが、自作すれば3つ以上接続しても難なく利用できます。今は4つのRS1を接続、コードをDIY延長して、DVD再生機、アンプ、PS2、CATV、テレビ、照明、HDDレコーダー、空気清浄機、エアコン、カーテン開閉、プロジェクタ、スクリーンスイッチ、セレクター等ありとあらゆる赤外線操作可能機器をPCから制御できる状態となりました。今後はVBスクリプト化とインターネットを通じた家外からの制御に挑戦してみます^^ -- kuri 2008-06-11 (水) 21:34:21
    • VBAのソースを参考にしたいのですが可能ですか? -- kaz884 2009-12-05 (土) 13:09:29
  • プログラムを参考にさせていただきました。たいへんありがとうございます。 -- iSOBOT USER 2008-08-23 (土) 13:01:08
  • 大変参考になりました。サンプルプログラムを参考に、C#で自作リモコンパネルを作成しました。プログラムを同時起動したり、仮想的に電源状態を記憶させることで、いろいろ便利になりました。 -- kiyo 2008-08-26 (火) 22:00:11
  • MacOS X で制御ソフトを制作するのに参考にさせて頂きました。データの提供に感謝します。 http://d.hatena.ne.jp/elapp/20090707 -- wirehead 2009-07-08 (水) 02:48:27
  • PC-OP-RS1でPS2のリモコンを上下右左だけ学習しません。やりかた -- ekusia 2009-07-15 (水) 10:27:17
  • PC-OP-RS1でPS2のリモコンを上下右左だけ学習しません。やりかたおしえてください -- ekusia 2009-07-15 (水) 10:29:09
  • リモコン信号の受信タイムラグが大きい(1秒以上?)あるのですがドライバーの通信設定とかで改善できるでしょうか? -- iwat 2010-01-17 (日) 14:31:18
  • PC-op-rc1の送信距離を上げる方法を教えてください -- kuma 2010-04-16 (金) 15:11:55
  • おおっ! この解析情報はすごい! クローン作れそうな気がしてきた・・・ -- hyawa 2010-09-12 (日) 18:45:24
  • Mac OS用のアプリ作成のため解析結果利用しました。有用な情報の提供ありがとうございます。http://hp.vector.co.jp/authors/VA009278/ubsa-osx/armadillo.html -- やもり 2010-10-05 (火) 07:35:32
  • お外から、エアコンつけられないか探してました。良い情報ありがとうございました。 -- 通りすがり 2011-08-20 (土) 20:52:27
  • ↑x5 リモコンデータが届いてから0x45が届くのになぜか750msぐらいかかるみたいですね。タイムラグを減らしたいなら、0x45を待たずにデータを使って、それから0x45を待つといいです。 -- T-MZ 2011-10-01 (土) 20:28:09
お名前:

添付ファイル: filePC-OP-RS1.zip 5953件 [詳細] filepcb2.jpg 3492件 [詳細] filepcb1.jpg 4553件 [詳細] filebody.jpg 3276件 [詳細]