- ZigBeeアーキテクチャ:
- ZigBeeでのデータ送信
- Xbeeルーターとコーディネーターのネットワークの基本
- ZigBeeのさまざまなネットワークトポロジ
- Xbeeファームウェア
- XBee ATコマンド:
一般に、多くの人がXBeeとZigBeeという2つの用語と混同され、ほとんどの人がそれを同じ意味で使用しています。しかし、実際にはそうではありません。ZigBeeは、ワイヤレスネットワークの標準プロトコルです。ながらのXBeeは等ジグビー、のWi-Fi(のWi-フライモジュール)、802.15.4、868 MHzのモジュールを含む支持体の様々な無線通信プロトコルは、ここでは主に構成さのXBee /のXBee-PRO ZB RFモジュールに焦点を当てていること製品でありますZigBeeファームウェアの。
複雑な計算がユーザーフレンドリーなインターフェースで実行されるコンピューターの計算機について考えてみてください。ハードウェアしか利用できなかったとしたら、この作業は非常に困難で面倒だったでしょう。したがって、最高レベルでは、ソフトウェアの可用性により、問題解決プロセスが容易になります。プロセス全体は、上位レベルによって呼び出される実際のハードウェアによってソフトウェアのレイヤーに分割されます。
私たちは日常生活の中でレイヤーの概念さえ使用しています。たとえば、宅配便や手紙を友人の家に送ったり、世界のある場所から別の場所にメールを送信したりします。同様に、最新のネットワークプロトコルのほとんどは、レイヤーの概念を採用して、さまざまなソフトウェアコンポーネントを、さまざまな方法で組み立てることができる独立したモジュールに分離しています。 Xbeeアーキテクチャを深く理解するには、手を汚さなければならないかもしれませんが、私たちはあなたのために物事を非常に簡単にします。
ルーティング、衝突回避、確認応答などの基本的な用語から始めましょう。 最初の用語を理解するには、パスを追跡または識別することを意味する「ルート」という名前で行ってください。ネットワークでは、ルーティングとは、送信元ノードから宛先ノードへのデータへの方向性を提供することを意味します。ネットワーク内の2つのノードが同時に送信しようとすると、衝突と呼ばれる状況が発生します。したがって、一般に 、衝突を回避 するための衝突 回避を伴うキャリアセンスマルチアクセス(CSMA / CA)技術では 、このリンクを使用してCSMAについて詳しく知ることができます。基本的に、ノードは人間の会話と同じように話します。彼らは、データの送信を開始する前に、誰も話していないことを簡単に確認します。
受信機は送信されたデータを正常に受信するたびに、送信機を確認します。データの流れが受信機の無線を圧倒してはなりません。受信無線には、着信データを処理できる速度と、着信データを格納するためのメモリの量が制限されています。
ZigBeeアーキテクチャ:
あり利用できる主要な4層の物理層、メディアアクセス層、ネットワーク層とアプリケーション層をしているのZigBeeスタックでは。
アプリケーション層 は、プロファイル、クラスター、エンドポイントなど、さまざまなアドレス指定オブジェクトを定義します。上の図でZigBeeスタックレイヤーを見ることができます。
ネットワーク層:RFデータパケットが複数のデバイス(複数の「ホップ」)を通過して、ソースから宛先(ピアツーピア)にデータをルーティングできるようにするルーティング機能を追加します。
MAC層 は、隣接するデバイス間のRFデータトランザクションを管理します(ポイントツーポイント)。MACには、送信の再試行と確認応答の管理、衝突回避技術などのサービスが含まれています。
物理層:ネットワークを構築するためにデバイスを接続する方法を定義します。これは、出力電力、チャネル数、および伝送速度を定義します。ほとんどのZigBeeアプリケーションは、250kbpsのデータレートで2.4 GHzISM帯域で動作します。
ほとんどのXBeeファミリには、フロー制御、I / O、A / D、およびインジケータラインが組み込まれており、適切なコマンドを使用して構成できます。アナログサンプルは10ビット値として返されます。アナログ読み取り値は、0x0000が0Vを表し、0x3FF = 1.2Vになるようにスケーリングされます。(モジュールのアナログ入力は1.2Vを超えることはできません)
A / D読み取り値をmVに変換するには、次の手順を実行します。
AD(mV)=(A / D読み取り値* 1200mV)/ 1023
ZigBeeでのデータ送信
ネットワークは、ある場所から別の場所にデータを送信できるソフトウェアとハードウェアの組み合わせとして呼び出すことができます。ハードウェアは、ネットワークのあるポイントから別のポイントに信号を伝送する責任があります。ソフトウェアは、期待どおりに機能することを可能にする命令セットで構成されています。
一般に、 ZigBeeパケットによる データ送信は 、ユニキャストとブロードキャストの2つの方法で実行できます。
放送送信:
簡単に言うと、放送とはラジオやテレビで送信される情報/番組を意味します。言い換えると、ブロードキャスト送信はネットワーク内の多くまたはすべてのデバイスに送信されます。ZigBeeプロトコルを使用したブロードキャスト送信は、すべてのノードが送信を受信するようにネットワーク全体に伝播されます。これを実現するために、ブロードキャスト送信を受信するコーディネーターとすべてのルーターは、パケットを3回再送信します。
ユニキャスト送信:
ZigBeeでのユニキャスト送信は、あるソースデバイスから別の宛先デバイスにデータをルーティングします。宛先デバイスは、送信元デバイスのすぐ隣にある場合もあれば、途中に複数のホップがある場合もあります。以下の図に、双方向リンクの信頼性を認識するメカニズムを説明する例を示します。
Xbeeルーターとコーディネーターのネットワークの基本
友達の家に行くには何が必要ですか?あなたは彼の住所が必要です。同様に、あるXbeeモジュールから別のモジュールにデータを送信するには、その一意のアドレスが必要です。人と同じように、Xbeeにもいくつかのアドレスがあり、それぞれがネットワーキングにおいて特定の役割を果たします。 アドレスには、静的アドレス(64ビットアドレス)と動的アドレス(16ビットアドレス)の2種類があります。
住所:
64ビットアドレスは普遍的に一意です。Xbeeモジュール内でメーカーによって固定されています。地球上の他のZigBee無線機は、同じ静的アドレスを持ちません。すべてのxbeeモジュールの背面に、以下に示すようにこのアドレスが表示されます。特に、アドレス「0013A200」の上位部分はすべてのxbeeモジュールで同じです。
デバイスは、ZigBeeネットワークに参加するときに、ローカルで一意である必要がある16ビットアドレスを受信します。16ビットアドレス0x0000は、コーディネーター用に予約されています。他のすべてのデバイスは、参加を許可するルーターまたはコーディネーターデバイスからランダムに生成されたアドレスを受け取ります。2つのデバイスが同じ16ビットアドレスを持っていることが判明した場合、またはデバイスがネットワークを離れて後で参加した場合(異なるアドレスを受信できる場合)、16ビットアドレスは変更される可能性があります。
ノード識別子:
私たちの脳は、数字ではなく文字列を覚える方が常に簡単です。したがって、ネットワーク内の各Xbeeモジュールにノード識別子を割り当てることができます。 ノード識別子は文字のセット、つまり文字列であり、ネットワーク内のノードをアドレス指定するためのより人間に優しい方法です。
パーソナルエリアネットワーク:
これらのXbeeモジュールによって開発されたネットワークは、パーソナルエリアネットワークまたはPANと呼ばれます。各ネットワークは、一意のPAN識別子(PAN ID)で定義されます。この識別子は、同じネットワークのすべてのデバイスに共通です。 ZigBeeは、64ビットと16ビットの両方のPANIDをサポートします。両方のPANアドレスは、ネットワークを一意に識別するために使用されます。同じZigBeeネットワーク上のデバイスは、同じ64ビットと16ビットのPANIDを共有する必要があります。複数のZigBeeネットワークが相互の範囲内で動作している場合、それぞれに一意のPANIDが必要です。
16ビットのPANIDは、ネットワーク内のデバイス間のすべてのRFデータ送信でMAC層をアドレス指定するために使用されます。ただし、16ビットPAN IDのアドレス空間が限られているため(65,535の可能性)、複数のZigBeeネットワーク(相互の範囲内)が同じ16ビットPANIDを持つ可能性があります。これらの競合を解決するために、ZigBeeAllianceは64ビットのPANIDを作成しました。ZigBeeは、コーディネーター、ルーター、エンドデバイスの3つの異なるデバイスタイプを定義します。
ネットワークのセットアップを担当するために、すべてのネットワークに常に1人のコーディネーターが必要です。だから、それは決して眠ることができません。また、ネットワークを開始するためのチャネルとPAN ID(64ビットと16ビットの両方)を選択する役割も果たします。ルーターとエンドデバイスがネットワークに参加できるようにすることができます。ネットワーク内のデータのルーティングを支援できます。
ネットワークには複数のルーターが存在する可能性があります。1つのルーターは、他のルーター/ EP(エンドポイント)から信号を取得できます。また、眠ることはできません。データを送信、受信、またはルーティングする前に、ZigbeePANに参加する必要があります。参加後、ルーターとエンドデバイスがネットワークに参加できるようになります。参加後は、データのルーティングにも役立ちます。スリープ状態のエンドデバイスのRFデータパケットをバッファリングできます。
複数のエンドポイントが存在する場合もあります。電力を節約するためにスリープモードにすることができます。データを送受信する前にZigBeePANに参加する必要があり、デバイスがネットワークに参加することさえ許可できません。送信/受信データは親に依存します。
エンドデバイスはスリープモードになる可能性があるため、親デバイスは、エンドデバイスがウェイクアップしてデータパケットを受信するまで、着信データパケットをバッファリングまたは保持する必要があります。
ZigBeeのさまざまなネットワークトポロジ
ネットワークトポロジとは、ネットワークが設計された方法を指します。ここで、トポロジは、すべてのリンクとリンクデバイス(コーディネーター、ルーター、エンドデバイス)の相互関係を幾何学的に表現したものです。
ここには、スター、ハイブリッド、ツリーの4つの基本的なトポロジメッシュがあります。
メッシュトポロジエンドデバイスが直接通信できないので、すべてのノードは、エンドデバイス期待互いにノードに接続されています。2つのZB無線間の単純な通信を有効にするには、1つをコーディネーターファームウェアで構成し、もう1つをルーターまたはエンドポイントファームウェアで構成する必要があります。メッシュネットワークの主な利点は、リンクの1つが使用できなくなっても、システム全体が機能しなくなることはないということです。
でスタートポロジ、各デバイスは、中央制御装置(コーディネータ)に専用のポイントツーポイント接続を有します。すべてのデバイスが相互に直接リンクされているわけではありません。メッシュトポロジとは異なり、スタートポロジでは、あるデバイスが別のデバイスに直接何も送信することはできません。コーディネーターまたはハブは交換のためにあります。あるデバイスが別のデバイスにデータを送信する場合、コーディネーターはデータをコーディネーターに送信し、コーディネーターはさらにデータを宛先デバイスに送信します。
ハイブリッドネットワークは、2種類以上の通信規格を含むネットワークです。ここで、ハイブリッドネットワークはスターネットワークとツリーネットワークの組み合わせであり、コーディネーターノードに直接接続されているエンドデバイスはほとんどなく、他のエンドデバイスはデータを受信するために親ノードの助けを必要とします。
でツリー ネットワーク、ルータは一般的に、各ルータの周りにクラスタ化されたバックボーンとエンドデバイスを形成しています。ルーターが相互接続されていないという事実を除いて、メッシュ構成と大差ありません。上の図を使用してこれらのネットワークを視覚化できます。
Xbeeファームウェア
XBee Programmableモジュールには、フリースケールのアプリケーションプロセッサが搭載されています。このアプリケーションプロセッサには、付属のブートローダーが付属しています。このXBeeZVファームウェアはEmbernet3.xx ZigBee-PROスタックに基づいており、XBee-Znet2.5モジュールをこの機能にアップグレードできます。この章の後半で説明するATVRコマンドを使用してファームウェアを確認できます。 XBeeのバージョン番号は有効数字4桁になります。バージョン番号は、ATVRコマンドを使用して確認することもできます。応答は3つまたは4つの数値を返します。すべての数値は16進数であり、0〜0xFの範囲にすることができます。バージョンは「ABCD」として報告されます。数字ABCはメインリリース番号で、Dはメインリリースからのリビジョン番号です。第4章で説明されているAPIとATコマンドは、Znet2.5とZBファームウェアでほぼ同じです。
電気通信では、Hayesコマンド全体がHayesモデムSmart Modem用に開発された言語固有のコマンドであり、1981年には、モデムを制御するための一連の短い単語であり、当時のモデムの通信とセットアップを簡単にしました。
XBeeはコマンドモードでも動作し、ATTENTIONを表すATコマンドをオフにします。これらのコマンドは端末XBeeを介してXBeeに送信できます。AT構成のXBee無線には2つの通信モードがあります。
透過的:無線は、受信した情報のみを、設定されているリモート無線アドレスに渡します。シリアルポートを介して送信されたデータは、XBeeによってそのまま受信されます。
コマンド:このモードは、無線と通信し、いくつかの事前構成されたモードを構成するために使用されます。このモードでモジュールと通信し、構成を変更します。
+++と入力して、他のボタンを押さずに1秒間待つと、「OK」というメッセージが端末の画像として表示されます。OKまでに、XBeeは、コマンドモードで過ごし、構成メッセージを受信する準備ができていることを通知します。
XBee ATコマンド:
AT(TEST):これは、応答がOKを確認するときに、モジュールがOKを応答しているかどうかを確認するためのテストコマンドです。
ATDH:宛先アドレスが高い。64ビットの宛先アドレスの上位32ビットを構成するには、DLとDHを組み合わせて64ビットの宛先アドレスを指定します。
ATDL:宛先アドレスが低い。これも、64ビットの宛先アドレスの下位32ビットを構成するためのものです。
ATID:このコマンドはPAN IDを変更します(PersThe IDは16進数の4バイトで、0000からFFFFの範囲で指定できます)
ATWR:書き込み。パラメータ値を不揮発性メモリに書き込んで、パラメータの変更が後続のリセットを通じて持続するようにします。
注:WRが発行されると、追加の文字はモジュールに送信されません。
「OK \ r」応答を受信した後。
ATRE(デフォルトに戻す):モジュールに工場出荷時の設定を復元します。モジュールが応答しない場合に非常に便利です。
ZigBeeモジュールについて詳しく知りたい場合は、Digiの優れたリソースをご覧ください。