
今回はI/Oラインパッシングのひとつであるデジタルラインパッシングについて解説します。デジタルラインパッシングには2つのモードが存在します。今回はDIOラインのサンプリングモードに関して解説します。
XBeeにはデジタル入出力(DIO)ラインが備わっており、DIO ピンにデジタル信号を入力することが可能です。デジタルラインパッシングを用いることにより、追加のハードウェアを必要とせずに、DIO 信号をモジュール間で直接送信できます。デジタルラインパッシングのDIOラインのサンプリングモードについて設定方法などを解説します。
1.DIOラインのサンプリングモード
DIOラインとして、送信側XBeeのD1に入力したデジタル信号を設定したサンプリングレートでデジタルラインパッシングにより受信側XBeeに送信する場合を例に具体的な方法を説明します。送信側XBeeのD1をDigital Input [3]に設定し、デジタル入力を有効にします。次に、DIOラインのサンプリングレートIR IO Sampling Rateを設定します。IR使用しているファームウェアにより設定範囲が異なるため以下の表にまとめます。
IR IO Sampling Rateの設定範囲(1ms単位)
最小 | 最大 | |
802.15.4 | 0x1(1ms) | 0xFFFF(65535ms) |
DigiMesh | 0x32(50ms) | 0xFFFF(65535ms) |
高速なサンプリングが必要な場合は802.15.4ファームウェアが適していることが分かります。
2.設定例
デジタルラインパッシングを用いたDIOラインのサンプリングモードの設定例について以下に示します。送信側XBeeのD1(19番ピン)とGND間にタクトスイッチを接続し、受信側XBeeのD1とGND(10番ピン)間にLEDを接続し、送信側のタクトスイッチの情報をデジタルラインパッシングで転送する場合の設定方法を以下に示します。CHやIDの基本的なパラメータは送信側XBeeと受信側XBeeで一致しているものします。
【送信側XBee】
・802.15.4ファームウェアの場合
MY | 1 |
D1 | Digital Input [3] |
IR | 0x1(1ms) |
・DigiMeshファームウェアの場合
D1 | Digital Input [3] |
IR | 0x1(100ms) |
【受信側XBee】
・802.15.4ファームウェアの場合
D1 | Digital Out, Low [4] |
IA | 1(送信側のMYの値)(or FFFF) |
・DigiMeshファームウェアの場合
MY | 1 |
D1 | Digital Out, Low [4] |
IA | 0013A20012345678 (送信側のシリアルナンバー) |
DigiMeshファームウェアで送信側のシリアルナンバーを入力する際には、以下の図のように送信側XBeeのRadio Modulesに表示されているアイコンの上にカーソルを移動し、右クリックでCopy MAC addressを選択し、受信側のIAにペーストすると確実です。

これらの設定が終了したらデジタルラインパッシングを試みます。XBee開発ボードXBIB-U-DEVに送信側XBeeを装着した写真を以下に示します。右下にDIO0からDIO3に対応する4個のタクトスイッチがあります。この中からDIO1を押すことでデジタル信号を入力します。

上記のデジタルラインパッシングの設定がなされると受信側XBeeの受信側XBeeのD1(19番ピン)とGND(10番ピン)間に接続したLEDは発行状態になります。この理由は、送信側XBeeのD1はDigital Inputの状態で3.3Vの電位を維持しており、この内容が反映され受信側のD1が常時3.3Vになっているためです。 この状態で送信側XBeeのタクトスイッチを押してD1とGNDを短絡すると、タクトスイッチを押している時間だけLEDは消光します。送信側XBeeのタクトスイッチを押したときだけLEDを発光させたければ以下の図のように配線します。
