中国地区

教育システム情報学会

2017年度学生研究発表会

無線 LAN 通信の可視化に関する研究
吉原 和明*1, 柿原 佑香*2, 藤原 茉那*2, 渡辺 健次*1
Kazuaki YOSHIHARA*1, Yuka KAKIHARA*2, Mana FUJIWARA*2, Kenzi WATANABE*1*1 広島大学大学院教育学研究科*1Graduate School of Education, Hiroshima University*2 広島大学教育学部*2Faculity of Education, Hiroshima University
Email: d173863@hiroshima-u.ac.jp
あらまし：本研究では，プロジェクションマッピングを用いて無線 LAN 通信を可視化した教材の開発を行った．開発には無線 LAN ルータとして Raspberry pi，プロジェクションマッピングを行うソフトウェアとして Unity を使用した．Raspberry Pi はパケットをキャプチャして通信情報の解析を行い，通信情報をプロジェクションマッピングに使用する PC に転送する．Unity では受信したデータをもとに，アニメーションを変化させるプログラムを作成し，無線 LAN 通信の可視化を行った．
キーワード：無線 LAN 通信 Raspberry Pi Unity

1.

はじめに

2.1 Raspberry Pi によるパケットキャプチャ

現行の学習指導要領では，中学校技術・家庭科（技術分野）および高等学校情報科において，ネットワークの仕組みについて学ぶ内容が含まれている(1)(2)．
一方で，社会のインフラであるネットワークは，我々が通常目にしないところで働いているシステムとなっている．そのため，ネットワークに触れることがなく，ネットワークに対する実感が乏しくなっており，ネットワークの仕組みを学ぶ際に，具体的なネットワークがイメージできず，学習を難しくしていると我々は考えた．
そこで本研究では，無線 LAN 通信を，プロジェクションマッピングを用いて可視化し，無線 LAN通信の様子を直感的に理解できるような中学生や高校生を対象にした教材を開発した．

2.

無線 LAN 通信の可視化教材

我々は，無線 LAN ルータが通過したパケットをキャプチャし，その情報をもとにプロジェクションマッピングを行うことにより，無線 LAN 通信を可視化する教材を開発した．無線 LAN ルータにはRaspberry Pi(3)を，プロジェクションマッピングを行うソフトウェアに Unity(4)を用いた．無線 LAN ルー
タである Raspberry Pi がキャプチャしたパケット情報をもとに，Unity を用いてプロジェクションマッピングを行った．システムの概要を図 1 に示す．

図1

システム概要図

パケットキャプチャをする無線 LAN ルータにするため Raspberry Pi に以下の機能を実装した．
 無線 LAN ルータとして働く機能 パケットキャプチャ機能 キャプチャしたデータを UDP で送信する機能
Raspberry Pi に無線 LAN ルータの機能を実装するために，hostapd をインストールして，アクセスポイント化し，さらに，dhcpd をインストールして，Raspberry Pi に接続すると自動で IP アドレスが接続機器に割り振られ，すぐにネットワークが利用できるようにした．
パケットキャプチャには，pcap という API を用いた．パケットキャプチャをしている様子を図 2 に示す．図中の From は送信元アドレス，To は宛先アドレス，Protocol は通信プロトコル，sPort は送信元ポート，dPort は宛先ポート，Payload はペイロード長である．ペイロード長はパケットのデータサイズから各ヘッダサイズを引いて求めている．

図 2 パケットキャプチャの様子

177

中国地区

教育システム情報学会

2017年度学生研究発表会

キャプチャしたデータをプロジェクションマッピ
ングで適用するために，プロジェクションマッピン
グを行う端末に，キャプチャしたデータを送信する必要がある．そのため，UDP 通信で自動的にキャプチャしたデータを送信する機能を実装した．UDP 通
信で送る情報は，送信元＆宛先 IP アドレス，プロトコルの種類，送信元＆宛先ポート番号，ペイロードサイズの４つである．また，この UDP 通信がパケットキャプチャ機能によりキャプチャされないように処理をしている．
2.2 Unity によるプロジェクションマッピング
図 3 実験時の Raspberry Pi

Unity によるプロジェクションマッピングを行うために，Unity で以下の機能を実装した．
 Raspberry Pi からの UDP メッセージを受信する機能
 Unity で受信した情報によって変化するアニメーションを描画する機能
UDP 通信用プログラムでは UDP 通信で情報を受信する為に，UdpClient クラスを利用している．またThread クラスを利用して UDP 通信部分を別スレッドで動作させることで，UDP 通信用プログラムの実行中は他のプログラムの動作に関わらず常に情報の受信を行うようにしている．
アニメーションを描画するプログラムでは，Unityが受信した情報にあわせて UDP 通信用プログラムの中にある変数の値を変化させ，それをオブジェク
ト発生用のプログラムで読み込みランダムな位置にオブジェクトを発生させる．この動作の繰り返しでアニメーションを描画する．出現するオブジェクトは，バウンドしながら左から右に動き，IP アドレスによって玉の色が変化し，外枠の線は，プロトコルによって色が変化するようにしている．変数の値の読み込みには GameObject.Find()と Get Component メ
ソ ッ ド を 利 用 し てい る ．オ ブ ジ ェ ク ト の 発生 はInstantiate()メソッドを使用し，あらかじめ作成しておいたオブジェクトを複製する形で行い，一定時間が経過すると自動的に消えるようにしている．

3.

図 4 実験の様子

4.

おわりに

本研究では，無線 LAN 通信を Raspberry Pi と Unityを用いて可視化をする教材の開発を行った．可視化した無線 LAN 通信を見ることにより，パケットの流れを具体的にイメージすることができ，ネットワークの動作を直感的に理解できる教材となっている．
今後は，より簡易に実験できるようパッケージ化をし，また，具体的な学習内容に応じて，表現するアニメーションやパケットキャプチャする情報を選択していく予定である．
参考文献

教材の利用方法(1) 文 部 科 学 省 : “ 中 学 校 学 習 指 導 要 領 ” ,http://www.mext.go.jp/a_menu/shotou/new-cs/youryou/chu/（2018 年 2 月 10 日アクセス）(2) 文 部 科 学 省 : “ 高 等 学 校 学 習 指 導 要 領 ” ,http://www.mext.go.jp/a_menu/shotou/new-cs/youryou/1304427.htm（2018 年 2 月 10 日アクセス）(3) RASPBERRY PI FOUNDATION : “Raspnerry Pi”,
https://www.raspberrypi.org/（2018 年 2 月 10 日アクセス）(4) Unity Technologies “ Unity マ ニ ュ ア ル “ ,https://docs.unity3d.com/ja/current/Manual/UnityManual.
html（2018 年 2 月 10 日アクセス）

教材を利用するために，事前に開発した Raspberry
Pi と Unity のプロジェクトを実行できる端末とプロジェクションマッピングを投影できるプロジェクタを用意する．また，Raspberry Pi と端末を通信できるようにしておき，端末とプロジェクタを HDMI ケー
ブル等で接続しておく．次に，開発した Unity のプロジェクトを端末上で実行すれば，プロジェクタにアニメーションが映し出され，無線 LAN 通信を可視化することができる．実験時の Raspberry Pi と実際に可視化の実験をしている写真をそれぞれ図 3，4に示す．

178