ミラーレス一眼カメラを 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 が使えるのではないか、と期待してテストはしてみたのですが、そ

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


我が家のネットワークでは、インターネットからのゲートウェイ、ファイアーウォール、LAN 内のルーティングなどの機能を、このマシンに担わせています。具体的にどんな設定をしているか、みたいな細かな話は、また、別記事にでもするとして、今回は、このマシン自体の紹介、やってみてわかった設定のポイントなどを書いていきたいと思います。

実は、元々は、Proxy Server といった、ちょっと別の用途で実験的に使っていたものなのですが、クライアント側の対応具合などの問題で頓挫して、余っていたものを再利用したものです。


私自身は、Amazon で購入して、2 万円くらいだったと思います。日本の配送センターから出荷されたので、注文の翌々日くらいには届いていたのですが、なんか、今は在庫がなくなっちゃったみたいです。ただ、後から調べてみたら、中国 AliExpress などでは、まだ普通に販売されていますし、メモリやストレージ、それに、CPU 種別まで、Amazon よりオプションが豊富みたいで、しかも、値段がかなり安く上がりそうですね。
とりあえず、万が一、故障したような場合でも、時間さえ待てば、代替機の手配ができないことはなさそうです。


どんなマシンかと言えば、基本、普通に Windows などを動かすことができる x86・x64 系のベアボーン PC です。このマシンの SSD にも、Windows 10 がインストールされていました。ただ、ライセンスが付いているわけではなく、デバイスが認識できているかなどのチェックで使った残骸といった印象です。
XCY の製品リストを見ると、もっと普通にワークステーションとして使ったりしやすいようなベアボーン PC も多数あるのですが、ネットワークアダプタを複数搭載しているということで、この製品を選んでいます。当初の使用目的だと、2 つあればよかったのですが、結果的にルーターとして使うことになったので、4 つ搭載されているのは、ラッキーでした。


箱の中の状態。


内容物。ディスプレーモニターの裏側に取り付けられるように、VESA 規格のマウンタが付属していました。


裏側です。このモデルの場合、ディスプレーは D-Sub だけの接続です。基本的に、最初から、ディスプレーはもちろん、キーボードやマウスも接続しないヘッドレス運用をするつもりだったので、これで問題ありません。HDMI などを搭載したモデルもありますから、その意味でも、ワークステーション PC として使うなら、別のモデルにした方がいいように思います。


電源は、12V の AC アダプタです。ちなみに、PSE マークは、ありませんでした。まぁ、PSE マークの場合は、それがないと「国内で販売してはいけない」という扱いなので、個人輸入なら可能ですね。自己責任ではあるものの、使うこと自体に法的問題はありません。CE マークは付いていますから、品質に問題がある可能性は少ないでしょう。私は、そのまま、使ってしまっています。


実は、このサイズ感、想像していたより、かなり小さい。… いやな予感。


筐体は、しっかりした金属製で、後ろ側のネジを外すと、簡単に開けることができます。CPU は、インテルの Celeron J1900 という Atom 系の SoC で、ファンレス仕様。中央に大きなヒートシンクがあります。
Atom 系ではあるのですが、4 コア 4 スレッドで、世代的には、Bay Trail と言われているものです。マイクロアーキテクチャが Silvermont だったかな。大きく進化した時代のものです。22nm プロセスルールなんで、ひと昔前のものという印象もあるかもしれませんが、組み込みなどの用途では、よく使われているもののようです。実は、普段、最もよく使っている PC の CPU が、Pentium J4205 という 4 コア 4 スレッドの Atom 系 SoC です。内臓 GPU などが進化し、プロセスルールも 14nm になっていますが、CPU 本体の性能は、さほど変わらないんじゃないかと思っています。しかも、実は Atom としては、結構、高クロックだったりします。Proxy で使おうと思って、これを選んでいたわけですが、単純なルーター用途だと、おそらく、ちょっと持て余しぎみですね。実際には、単純なルーター以上の機能を搭載してはいますが。
私の考えとしては、ルーターなどの場合、浮動小数点処理をするわけでも、画像処理をするわけでもなく、単純な整数演算や条件判断が中心なので、Atom 系の CPU は向いているんじゃないかと思っています。もちろん、低消費電力、低発熱ですし。


内臓 SSD は、今となっては m.2 に置き換えがすすんで使われなくなってしまった mSATA 仕様。ただ、広く使われていた規格ですから、今でも入手性は悪くないですね。それに、このマシン、PCIe や USB 3.0 といったインタフェースは備えていないので、サイズ以外に m.2 にする理由は存在しないですしね。
写真左下の方には、もう 1 つ、普通の SATA の端子と、2.5 inch ドライブ用の 5V 電源端子があるのですが、残念なことに、このモデル、ケースに内臓スペースはないです。これが、箱を開けてそのサイズの小ささに気づいたときの、嫌な予感でした(笑)。たしかに、説明書きとして「モデルによっては、内臓スペースがない」みたいなことが書かれていたんですよ。なんと、その「モデルによっては」の 1 つが、これだったみたいです(笑・笑)。
しかも、この電源ケーブルが特殊で。正規品も販売されているようなのですが、入手が大変だったので、作りました。電源のコネクタ自体は、JST(日本圧着端子)の PH というもののようで、パーツ屋さんで簡単に手に入ります。ドライブ側は、PC パーツとして売られている SATA 電源の二股ケーブルの片方をちょん切って使いました。


最終的には mSATA の SSD にしてもいいような気はするのですが、設定で試行錯誤して書き換えが多くなるだろうという予想と、現状、検証のためにログを多量に吐かせているので、とりあえず、mSATA SSD は外して、SATA でつなげた HDD にセットアップしてあります。ただ、じつは、このマシンには MTA(メール送信サーバー)の機能なんかも持たせてあるので、HDD のままの方がいいような気もしています。最終的な判断は、今後ということで。ただ、そういう状況なんで、配線を引っ張り出してきて、HDD ユニットを上にむき出しで乗っけてある状態なんですよ。いずれにしても、ここは何とかしたいです。


LAN コントローラーの部分です。互換チップではあるものの、4 ポート分、全く同じ構成で部品が並べられていることがわかります。LAN アダプターが複数あるといっても、一般的なマザーボードなどの場合、一部を CPU チップセットの機能でドライブしていたりするため、特性に差があったりするものですが、このマシンの場合は、全てのポートが同じ構成となっていて、使うポートを選ぶのに特に配慮はいらないと思われます。


BIOS 画面。スクリーンショットの取り方がわからなかったので、スマホカメラでの撮影です。見づらくて申し訳ありません。
テキストベースなんですが、AMI 製の UEFI のもので、「Aptio」と名付けられたものになっています。
RAM は、DDR3 の SO-DIMM で 4G 搭載されています。まぁ、こういった用途には、十分な量なんじゃないかと思います。




プログラム的には、ある程度汎用的に書かれたものらしく、このモデルに搭載されていないハードウェアについての設定項目があります。項目によっては、Enable になっていたりしたので、Disable に変更しています。


このマシンに Linux などを入れて、ヘッドレス、シリアルコンソールで使おうとしたときに陥りやすいのが、ここじゃないかと思います。シリアルポートに割り当てる IO ポートのアドレスと、IRQ の番号です。これ、最近の Windows や Linux 本体は、あまり気にしなくても動いてくれるのでいいのですが、Linux などで一般的に使われているローダーである GRUB2 は、きちんと AT 互換機の標準に合わせて設定しないと認識してくれないです。デフォルトだと、CIR Controller が有効になっている関係もあるとは思うのですが、非標準的な設定になっていました。ここを COM2(アドレス 2F8h、IRQ3)に変更することにより、シリアルコンソールが使えるようになりました。
ちなみに、古くから AT 互換機を使っている方は、懐かしいくらいに感じてしまう内容なのですが、モデムなどは COM2 につなぎ、COM1 はマウス用とするのが、一般的な使い方でした。これは、IRQ の優先順位が高い COM2 に速度が重要なモデムをつなぐという意図から、そうしていました。
なお、UEFI BIOS 自体は、残念ながら、ヘッドレス運用には対応していないみたいです。CIR Controller の設定項目があることからして想像ができるように、一般的なワークステーション用途の PC に合わせたもののようです。なので、BIOS の操作をしなきゃいけないときだけ、ディスプレーとキーボードを差し込むことになってしまっています。


その COM ポートなんですが、外形は Ethernet LAN に使われているのと同じ RJ45(8P8C)コネクタです。これを見て、よくある Cisco 社のルーターなどと同じだろうと思って …、


安物なんですが、Cisco 互換の変換ケーブルを買ってみたわけですが、これを使うと、片側通行でしか通信しないという現象に陥ります。最初、ケーブルの不調を疑ったり、本体の不調を疑ったりで、いろいろごちゃごちゃやっていたわけですが、結局、結線が Cisco のものとは違うという結論になりました。確かに、どこにも Cisco 互換だなんて書いてないですし。
いろいろ調べたところ、どうもコネクタに RJ45 を使いながらも、ピン番号は D-Sub 9 ピンの 1 ~ 8 番をそのまま割り当ててるっぽいことが判明。


仕方ないので、変換ケーブルを作りました。RJ45 のメスコネクタは手持ちがなかったので、両側オスでつくって、LAN 用の中継コネクタを咬ませました。
確かに、コンソールとして使う分には Cisco の結線でもいいんだろうと思うのですが、PC としてモデムなどをつなぐ可能性がある場合、Cisco の結線のままだと一部機能が使えなくなる可能性も考えられるので、より汎用性の高い結線にしてあるのだろうと、好意的に捉えることにしました。あらためて、このマシン自体は、ルーターとして販売されているものではなく、PC として販売されているものですから。


結線図です。ただ、これ、「私はこうしています」という図なので、全く保障できないです。これに沿って行った場合の結果や、発生した障害・故障については、全て自己責任でお願いします。


これは、Windows 上の Tera Term から接続したときのスクリーンショットです。ソフト的な詳しい設定内容は、またの機会にしようと思いますが、ちゃんと GRUB2 が表示されています。


Linux のディストリビューションとしては、これも紆余曲折の末、Debian にしました。起動中にウォーニングが出るのですが、これは USB ポートにキーボードがつながれていないからです。もしかして、設定でどうにかなるのかもしれないですが、とりあえず、支障がでていないので、このままにしてあります。


起動しました。


改めて XCY X33J1900 について

製品カテゴリーとしては、「工業用ベアボーン」となっています。一般用途向けの PC みたいに、デフォルトの設定で簡単に動くといったマシンとは、ちょっと違いますね。一般人の手の届くところに、仕様書のようなものが公開されている様子もないですし。ケーブルなども独自色が強いですし。
ただ、物の作りは非常にしっかりしている印象ですし、ちゃんと設定すればちゃんと動くという感じでもあります。このマシン自体には、明らかなバグと感じるような部分は、ソフト的にも、ハード的にも、まだ発見していないです。
ベアボーンというカテゴリー全体で見れば、インテルなども出してはいるものの、種類の豊富さという意味だと、やはり、中国製という選択しかないような状況に感じます。日本の場合、ベアボーンを組み込みに使うとかいう発想も、あまりないように思いますし。おそらく、PC の使われ方自体が、かなり違うのでしょう。
先日、中国だと、電車の券売機にも OS として Windows が使われていたといった動画を目にしました。日本でそれをやろうとすると、OS のライセンス料ばかり高くなってしまうというような問題や、逆に、日本の場合、マイコンチップにいい物があるので、PC を組み込むまでもない、といった事情もあるのでしょう。さらには、日本でのシステムインテグレーションって、ハードウェアの販売とセットになっているような側面もあるので、この手の単価の低いハードウェアだと利益が出ない、って事情もあるような気がします。
いずれにしても、このままの状態で一般に個人が使うにはハードルの高いマシンではあると思うのですが、むしろ、もっと業務用途に活用されても良いという印象です。で、日本でも、もっと普通に買えるようになって欲しい。中国製じゃ使うわけにいかない、といいつつ、日本製を含め、他の国で生産されたものに似たような製品が存在しないのは、困り物です。そして、真にシステムインテグレーションの工数がお金になるような状況にもなって欲しいです。
そして、さらに、家庭用ルーターとしてセッタップ済みの状態で、二次販売されたりしてもいいような気がするのですが、私としては、今後も真似して使える情報の提供を目指したいと思っています。

コメント

このブログの人気の投稿

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

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