前回は、「
X10」という製品群を用いると、家庭内の電力線を通じて、電源のオン/オフが制御できるところまでお話ししました。ところが、その記事の最後で書きましたように、PC とのシリアル通信インターフェース基板が国内では入手難という事態が判明しました。
それゆえ、結局のところ計画変更に至ってしまうのですが、これまでに実験した方法と、それを参考に先へ進みたい方への情報を書いておきたいと思います。
●
シリアル通信基板とは まず、問題となっているシリアル通信基板の説明をしておきます。下の写真が現物一式で、左から制御ユニット、インターフェース基板、ACアダプタとなっています。制御ユニットを AC コンセントに差し込んで子機と通信を行います。

写真1:シリアル通信基板の一式
写真2が国内入手難のインターフェース基板で、皆さんの推察通り「それならば自作可能なのか」が気になるところですが、全体としてどのような信号の流れ(インターフェース)をしているのか、こちらの参考情報を先に説明したいと思います。

写真2:インターフェース基板を拡大したところ
●
通信実験 事前に購入しておいたシリアル通信基板で行った実験手順はこのようなものです。始めに、ネットワーク(XPort)経由で、シリアル変換をさせますから、 XPort に対して通信確認をしておきます。ここでは、XPort の IP アドレスを 192.168.1.22 としました。
kurobox-pro:/home/k-wada/program/xport# ping 192.168.1.22
PING 192.168.1.22 (192.168.1.22) 56(84) bytes of data.
64 bytes from 192.168.1.22: icmp_seq=1 ttl=64 time=0.235 ms
64 bytes from 192.168.1.22: icmp_seq=2 ttl=64 time=0.273 ms
次に、XPort との通信プログラムを用意します。ソースは以前紹介した xport.c を若干変更したもので、
こちらです。コンパイルは cc -o xport xport.c でよいでしょう。利用方法としては、-h オプションでネットワーク上の XPort の IP アドレスを渡すようにします。
ところで、X10 の(シリアル通信基板の)コントロール・シーケンスを知る必要がありますが、基板から読めるインターフェース・チップ名(TW523)および「X10」の会社名で検索すると、
http://www.freecon.co.jp/pdf/X10_FCPLC.pdfが見つかりますので、ここに表記されたコマンドを利用します。
これによれば、「アドレス・コマンド送出」は次のようなフォーマットで、送信パラメータは「"&" + "ハウス・コード" + "アドレス・コード"」となっています。
送信パラメータ: "!" + "ハウス・コード" + "20" (電源オン)
送信パラメータ: "!" + "ハウス・コード" + "28" (電源オフ)
●
制御実験 電源オン/オフのパラメータを(XPortを通じて)シリアル通信で、上述しているシリアル通信基板に送り付けるためには、このようにします。
kurobox-pro:/home/k-wada/program/xport# echo -n "\!A20" | ./xport -h 192.168.1.22
kurobox-pro:/home/k-wada/program/xport# echo -n "\!A28" | ./xport -h 192.168.1.22
なお余談ですが、シリアル通信基板の入手時においては、
http://www.freecon.co.jp/pdf/X10_FCPLC.pdf の資料中に説明が載っている、

このような制御プログラムも添付されていました。
●
どのような代替方法が残されているか シリアル通信基板について同等の機能を考えた場合、いくつかの方法が考えられます。キーワードとしては、コントロール IC 名である TW523 でネット検索をしてみると、こんな方法がありそうです。
*
海外から相当品らしき製品を購入する *
Linux でパラレル・ポートを利用してインターフェースを組む *
PIC でインターフェースを自作する *
TW523 のインターフェース信号を理解する *
linux ドライバを開発してみる *
X10 について深く知る(wikipedia)
シリアル通信基板で読取ることができる会社名(
www.digitalnemesis.com)より、直接に基板が購入できるものかも調べてみましたが、
A customer in Japan requested that Digital Nemesis develop a microcontroller based board to simplify the connection of a computer to an X10 network.
The resulting board manages the complex timing required to interface with a "TW-523" power line interface and provides a simple serial interface to its host computer.
として記述があるとおり、どうも OEM 製品のようでした。
●
最後に 今回、最後まで読んでいただいた方には、ちょっとがっかりさせてしまうような記事になってしまいました。ただ、進む道が閉ざされてしまったわけではありません。「
PIC でインターフェースを自作する」には、回路図とプログラムが掲載されていますので、恐らく、シリアル通信基板の互換品が作成できるのではないでしょうか。あるいは、読者の中には、スイッチ型の親機コントローラにリレー接点などを用いてインターフェースする案を実行される方がおられるかもしれません。
本記事が、玄箱(pro)からインターネット経由を含めて、遠隔にある機材の AC/100V のオンオフ制御の参考の一助となれば幸いです。
<和田 好司>
コメントする