---
description: AruduinoとXBee無線モジュールを使って、無線通信をしてみようと思います。 XBeeモジュールは、X-CTUという専用ツールを使って、設定をしないと使えないので、まずは設定を行います。
image: https://lh3.googleusercontent.com/T4tsOKolksNaM141oDWo-6oo2JcdFH0SpjtHFBOXSZ6-hwdPSnMHG3rq2GpUMCFhd-3ir2nL282vaR7VAd9lwp1ymWs4uQmzjpPsFV0akzdE2teRCXZu07Syv8pvEVkaBr69xCJ32kc=w1024-no
tags: Aruduino, XBee
lang: ja-jp
---
# AruduinoとXBeeで無線通信してみる(設定編)
AruduinoとXBee無線モジュールを使って、無線通信をしてみようと思います。
XBeeモジュールは、X-CTUという専用ツールを使って、設定をしないと使えないので、まずは設定を行います。
## 使うもの(ハードウェア)

- [Aruduino UNO](https://amzn.to/2IAQiRS)
- [Xbee S2C](https://amzn.to/2ICWcBV)
- [XBee USB アダプター(リセットスイッチ付き)](https://amzn.to/2MuucBs)
- [Arduino用Xbeeシールド](http://akizukidenshi.com/catalog/g/gM-07030/)
## 使うもの(ソフトウェア)
- [XCTU](https://www.digi.com/support/productdetail?pid=3352&osvid=57&type=utilities)
XBeeの設定を行うためのツールです。
## XBeeの設定
XCTUを使って、お互いの通信相手のMACアドレスを設定します。
MACアドレスは、それぞれのXBeeモジュールに割り当てられた個別の64bitのアドレスで、XBeeモジューの裏側に記載されています。
とりあえず、今回利用する2つのXBeeのMACアドレスをメモしておきます。
1. 0013A2004196ABFB ←利用するXBeeのMACアドレス
2. 0013A2004196AAA2 ←利用するXBeeのMACアドレス
### XCTUで設定
1. **XBeeをPCに接続**
XBeeをUSBアダプターに取り付けPCとUSBケーブルで接続します。

1. **XCTUを起動**
1. **XBeeを認識させる**
- ```+```の付いたアイコンをクリック

- USBポートと、シリアル通信の設定を確認して「Finish」

1. **設定内容の読み込み**
- 認識されたXBeeモジュールをクリック

1. **通信相手の設定**
- ID : 通信相手と同じ値を設定する必要があります。
(同じであれば良い)
- DH : 通信相手のMACアドレス上位32bit
- DL : 通信相手のMACアドレス下位32bit

1. **役割設定**
- 1台を[Coordinator]、1台を[End Device]にする必要があります。

1. **通信設定**
- ボーレートやパリティの設定をメモしておきます。
- AP : 今回はATモードを使うので、「API Disabled」

1. **設定書き込み**
- [Write]ボタンで変更した設定をXBeeに書き込みます。

同じように、もう一台も設定します。
## ArduinoをPCに接続して通信確認
Aruduinoのプログラムはせずに、単純にUSBインターフェースとして使います。
### Aruduinoに空のプログラムを書き込む
単純にUSBインターフェースとして使う場合、Aruduinoに空のプログラムを書き込みます。
**Aruduinoにプログラムを書き込む際は、Xbeeシールドを外しておきましょう。**
Arduino IDEのメニューからファイル(File)→ スケッチの例(Examples)→01.Basics→BareMinimumを開き、Arduinoにアップロードします。
### AruduinoにXBeeを接続
XbeeシールドにXBeeを挿入し、XBeeシールドをAruduinoに接続します。
この際、Xbeeシールドのスイッチは以下のようにします。
- [RUN/PROG] -> RUN
- [XBEE/USB] -> USB
### 2つのXBeeをそれぞれPCにUSB接続
それぞれUSBケーブルでPCに接続します。

### XCTUで2つのXBeeを認識
```+```アイコンで、それぞれのUSBインターフェースを選択して、2台のXBeeを認識させます。
1. コンソールモードに切り替え
2. 通信接続(2つとも接続状態にします)
3. 送信データ作成
4. データ送信(お互いにデータを送信してみます)
Console logに、データが表示されていればOKです。
青が送信したデータ、赤が受信したデータです。

#### 実験:送信先MACが違うと送信されないか?
片方のDLに違う値をいれてみます。
結果:
- DH,DLは送信先のアドレスなので、変更した先のデータは届かなかったです。
- DH,DL共に0に設定すると、送信データが相手に届いたので、MACアドレス関係なく全モジュールに送信するようになるみたいです。
#### 実験:Coordinator/End Deviceを変えるとどうなる?
- [EndDevice]-[EndDevice]: 通信できました。
DH,DL=0でも送信できました。
- [Coordinator]-[Coordinator]: 通信できました。
2台での通信では、どの組み合わせでも関係なさそう。
## 参考サイト
[XBeeをはじめてみよう(シリーズ1編) – スイッチサイエンス マガジン](https://mag.switch-science.com/2012/07/20/startup_xbee_s1/)