RAPIRO(ラピロ)で安定して無線通信する

前に、ラピロのRaspberry PiにArduinoボード経由で通電する際にサーボモータへの電源供給をOFFにする、という話を書きました。最初はこれでRaspberry Piが普通に動いてくれたので、あーこれで開発がラクになるなーと思っていましたが、ちょっと長めに無線LANでSSHログインしていると、反応が鈍かったり、接続が勝手に切れるということが頻発しました。Raspberry Pi側からディスプレイ出力してみると、勝手にカーネルパニックになってしまっていたりしました。

色々試してみた結果、無線LANの子機(ドングル)を外してみたら、勝手にカーネルパニックになる、ということはなくなりました。やっぱり無線LANドングルは消費電力が大きすぎて、Raspberry Piの動作が不安定になってしまうのかもしれません。

しかし解せないのは、無線LANドングルをRapberry Piに直挿ししたときだけでなく、セルフパワーUSBハブをかまして接続したときでも同様の現象が発生してしまう、ということ。セルフパワーなので、電力量的には問題ないはずなのですが。自分は2種類の無線LANドングルを持っていますが、どっちの場合でも発生してしまったので、「無線LANドングルを使うこと自体がNG」ということになってしまっています。うーん、困った。

別に有線LANにすれば解決する話ですが、自分の場合ルータが別の部屋にあるので、そこからケーブルをビローンと引っ張ってくるのは、取り回し的にかなり厳しいです。

ということで、現状の苦肉の回避策。

こんなデバイスを使って、有線LANをコンバートして無線化します。

こうすると、Raspberry Pi自体はEthernetで通信することになり、無線LAN関係の処理をすることが一切なくなる(=無線化はコンバータがやってくれる)ので、Raspberry Piの動作を安定化しつつ、無線化が可能になります。

自分は今この形でラピロを運用していますが、メリットは

  • 有線LANケーブルを引き回さなくてもよい
  • 静的IPアドレスの設定が簡単
  • Raspberry Piの動作と通信が安定

ということです。1つめはそのままの意味です。2つめは、有線LANで静的IPアドレスを設定するやり方で静的IPアドレスを設定できるので簡単、という意味です(=無線LANだと「確実にこれで静的IPアドレスにできる!」という情報がなかなか見つからないように思うので)。3つめは、個人的な感想ですが、無線LANドングルを使う場合に比べて、Raspberry Piが操作を受け付けなくなったり、通信が途絶える、ということがだいぶ少なくなったように思います。

一方、もちろんデメリットもあります。

  • ラピロの背面がごちゃごちゃする
  • コンバータの設定が面倒

1つめは、以下の写真のように、無線LANドングルを使うときに比べ、ラピロの背面がかなりごちゃごちゃします。

th_2014-11-02-rapiro-2

これはコンバータとしてMZK-RP150NA(黒いUSBハブの後ろの白い箱)を使った場合ですが、コンバータの電源は別途用意してやらなくちゃいけません。USB給電なので、写真ではセルフパワーのUSBハブから給電していますが、ハブなしでRaspberry Piから直接とることもできるかもしれません。電力が足りなくなりそうなので、自分は試していませんが。

2つめは、使用したMZK-RP150NA限定の話なのかもしれませんが、コンバータモードに設定するのが結構大変です。というか、取説どおりにやってもなかなか設定画面に辿りつきません。自分の環境はMacなので、以下を参考にさせてもらいながら設定しました。

設定が終わったあとに、メーカーのページで簡単設定ツールが出ていることを知りましたが、これで本当に簡単に設定できるかどうかは、使っていないのでわかりません。

というわけで、ラピロで安定して無線通信する方法を考えてみましたが、やっぱり結構ゴチャゴチャするので、ラピロをガンガン歩かせたりするときにはやっぱり向いてないやり方かと思います。基本的にラピロを据え置いて使うときには良いかもしれません。