2

私は、プッシュボタンが上か下かをXBeeに送信させることで遊んでいます。

これを行うために、XBeeのDIO4に接続された回路から出ているワイヤーを持っています。X-CTUを使用してDIO4をデジタル入力モードに設定しました。他に何も有効になっていません。

現在、センサーXBeeはZigBee I/OデータサンプルRxインジケーターパケットを送信しています。パケットの解析に役立てるために、「BuildingWirelessSensorNetworks」の本を使用しました。パケットには常にアナログサンプル値が含まれ、デジタルピンが設定されている場合にのみデジタルサンプル値が含まれると書かれています。21バイトのパケットが返されます。これは、デジタルビットサンプルが含まれていないことを意味します。デジタルマスクは、IO4が有効であり、すべてのアナログ入力が無効であることを示しています。ただし、デジタル値はアナログサンプルに配置されているようです。

これは私の混乱です。デジタルサンプルがアナログサンプルに詰め込まれているのはなぜですか?または、アナログ入力が構成されていない場合(本の内容とは逆に)、アナログサンプルは単に省略されていますか?

4

1 に答える 1

2

簡単な回答: はい。アナログ チャネル マスクにビットが設定されている場合、ペイロードにはアナログ サンプルしかありません。

長い回答: XBee S2B のドキュメントでは、114 ページの ZigBee IO データ サンプル Rx インジケーター セクションでパケットの詳細が説明されています。

要約すると、ペイロードはサンプル数 (常に 0x01) で始まり、次に 16 ビットのデジタル チャネル マスクと 8 ビットのアナログ チャネル マスクです。マスクは、その後に続くデータを示します。デジタル チャネル マスクにビットが設定されている場合、デジタル サンプルを保持する 16 ビット値が存在します。次に、AD0 から AD3 までのアナログ チャネル マスクで示される各アナログ サンプルの 16 ビット値と、それに続く電源電圧。

Digi のオープン ソース XBee ホスト C ライブラリには、これらのフレームの解析を示すいくつかのコードが含まれinclude/xbee/io.hています。src/xbee/xbee_io.c

于 2013-02-12T16:23:06.113 に答える