論文番号 ２０１２－分２－２

平成２４年度全国情報技術教育研究会
第４１回全国大会（新潟大会）
Xbee を活用した無線通信の研究

期 日
場 所

平成２４年８月９日(木)～１０日(金)長岡市
シティホールプラザ「アオーレ長岡」

香川県立三豊工業高等学校
電子科
本行 圭介

Xbee を活用した無線通信の研究
香川県立三豊工業高等学校
電子科 本行 圭介

1

2

はじめに
現在、様々な電子機器に無線通信機能が搭載されており、その機能を利用して情報のやり取りを行っている。しかし、工業高等学校の生徒が課題研究等で製作する装置に無線通信機能を持たせることは、容易でない。そこで、シリアル通信の知識があれば無線通信機能を簡単に実現できるものとして Xbee に注目した。
本発表では、Xbee を利用し、無線通信機能を持ったマイコン制御ボードの製作と制御プログラムについて発表する。
Xbee とはXbee はセンサーネットワークを主な目的とする近距離通信規格Zigbeeや無線LANで利用されている Wifi などの無線通信技術を利用し、Xbee 間で無線通信を行うことができる。また、Xbee は Xbee と Xbee PRO という送信パワーの違う 2 つの種類、そして送信するアンテナがホイップアンテナ、チップアンテナなど使用する用途に合わせて複数の種類が販売されている。図 1、図 2 にチップアンテナタイプの Xbee と Xbee PRO の外観を示す。

図 1 Xbee3

図 3 X-CTU

図 4 自作 USB アダプタ
これらの機器とソフトウェアを使用して無線通信を行うための初期設定を行う。

4Xbee 使用した通信方法
Xbee の動作モードには透過モードと APIモードの 2 つがある。
透過モードは図 5 に示すように UART に流したデータがそのまま無線送信されるモードであり、RS-232C と同じ方法で簡単に無線通信を実現できる。

図 2 Xbee PRO

Xbee の設定
Xbee を使用して通信するためには、Xbee内にあるファームウェアを設定しなければならない。そのため、初期設定を行うにはXbee 用USB アダプタを使用してPC と接続し、図3で示す初期設定ソフトウェアX-CTUを使用する必要がある。今回、Xbee 用 USBアダプタは秋月電子で販売しているFT232RL USB 変換モジュールを使用し、自作した。自作した Xbee 用 USB アダプタを
図 4 に示す。

データ

マイコン

USART

Xbee

データ

無線

Xbee

データ

USART

マイコン

図 5 透過モード
しかし、この方式は 1 対 1 での通信に適した方式であり、複数の Xbee と通信をするには適していない。そのため、複数の Xbee と通信を行いたい場合は API モードを利用して通信を行う。
API モードは図 6 に示すように API フレーム形式でデータのやり取りを行う方式である。API フレームは図 7 のようにデータの始まりを表すスタートデリミタ(0x7E)を送信し、その後、送信データのサイズ、送信データ、送信データの誤りを検出するチェックサムで構成されている。

図 6 API モード

図 7 API フレームの構成
API モードで使用するには必ず、ネットワーク内に 1 台のコーディネータ、残りはルータかエンドデバイスで設定する必要がある。
コーディネータは Xbee を使用した無線ネットワークを形成し、正常な状態に保つための機能を管理する。エンドデバイスはコーディネータが形成したネットワークに参加し、データのやり取りを行う。ルータはエンドデバイスの機能とデータの中継機能を持つものである。
API モードを使うことでリモート側 Xbeeの入出力制御や複数の Xbee と通信することができ、XBee の持っている性能を十分に発揮することができる。

5

Xbee を利用したマイコンボードの制作
今回、Xbee を用いた無線通信を確認するためにマイコン制御ボードを製作した。そのブロック図を図 8 に示す。
マイコン制御ボードのマイコンにはAtmel 社の ATMega328P を使用した。このマイコンを Arduino として使用することで、生徒たちが課題研究などでできるようにした。Arduino には制御プログラムを簡単に作成できるようにライブラリが充実しており、Xbee のライブラリも提供されている。
マイコン制御ボードの入出力には LED を8bit、ディップスイッチ 4bit、アナログ入力を 3 入力が利用できるように設計した。

図 8 マイコン制御ボードブロック図
プリント基板の製作には Eagle を使用し、
図 9 のようなパターン図を作成した。作成したパターン図をプリント基板製作用フィル
ムに印刷し、感光基板に焼き付け、エッチング、部品を取り付け、図 10 に示すマイコン制御ボードを完成させた。

図 9 パターン図

図 10 マイコン制御ボード

6

透過モードを利用した通信制御プログラム
透過モードを使用した場合、シリアル通信と同様の方法で通信する事ができる。
図 11 に示す構成で PC から XBee 用 USB
アダプタを経由してマイコン制御ボードにコマンドを送り、LED を制御するプログラムを作成した。
無線
USART
マイコン制御ボード

Xbee用USBアダプタ

PC

コマンド

7

Xbee Wifi を利用した通信制御プログラム
図 14 に示す構成で Android 端末、XbeeWifi を使用した LED 制御プログラムを作成した。
Xbee Wifi はインターネットでアプリケーション間の通信で使われるソケット通信を使用し、データのやり取りを行う。透過モードを使用している場合、Xbee wifi とアプリケーション間でソケットが確立されるとシリアル通信と同様の方法で通信することが可能である。

図 11 透過モードを利用した通信制御構成
PC 側の制御プログラムは、VisualBasic2010 を使用し、図 12 に示す制御プログラムを作成した。また、PC 側、マイコン側のプログラムの流れ図を図 13 に示す。
図 14 Xbee Wifi を利用した通信制御構成

図 12 制御プログラム(PC 側)（PC側）（マイコン側）

Start

Start

初期設定

初期設定

今回、製作した Android 端末用制御プログ
ラムは Flash Builder Standard 版を使用して作成し、AIR アプリケーションとして動作させている。
Flash Builder Standard 版は生徒や教職員は Adobe 社にライセンス申請すれば、無償で利用することができ、AIR アプリケーションを手軽に製作することができる。
実際に作成した Android 端末用制御プログラムの画面を図 15 に示す。

無限ループ
Start

接続 OK?
No
Yes
切断されるまでループボタンが押されたか?

No

データ受信?

Yes
LED点灯制御No

Yes
マイコン制御ボードにコマンド送信

Loop Endループ終了

図 13 制御プログラム流れ図

図 15 制御プログラム(Android 端末)

8

API モードを利用した通信制御プログラム
図 16 に示す構成で、コーディネータに設定した Xbee を搭載したマイコン制御ボードから、ルータに設定した Xbee を搭載したマイコン制御ボードに対して A/D 値を送信し、データを受け取ったマイコン制御ボードはA/D 値によって LED を点灯させるプログラ
ムを作成した。 送信データはコマンドと 8ビットの A/D 値である。
コーディネータ側、ルータ側のマイコン制御ボードのプログラムの流れ図を図 17 に示す。

PC、Android 端末、マイコンでの制御プロ
グラムについて紹介した。
Xbee を使うことで簡単に無線通信機能を搭載し、各機器間で情報のやり取りができ、その情報を利用していろいろな制御ができることがわかった。
現在、聾学校から聴覚障害をもつ生徒に対して太鼓演奏の練習ができるように「太鼓練習装置」の製作依頼を受けている。
図 18 に示す構成で、教員から叩くタイミ
ングをボタン操作すると制御信号を各受信機に送信し、モータを振動させる。この振動で叩くタイミングを伝え、演奏する。この通信部分に Xbee を活用することを検討している。

図 16 API モードを利用した通信制御構成
図 18 太鼓練習装置 構成図（コーディネータ側）（ルータ側）

Start

Start

初期設定

初期設定

Yes
無限ループ

無限ループ

A/D値の取得
Yes

No

データ受信?

Yes

マイコン制御ボードにコマンドとA/D値を送信

LED点灯制御

ループ終了

ループ終了

図 17 制御プログラム流れ図

9

まとめと今後の展開
本発表では、Xbee を利用した透過モード、API モードを利用した無線通信の方法及びまた、これ以外にもいろいろな場面で無線を利用する装置に応用できると考えられる。
今後は Xbee の活用についてさらに研究を進め、様々な製作物に活用していきたい。

参考文献(1) Robert Faludi 小林茂 監訳,水原文 訳(2011) 『Xbee で作るワイヤレスセンサーネットワーク』 O'Reilly Japan(2) 濱原和明・佐藤尚一他 (2012) 『超お手軽無線モジュール XBee』 CQ 出版(3) 坂本俊之 (2011) 『Flash Builder 4.5
で学ぶ Android/iPhone 実践プログラミング』 ソシム株式会社