1

リレーからボード上のリレーの状態を取得したいのですが、ACKしか返ってきません。

2 つの XBee モジュールがあり、1 つは USB でコンピュータに接続され、シリアル デバイスとして機能し、もう 1 つは TOSR0X-T リレーに接続されています。後でより多くのリレーを使用してネットワークに XBee モジュールを追加することを計画しているため、単純な AT モードではなく API モードを使用しています。

64 ビット アドレスの TX フレームをリモート XBee に送信して、リレーを開いたり閉じたりしています。それは正常に動作し、ACK 応答フレームを適切に取得します。しかし、0x5B を送信してリレー状態を取得するメッセージを送信すると、ACK のみが返され、リレー状態を示す実際のデータを取得する方法が見つかりません。

node-serialportX-CTUソフトウェアを使用していますが、データを読み取ることができませんでした。同じマシンに接続された両方の XBee を使用していることがわかった唯一の例でした。このようにして、宛先 XBee に RX が表示されましたが、取得する必要があります。どういうわけかそれをリモートで。

ここのTOSR0X-Tのドキュメントは、TXメッセージを介してそれと通信することについてのみ説明しているため、コマンドで何かを達成できるかどうか(およびその方法)はわかりません。

4

2 に答える 2

1

表示されている ACK はネットワーク層の ACK である可能性が高く、リモート XBee モジュールがパケットを受信したことを示しています。TOSR0X-T に接続された XBee で「AT モード」を使用し、そのモード用に TX API フレームを正しくアドレス指定する必要があります (エンドポイント 0xE8 のクラスター 0x0011)。

コンピューターで XBee をコーディネーターとして構成した場合、リレーの XBee モジュールのデフォルト設定が 0 の場合、DH受信DLしたすべてのシリアル バイトがコンピューターの XBee にリレーされ、RX フレームとして送信されます。

于 2016-07-11T18:39:23.367 に答える
0

いくつかの実験の後、私は私の問題を解決することができました。

CH (チャンネル) と ID (PAN ID) が一致していることを考慮して (ネットワークをセットアップできるようにするための要件です)、XBee を次のようにセットアップしました。

Coordinator XBee (コンピューターに接続されているもの):

CE = 1 (for being coordinator)
MY = 0001
DH = 0
DL = 0
AP = 1 (in API mode)

最初のエンドポイント (TOSR0X-T に取り付けられたもの):

CE = 0 (for being an endpoint)
MY = 000A (whatever you want), use FFFF for 64 bit responses
DH = 0
DL = 0001 (This is one I missed. It should be the Coordinator's MY)
AP = 0 (in AP mode)

したがって、DH/DL アドレッシングを除いて、基本的にすべてを正しく行いました。エンドポイントの場合、コーディネーターのDLに設定する必要があります。MYFFFFやFFFEなどを使って放送を設定している記事を読んだことがありますが、その情報に戸惑ったと思います。

于 2016-07-17T11:37:33.800 に答える