---
# System prepended metadata

title: AruduinoとXBeeで無線通信してみる(設定編)
tags: [Aruduino, ' XBee']

---

---
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という専用ツールを使って、設定をしないと使えないので、まずは設定を行います。

## 使うもの（ハードウェア)

![](https://lh3.googleusercontent.com/T4tsOKolksNaM141oDWo-6oo2JcdFH0SpjtHFBOXSZ6-hwdPSnMHG3rq2GpUMCFhd-3ir2nL282vaR7VAd9lwp1ymWs4uQmzjpPsFV0akzdE2teRCXZu07Syv8pvEVkaBr69xCJ32kc=w1024-no)


- [Aruduino UNO](https://amzn.to/2IAQiRS)
- [Xbee S2C](https://amzn.to/2ICWcBV)
- [XBee USB アダプター(リセットスイッチ付き)](https://amzn.to/2MuucBs)
- [Ａｒｄｕｉｎｏ用Ｘｂｅｅシールド](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モジューの裏側に記載されています。

とりあえず、今回利用する２つのXBeeのMACアドレスをメモしておきます。

1. 0013A2004196ABFB　←利用するXBeeのMACアドレス
2. 0013A2004196AAA2　←利用するXBeeのMACアドレス

### XCTUで設定

1. **XBeeをPCに接続**
　XBeeをUSBアダプターに取り付けPCとUSBケーブルで接続します。
 ![](https://lh3.googleusercontent.com/HdlkVJjuT-Jtrh9VW3GxbRQ0H1me3L31jLx7e3YG10f0Cxa3QO17JF7yrYecYX4VEaaB6ApxZBkJcaCtLOe-1qaS6NLO2Fz6EJW2QpsVs5d4vM5VRMF1Z2vnJEnrRWB2HUe3CfGBAPk=w1024-no)
1. **XCTUを起動**
1. **XBeeを認識させる**
   - ```+```の付いたアイコンをクリック
![](https://i.gyazo.com/48992d7293779389ae9e0c0362d91f7c.png)
   - USBポートと、シリアル通信の設定を確認して「Finish」
![](https://i.gyazo.com/58887779534c2fa941e26a607560e86b.png)
1. **設定内容の読み込み**
   - 認識されたXBeeモジュールをクリック
   ![](https://i.gyazo.com/ed2935f61fad5da3a55871c3d1b6dab2.png)
1. **通信相手の設定**
   - ID : 通信相手と同じ値を設定する必要があります。
   （同じであれば良い）
   - DH : 通信相手のMACアドレス上位32bit
   - DL : 通信相手のMACアドレス下位32bit
   ![](https://i.gyazo.com/6b357c99e5083b02b8b567cb57a71a89.png)
1. **役割設定**
   - 1台を[Coordinator]、1台を[End Device]にする必要があります。
   ![](https://i.gyazo.com/f387ec61b0c66a0cd040fd929e37bd5b.png)
1. **通信設定**
   - ボーレートやパリティの設定をメモしておきます。
   - AP : 今回はATモードを使うので、「API Disabled」
   ![](https://i.gyazo.com/075bda1e9b545e248d6738fc27e555dd.png)
1. **設定書き込み**
   - [Write]ボタンで変更した設定をXBeeに書き込みます。
![](https://i.gyazo.com/7d5fab023ecbc44dc7bd90c950906712.png)

同じように、もう一台も設定します。


## ArduinoをPCに接続して通信確認

Aruduinoのプログラムはせずに、単純にUSBインターフェースとして使います。

### Aruduinoに空のプログラムを書き込む
単純にUSBインターフェースとして使う場合、Aruduinoに空のプログラムを書き込みます。
**Aruduinoにプログラムを書き込む際は、Ｘｂｅｅシールドを外しておきましょう。**
Arduino IDEのメニューからファイル（File)→ スケッチの例（Examples）→01.Basics→BareMinimumを開き、Arduinoにアップロードします。

### AruduinoにXBeeを接続
XbeeシールドにXBeeを挿入し、XBeeシールドをAruduinoに接続します。
この際、Xbeeシールドのスイッチは以下のようにします。
   - [RUN/PROG] -> RUN
   - [XBEE/USB] -> USB

### ２つのXBeeをそれぞれPCにUSB接続
それぞれUSBケーブルでPCに接続します。
![](https://lh3.googleusercontent.com/Hw-LY6poWZKsVWBU1Os55QCJrc74UNK5cDZCvon2KpWNmm9l6jTe9f9QlCIX2_tLCZ5wO2Ud56zIh64GP7GsTDMTnjNGSNvYTeyiSShDwlqt60ojzUCBHNjMfaayta1qDOV4Kje7Pqc=w1024-no)

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

   Console logに、データが表示されていればOKです。
   青が送信したデータ、赤が受信したデータです。
![](https://i.gyazo.com/504860b1228d45070de83123e57dc3f7.png) 

#### 実験：送信先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/)
