準備
RBIOはTCP/IPをしゃべって操作する。
DHCPでIPアドレスを勝手に取得してくれるらしいので、まずは/etc/dhcpd.confに
host rbio {
hardware ethernet 00:20:??:??:??:??;
fixed-address 192.168.??.??;
}
てな感じでRBIOのIPアドレスを固定してやる。hardware ethernet 00:20:??:??:??:??;
fixed-address 192.168.??.??;
}
これで、telnetとかで192.168.??.??にアクセスしてやればRBIOとお話が出来る。
方向性
で、俺はPHPしか知らないのでPHPでなんとかする。
制御用コマンドは、共立さんのサイトにあるマニュアルPDFに載ってる。
telnetでアクセスしてやって、たとえば0番のリレーをON/OFFしてやると
PCR01
と返ってくる。OK
PCR00
OK
また、0番がON、1番がOFFの状態で、0番と1番の状態をチェックすると、
PRA0
と返ってくる。1
OK
PCA1
0
OK
てことで、何か1行空いてから答えが返ってくるようなので、PHPで結果を取得するときには1行読み込んで捨ててから、2行目を変数に入れるってことに気をつけようと思った。
仕様
・せっかくPHPなのでブラウザで簡単操作できるように表を作る。
・横10列/縦3行で、1行目にはリレー番号、2行目にはチェックボックスでON/OFFを操作出来るように、3行目には現状ONかOFFかを色で見分けれるように。
・他のプログラムで使用中など接続エラーなときはエラーを表示。
実装
rbio_direct.php
こんな感じのを書いた。期待通りに動作する。外からいじくられると困るので動作は見せられないけど、イメージとしてはrbio_direct.htmlこんな感じの表示になります。