Orange Pi PCに接続した8チャンネルのUSBリレー・ボードを、ネット経由で制御できるようにしたので簡単にレポートを書いてみよう。私がやったことといえばネットを徘徊して安価なリレー・ボード(US$8.48)を購入したのと、crelayというソフトを見つけたくらい。このソフトが素晴らしい出来だった。

まず、リレー・ボードだがUSB HIDクラスで動作する製品(リレー動作用にDC12Vの電源アダプターが必要)で、探せばWindows用の専用アプリが存在するようだ。Raspberry PiやOrange Pi といった小型のLinuxカードPCで制御する方法を調べてみたところ、usbrelayというユーティリティーが存在することが判った。サーバー用armbianをインストール済みのOrange Pi PCにusbrelayを入れるには次のコマンドを実行する。

sudo apt-get install usbrelay

正しくリレー・ボードが認識されている場合、sudo usbrelayとコマンドを叩けば次のように表示されるだろう。

Device Found
type: 16c0 05df
path: /dev/hidraw2
serial_number:
Manufacturer: www.dcttech.com
Product: USBRelay8
Release: 100
Interface: 0
Number of Relays = 8
5291D_1=0
5291D_2=0
5291D_3=0
5291D_4=0
5291D_5=0
5291D_6=0
5291D_7=0
5291D_8=0

これで次のようなコマンドでリレーを個別に制御できる。

sudo usbrelay 5291D_1=1
sudo usbrelay 5291D_1=0 5291D_2=1 5291D_3=1

さて、リレー・ボードのテストが済んだら、次にcrelayのインストールに取りかかろう。このソフトはUSB HIDクラス対応のリレー・ボードを含む4種のボードに対応している他、webサーバーで下のようなGUI画面を提供できる。

まず、依存パッケージのインストールから...

apt-get install libftdi1 libftdi-dev libhidapi-libusb0 libhidapi-dev libusb-1.0-0 libusb-1.0-0-dev

次に、gitレポジトリーのコピー。

git clone https://github.com/ondrej1024/crelay
cd crelay/src

そして、USB HIDクラスのみを有効にする形でビルドしてインストール。

make [DRV_CONRAD=n] [DRV_SAINSMART=n] [DRV_SAINSMART16=n]
sudo make install

これでweb GUIのデーモンを起動すればブラウザーからアクセスできるようになる。

sudo crelay -D

アクセス先は次のようなアドレスである。

http://192.168.xxx.xxx:8000

VPNを介して外部からの制御が可能だが、まともに使うにはセキュリティーが課題になるだろう。

※ web GUI画面のスクリーン・ショットは実際とバナー・イメージが変わっています。(crelay.cのソースを編集して、バナーのダウンロード先のURLを変更、イメージを差し替えている。)