ミラーレス一眼カメラを LAN に接続 ~ Raspberry Pi で作った NAPT ルーター経由

イメージ
先日購入したミラーレス一眼カメラである OLYMPUS OM-D E-M10 III の Wi-Fi 機能を使って、Raspberry Pi 3B+ で作った NAPT ルーター経由で LAN に接続したよ、って話です。思い付きでやってみた感じで、設定も比較的単純な内容なのですが、他に記事になっているようなものを見かけなかったことと、やってみて、思ったように出来たこと、出来なかったことがありますので、まとめてみたいと思います。 プロジェクトの概要 ミラーレス一眼カメラでも、最近の上位機種は、LAN ポートを持っていたりして、直接ネットワークに接続できるものもあるようです。ですが、私の持っているものも含めて、現状の多くのカメラの場合、Wi-Fi 機能があると言っても、大抵は次のような使い方を想定したものであるようです。 カメラ側が Wi-Fi アクセスポイントとして機能するため、そこに接続するスマートフォンなどは、既存のインターネットなどの接続を切断した上で、新たに接続し直す必要があります。カメラがネットワークに組み込まれるわけではなく、Wi-Fi という形を取りながらも、ピア・トゥ・ピアでの接続となります。 屋外で使う前提でいくとこの形がいいのはわからなくもないのですが、既に LAN が導入され、Wi-Fi が飛び交っているような屋内で使おうとすると、手間ばかりかかります。他の PC などでも使おうとした場合、それぞれに接続し直さなきゃいけないし、デスクトップ PC などの場合は、そもそも Wi-Fi インタフェースを持っていない場合も多いし。ノート PC などで、Wi-Fi を使っていたとしても、既存の LAN やインターネットの接続を切ってつなぎ直さなきゃなきゃならないというのは、NAS などへのアクセスもできなくなることを意味するので、たとえば、カメラから取り込んだデータを NAS に保存したい場合などだと、作業に制限が出てしまいます。 というわけで、次の図みたいにできたら、便利なんじゃないかなー、という思い付きです。調査してみたところ、カメラとスマートフォンの間の通信プロトコルは、HTTP だということも判明したので、もしかしたら WebDAV が使えるのではないか、と期待してテストはしてみたのですが、そ

NAS に使っている Raspberry Pi Model 3B を 3B+ に換えたら … 驚きのパフォーマンスアップ!


先日のブログで少し書いたのですが、元々、NAS に使っていた Raspberry Pi Model 3B を 3B+ に換装したお話です。元は、OS として、Raspbian Jessie Lite を使っていたのですが、この micro SD カードを、単純に 3B+ の方に差し替えてみたところ、起動しなかったというところで、計画変更。原因を追求すれば、起動できた可能性はあるかと思うのですが、そんなことするより、3B+ と Raspbian Strech Lite で一から組んじゃった方がいい、ってことで、ササッと作ってしまいました。


Raspbian の設定は以前よりかなり進化している

いや、たしか、Jessie で NAS を組んだときは、NFS や Samba の設定自体はわりとスムーズにできたものの、SYSTEMCTL がまだ未熟で、なんか、起動プロセスでトラブった記憶が …。今回使った Strech は、ホント、スムーズでした。NFS や Samba も、インストールするだけで、自動起動まで設定されます。他にやったのは、設定ファイルに、必要な設定を書き込むだけ。難しいことやっているわけではないので、数行の書き込みで終わった感じです。


パフォーマンス比較です

で、試しに、3B+ の方で設定済の Strech の入った micro SD カードを、逆に 3B の方に戻してみたら、全く問題なく起動できたので、同条件で 3B と 3B+ の比較ができる環境ができました。
組んだ NAS の概要です。

  • 本体:
    • Raspberry Pi Model 3B
    • Raspberry Pi Model 3B+
  • OS: Raspbian Strech Lite
  • プロトコル:
    • NFS
    • SMB(Samba・今回の比較テストはこちら)
  • ストレージ:
    • 32GBytes micro SD カード Class 10
    • 3TBytes ハードディスクドライブ(Western Digital の Blue) × 2
      • mdadm を用いて RAID1 に構成
      • SATA - USB 変換ケーブルを使用
      • ファイルシステムは ext4
    • /home、/var は、ハードディスクの方に移動
    • ハードディスク上にネットワーク共有ディレクトリを設定

この共有ディレクトリに、Windows 10 PC からアクセスします。PC 上では、Crystal Diskmark 6.0.1. を使いました。設定はデフォルトのままで、テスト先のフォルダーのみ、NAS 上の共有ディレクトリに変更しています。

では、まず、Raspberry Pi Model 3B。


続いて、Raspberry Pi Model 3B+。


ま、シーケンシャルアクセスだと、読み込みで 3 倍以上、書き込みだと 5 倍以上の性能向上だってことです。ちょっと驚き。
ランダムアクセスの方も、一様に向上しているのは間違いないのですが、正直いって、これは、よく、わかんないです。今回は、最もよく使われているストレージベンチマークテスターってことで、Crystal Diskmark を採用させてもらい、とりあえずデフォルトの設定のままテストしたわけですが、調整が必要かという気もしています。とりあえず、こんな数値が出た、という位に考えていただきたい気がします。
ただ、3B から 3B+ に換装しようとした目的が、特にアップロードの時間短縮、スピードアップだったので、そこには思った以上の効果が出たと言えると思います。とりあえず、満足です。正直、あえて Raspberry Pi 以外のハードウェア、特に、Intel の Celeron とか乗っけた NUC とか、比較的手頃な価格なんで、これに Linux 入れた方が、性能的にはずっと上の結果を得られるとは思ったのですが、とりあえず 3B+ 置き換えるだけやっても、ムダにはならないかと。仮に、NAS での Raspberry Pi の使用を諦めたとしても、使いみちはいくらでも待っている感じなので、とりあえずやってみた感じですね。どのくらい向上するか、気になりましたし。まぁ、だから、Jessie のまま micro SD カードを差し替えて起動できなかったのは、誤算でもあるのですが、結果が見えて、今後の機器選択の基準ができた感じです。


参考までに …

まずは、テストに使った Windows 10 PC のローカルディスクへのアクセス。こちらのハードディスクは、Western Digital の 4 TBytes Blue を 2 台。SATA 接続ですが、Intel Rapid Storage Technology にて RAID1 にしています。ファイルシステムは、NTFS。


シーケンシャルアクセスは、1000base-T でどう頑張っても、ローカルには及びませんね。ランダムアクセスは、先の NAS の方が圧倒的に良い成績なわけですが、結果の要因の分析は、未だです。現実的なテスト内容なのかどうかも、これから精査です。

続いて、別の Windows 10 PC の共有フォルダーへのアクセス。こちらのストレージは、Western Digial の 3 TBytes Blue を単独で SATA 接続です。


ま、1000Base-T の限界って考えてもいいんじゃないかと思います。ただ、この数値も、ローカルのハードディスクにアクセスした時と大差ない数字を出しているので、よくチューニングされているっていう印象ですね。さすが、Windows 同士です。
ただ、こうなると、インテル系のハードに Linux を入れた時の性能がますます気になってくるのも事実 …。


コメント

このブログの人気の投稿

ハードディスクへ Raspbian Strech をインストール [続報]

XCY X33J1900 というベアボーン PC … ルーターとして使用中

ハードディスクから Raspbian Buster を起動の予定が … Raspbian Stretch を入れ直す・詳細手順の紹介