LoginSignup
33
36

More than 5 years have passed since last update.

Raspberry Pi や Mac の MANET (Mobile Ad-hoc NETwork) による wifi メッシュネット

Last updated at Posted at 2015-04-28

始めに

olsrd を使って Raspberry Pi や Mac によるメッシュネットワークを簡単に構築できます。災害時等、現場でトポロジを意識しないで一時的なネットワークを構築したい時に便利です

なにが嬉しいのか

ad-hoc 通信ができるようになったら、次は olsrd を動かすとメッシュネットを構築できます。メッシュネットになると通常の ad-hoc 通信と違い、マルチホップで通信をすることができます。ルーティングテーブルは olsrd が定期的に再構成してくれるので、ピアが移動してネットワークトポロジが変わっても大丈夫なあたりが MANET の Mobile たる所以ですね

インストール

Raspberry Pi の場合は apt で、Mac は brew でインストールできます

RaspberryPi
sudo apt-get install olsrd
Mac
brew install olsrd

起動

sudo olsrd -i インターフェース1 (インターフェース2 ...) -d 1

インターフェースは Raspberry Pi の場合は wlan0 とか、Mac の場合はおそらく en0 とかだと思います。
-d 1 はデバッグオプションで、1 で標準出力に下記のようなデバッグ情報を出力してくれます。0 でデバッグ出力なしです
スクリーンショット 2015-04-28 18.43.29.png
ここで LQ は Link Quality で、LQ をベースに COST が計算されます。
上のデバッグ出力は 192.168.12.x ネットワーク内で

  • 192.168.12.1
  • 192.168.12.3
  • 192.168.12.5

の3台がそれぞれお互いすぐそばにあり、olsrd を起動している時の、12.1 のデバッグ出力です。
1-hop として 192.168.12.3 と 192.168.12.5 両方が見えていて、さらに 2-hop でぞれの相手が見えているメッシュになっています。
 ここで、1 と 3 がかろうじてつながる程度に距離を離して、さらに 3 と 5 がかろうじてつながるよに距離を離して、1 - 3 - 5 という接続しかできないようにメッシュを引き延ばすと 1 のデバッグ出力は以下のようになります

スクリーンショット 2015-04-28 18.51.12.png

1-hop で 3 が、2-hop で 5 が見えています
この時、1 から 5 が(3経由のマルチホップで) 普通に使えます。

補足

因に、olsrd を動かすのに ad-hoc 接続は別に必須ではないです。 managed mode の wifi に対してもルーティングテーブルをつくってくれます。例えば、wifi ドングルを二個刺して、一個が ad-hoc接続、もう一個を AP 接続(managed)にして、その両方を olsrd で管理することも可能です。下の図では 192.168.12.x 系が ad-hoc, 192.168.11.x 系が AP 接続な状態で olsrd でルーティングしています。
スクリーンショット 2015-04-28 18.42.20.png

もちろん、APに接続することが前提なメッシュネットというのは本来の柔軟性がなくて嬉しくしくないですね。

感想

メッシュネットは消費電力の小さい ZigBee とか 920MHz モジュールとかで構築するもの、という先入観が私はあったのですが、よく考えてみると Raspberry Pi + WiFi という大飯食らい(!)な構成でもパワーリソースが問題にならないような現場では、モジュールの安さと Linux が使えてしまうソフトウェアの柔軟さの魅力のほうが大きいので、これはこれでありな気がします

参考URL

33
36
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
33
36