pinewell's farmer blog Just another WordPress site

2013年1月28日

RaspberryPiのリモコン化2

Filed under: 未分類 — pinewell @ 2:29 PM

前回はGPIOからのスイッチ入力でAQUOSをコントロールした。
今回はKURO-RSをRaspberryPiに接続。
思わぬところでハマったのがftdi_sio。これがなぜだかハングアップする。
ググってみるとどうやらそういうものらしい。とりあえず /boot/cmdline.txtにdwc_otg.speed=1を追記。
これはUSBをフルスピード固定にしてしまうものらしい。フルスピードと言えば12Mbps。シリアル通信には充分ではある。
さらに、電源つけっぱなしで放置しておくとネットワークがフリーズすることが度々・・・。
これは/boot/cmdline.txtにsmsc95xx.turbo_mode=Nを追記することで解決した。
これも半2重にする意味のようなので遅くはなるのだろう。リモコン用途では充分。

kuro-rsを接続してもftdi_sioは自動では読み込まれない。これは
/sbin/modprobe ftdi_sio vendor=0x0411 product=0x00b3 とする。これで/dev/ttyUSB0ができる。
通常www-dataでは/dev/ttyUSB0は読み書きできないのでこれへの対処。(ユーザーを追加とか、chmodしちゃうとか)。

kuro-rsで使用するソフトウェアはkuro-rsに付属していたものなのでソースはアップできない。
rs_rec.cをコンパイルして、TVPOWやその他リモコンのデータを取得。
rs_send.cをコンパイルしてsendIrとした。

lighttpdとphpをapt-getして、lighttpdでPHPを使えるようにする。
phpからraspiのシリアル(/dev/ttyAMA0)を経由してAQUOSをコントロールするためのsendrc.c

使い方は./sendrs 1 とか。1~12に送信するコマンドをハードコーディングしている。
本来ならusageやら設定ファイルやらで変えられるのが望ましいのだが、めんどい。

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress