無線モジュールXBeeの設定について
デジタル屏風では、音楽に光が連動する光音共演コンピュータの開発を行っています。本製品はPCとLEDランプがUSBケーブルでつながっています。PCとLEDランプがワイヤレスでつながれば、設置場所の制約がなくなります。音楽に合せて光るLEDを室内の自由な場所におくことが出来るのです。また無線でセンサとアクチュエータを結ぶ技術を習得すれば、色々な領域で有用な新しい製品が作れるのではないかと考えています。このような背景で無線モジュールXBee(Digi Intenatinal社製)の試用を行っています。XBeeは10円玉サイズのモジュールです。秋月電子で1個2,500円で、送受信用に2個購入しました。
文献やインタネット上の情報を元に無線通信を試みましたが、通信できず原因もわからりませんでした。そこでサンプルプログラムがたくさん付いている「Arduinoプログラム全集(国野亘著)」を見つけ、これに準拠してXBeeを使った無線通信を試しているところです。
まず、XBeeの通信を確認するために必要な機材として、XBee USBエクスプローラ(XBeeのシリアル信号をPC用USB信号に変換することを主機能とする)というものが送受信確認のため2つ必要とわかりました。こちらは秋月電子で1個1,280円で購入しました。なお、他の文献では、Arduino+Wirelessシールドという部品を使っているものがありますが、これはなくても送受信の確認ができるとわかりました。
XBee USBエクスプローラのPWR-SELの設定がわからず多大な時間を費やしましたが、さらにXBeeの通電を安定させるために輪ゴムで固定しました。これでXBeeの電気の供給がようやく安定してできるようになりました。
前記「Arduinoプログラム全集」では、X-CTUというXBee設定ソフトウェアとして旧バージョンの5.2.8.6を使用しているので、こちらを使うことに方針変更しました。X-CTU5.2.8.6のインストール完了後、FIRMWAREのREADでエラーになってしまいます。色々ためした挙句、最新バージョンのX-CTUをPCからアンインストールすることで、正常動作することがわかりました。
さらに、「Arduinoプログラム全集」では「Modem Configuration」画面で、XBeeが「XB24-ZB」Function Setが「ZIGBEE ROUTER AT」もしくは「ZIGBEE CORDINATOR AT」を、XBeeの役割に応じて、指定するように記述されていますが、筆者の購入した「XBee S2C」ではFunction Setを上記のものから選定することが出来ません。既定値として「ZIGBEE TH REG」という値がセットされています。これについては、Digi Internatinal社のFAQに、CordinatorやRouterを指定する必要が無い旨記載があり、最終的にFunction Set「ZIGBEE TH REG」で無線通信を確認しました。
さらにさらに躓いたのは、「Cordinator Enable」というパラメータです。このパラメータを「1」に設定しないと動作しないのではないかと想定しましたが、逆に「1」に設定すると動作しなくなってしまいます。
Digi Internatinal社で公開されている諸々のドキュメントは、最新バージョンのX-CTUに関するもののようで、筆者が「Arduinoプログラム全集」に基づいて使っているX-CTUとは異なります。
色々なトラブルを乗り越えて、2つのXBeeの通信を確認することができました。X-CTUの画面を二つ立ち上げ、「TERMINAL」タブから文字列を入力すると、もう一つの画面でその文字列が直ちに表示されます。
これでようやく光音共演コンピュータを無線を介して動作させる準備ができました。