LoginSignup
18
24

More than 5 years have passed since last update.

USB赤外線リモコンアドバンス(BitTradeOne)をRaspberry-Piで操作する

Posted at

[進捗次第追記します]

以下参照しました
http://blue-black.ink/?p=2973
http://a-desk.jp/modules/mydownloads/singlefile.php?cid=3&lid=76
http://qiita.com/Kaz-su/items/93ec120b4bb90de7da2b

USB赤外線リモコンアドバンスって?

このサイトにあります: http://bit-trade-one.co.jp/product/module/adir01p/
メリットとしては

  • いちいちラズパイ側で回路を組まなくてもUSB接続でできてしまうのでかなり手間が省けます
  • 赤外線の到達範囲が広いので、単体で赤外線を買うよりも距離を離して制御できる
  • コマンドラインツール等が用意されているのでセットアップがかなり楽

など色々あります。

1. 赤外線リモコンアドバンスのコマンドラインツールをRasPiにインストール

赤外線リモコンアドバンスはこのままだとWindowsからのみしか使用できないのでAssemblyDeskのコマンドラインツールをインストールする
コンパイルで必要なlibusb-1.0をインストール&パッケージアップデート


$ sudo apt-get install libusb-1.0.0
$ sudo apt-get update

bto_advanced_USBIR_cmd.zipをhttp://a-desk.jp/modules/mydownloads/singlefile.php?cid=3&lid=7 からインストールしてきて、ローカル上で解凍、解凍後のファイルをscp等でラズパイ上にコピー

$ scp -r local/path/bto_advanced_USBIR_cmd yourRaspi@xxx.xxx.xxx: raspi/path #ディレクトリは好みの場所でOK

コンパイル

~/bto_advanced_USBIR_cmd $ make
cc -Wall -c bto_advanced_USBIR_cmd.c
cc -Wall -o bto_advanced_USBIR_cmd bto_advanced_USBIR_cmd.o -lusb-1.0

コンパイルに成功すると以下のコマンドが生成されていることが確認できる

bto_advanced_USBIR_cmd

ちなみに使い方は

./bto_advanced_USBIR_cmd -h
usage: ./bto_advanced_USBIR_cmd <option>
  -f <freq> -dオプションまたは -rオプションを指定した場合のみ使用できます。
            指定しない場合は38000になります。
  -t {AEHA,NEC,SONY,MITSUBISHI}
  -c <code> 家電協(AEHA)フォーマット、NECフォーマット、SONYフォーマット、三菱フォーマットの
            コードデータをこの -cオプション引数として指定します。
            書式は-dオプションと同じ 0xFF,0xFF,... です。必ず-tオプションとセットで指定します。
  -C <Code> 家電協(AEHA)フォーマット、NECフォーマット、SONYフォーマット、三菱フォーマットの
            コードデータをこの -Cオプション引数として指定します。
            書式は0xの付かない16進文字列 FFFF... です。必ず-tオプションとセットで指定します。
  -d <data> 受信設定または送信設定コンフィグレーションツールで、クリップボードに
            コピーボタンでコピーしたデータ、または、-gオプションで取得したデータが、
            この -dオプション引数として使用可能です。
            -fオプションのみ追加で指定可能です。
  -r        受信開始を指令します。
            -fオプションのみ追加で指定可能です。
            受信設定または送信設定コンフィグレーションツールで取得できるデータが、
            本コマンドでも取得できます。
  -s        受信停止を指令します。
  -g        直前に受信を終えたデータが所得できます。
  --Plarail_StopA       このオプションは必ず単独で指定します。
  --Plarail_StopB       このオプションは必ず単独で指定します。
  --Plarail_Speed_UpAF      このオプションは必ず単独で指定します。
  --Plarail_Speed_UpAB      このオプションは必ず単独で指定します。
  --Plarail_Speed_UpBF      このオプションは必ず単独で指定します。
  --Plarail_Speed_UpBB      このオプションは必ず単独で指定します。
  --Plarail_Speed_DownA     このオプションは必ず単独で指定します。
  --Plarail_Speed_DownB     このオプションは必ず単独で指定します。
  --version
※ getopt_longモジュールの制限を回避する為、プラレール用のオプションは末尾まで正確に指定して下さい。

使い方の例
受信系
$ bto_advanced_USBIR_cmd -r         # (生データ)受信開始
$ bto_advanced_USBIR_cmd -s         # (生データ)受信停止
$ bto_advanced_USBIR_cmd -g | tee data.txt  # 生データ所得

送信系
$ bto_advanced_USBIR_cmd -d `cat data.txt`
$ bto_advanced_USBIR_cmd -t AEHA       -C 123456789ABC
$ bto_advanced_USBIR_cmd -t NEC        -C 08F6817E
$ bto_advanced_USBIR_cmd -t SONY       -C 08F6817E
$ bto_advanced_USBIR_cmd -t MITSUBISHI -C 08F6817E
$ bto_advanced_USBIR_cmd --Plarail_Speed_UpAF

最後に/usr/local/binにコマンドのパスを通す

~/bto_advanced_USBIR_cmd $ sudo make install
install -s -p -m 4755 bto_advanced_USBIR_cmd /usr/local/bin

2. 赤外線コードを記録させる

コードの学習方法について

bto_advanced_USBIR_cmdに関する以下のコマンドを用いる

  • 受信開始: bto_advanced_USBIR_cmd -r
  • 受信停止: bto_advanced_USBIR_cmd -s
  • 赤外線生データ取得: $ bto_advanced_USBIR_cmd -g | tee data.txt
  • 送信: $ bto_advanced_USBIR_cmd -d cat data.txt (ただしdeamon processだとcat使えないので取り扱いには注意必要)
18
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
24