kenkino’s diary

おそらく技術・グッズ・自転車系 ※当ブログは、Amazonアソシエイトやその他アフィリエイト等の収益メディアを表示しております。

Ryze TelloをMacで操作してみた

年末に購入したトイドローンのTelloだが

kenkino.hatenablog.jp

操作を行うのはスマホだけでなくpythonを使ったSDKを使ってPCでも操作が可能ということで、Macでも可能かどうか試してみた。

事前準備

python

macOSにはpythonが標準で用意されており、バージョンは古いがSDKが使用可能なバージョンなので、特に用意する必要はない。強いて言えば基本はコマンドラインでの操作となるので、ターミナルを使い慣れておくといいだろう。

SDKダウンロード

ターミナルを開き下記コマンドでgithubよりダウンロードする、

$ git clone https://github.com/dji-sdk/Tello-Python.git

ダウンロードすると新規にディレクトリが作成されているので、そちらへ移動する

$ cd Tello-Python

移動すると下記のファイルとディレクトリがある

$ ls
LICENSE.md  TelloPython_FAQ(CH).txt doc
README.md   TelloPython_FAQ.txt tello_state.py
Single_Tello_Test   Tello_Video tello_video_dll(ForWin64).zip
Tello_Video_With_Pose_Recognition

LICENSE.mdとREADME.mdについてはソースのライセンス表示とgithubのreadmeファイルで後は

となるらしい、今回はSingle_Tello_Test とTello_Videoを試してみた。

Telloへ接続

これはスマホの時と同様で、Telloを起動後にMac無線LANアクセスポイント一覧にTelloの名前のアクセスポイントが出てくるのでそこに接続する

操作

ステータス表示

下記コマンドで動作する

$ python tello_state.py

動作すると現在のTelloのステータスが表示される。

Single_Tello_Test

Single_Tello_Testのディレクトリに移動して中身を見ると下記のファイルがある

$ ls
README.md   command.txt stats.py    tello.py    tello_test.py

Telloにつないだ状態で下記のコマンドを実行する

$ python tello_test.py command.txt

ちょっと待つとTelloが離陸し、しばらくするとそのまま着陸する。 tello_test.py はcommand.txtを読み込んで動作するスクリプトでcommand.txtの中身を見てみると

$ cat command.txt 
command
takeoff
delay 5
land

となっており、動作としては「離陸→5秒待ち→着陸」といった動作をするようになっているのが分かる、ということでtakeoffとlandの間にコマンドを追加し、再びスクリプトを起動すると「離陸→追加したコマンドによる動作→着陸」という動作を行う、動作コマンドについてはdoc内のドキュメントに詳細があるので見てみるといいかと思う。

Tello_Video

Single_Tello_Testでpythonでも動かせることが確認できたので次はTello_Videoに挑戦。「これは何?」と思って調べてみたところ、Telloに付いているカメラの画像を接続しているPCに送って静止画撮影&動画録画をしつつ、PCのマウスとキーボードでTelloの操作が行えるスクリプトとのこと。

しかし実行するためにはH264をエンコードするライブラリをビルドする必要があるらしくビルド用のスクリプトが用意されているのだが、更に今のMacで使う場合にはビルド用のスクリプトを修正する必要があるようでここを参照してライブラリをビルドした。

qiita.com

ひとつ注意点として、ビルドスクリプトMacのパッケージ配布システムであるhomebrewを使っており、それ以外のパッケージ配布システムを使っている場合、パッケージ配布システム同士の競合に注意する必要がある。

ビルド後、下記のコマンドを実行

$  python main.py

実行に成功すると、下記のウインドウが表示される。

ウインドウの[Open Command Panel]ボタンをクリックすると操作用のパネルが表示されマウスとキーボードでTelloが操作できるようになる。

操作性については、キーボードを押してTelloが反応するのに若干のタイムラグがあり操作に少し慣れが必要かなという印象、しかしスマホアプリでの操作に比べると、自分の思った操作はできている感覚で取っつき易さでいうとこちらかなと感じた。ただこの印象は自分がキーボードのほうが馴染んでいるという部分が大きいかもしれない。

とはいえ、スマホだとアプリで操作するだけだったのがpythonスクリプトを手直しすれば色々なことができるようになるので、やりようによっては色々遊べるのではないかと思われる。

Ryze Tello を買ってみた

購入

去年末、とある買い物をしに家電量販店に行った際、期限の近い割引券を持っていたことを思い出し「他に何か買っていくか」ということで店内を散策していたところドローンコーナーへ。

「この際だからお手頃なのを買っていくかな」と思い色々と見ていて、重量(航空法に触れない200g以下のもの)と動作時間(なるべく動作時間が長いのを)をベースに選んでいき購入したのがRyze Telloというドローン。

自宅に帰って調べてみたところ、なかなかのメジャー機種だったようで、オプション品もAmazon他で出回っていて、色々と試せる機種らしい。 一般用と教育用の二つのエディションがあるらしく、自分が購入したのは一般用だが教育用は少し価格が高めな分、色々ツールが充実しているとのことだったが、一般用でもgithubpythonスクリプトが公開されており、ある程度は試せる様だ。

f:id:kenkino:20210408000359j:plain

諸々確認後、開封してみたところ、中身は本体とバッテリーそして予備プロペラと充電用のmicro USBケーブルに簡易マニュアルといったところで詳しくはWebで確認といったところ。

f:id:kenkino:20210408000437j:plain

バッテリーは別売りで専用の充電器もあるのだが

無くてもドローン本体に装着して充電できるのでまずは本体に装着後に充電するという使い方で、必要となったら追々買い足すということも可能である。

設定

操作については、基本的にはスマホにアプリをインストールして操作するもので、アプリについてはiOS版とAndroid版があったのだがどちらかと言うとiOS版の方が評判が良さそうだったのでiPhoneにアプリをインストール。 インストール後、ドローンの電源をONにして起動、ドローンは起動後にクローズなWifiのアクセスポイントとなり、ドローン起動後にiPhoneの設定でWiFiを確認するとドローンの名前のWiFiが見えるので接続し、iPhoneのアプリを起動すると操作が行えるようになる。

操作

操作については、

・離陸&着陸

・前後左右の移動

・上昇下降

・水平面での左右回転

と、フリップという宙返りの一種を始めとした特殊飛行モードに、搭載のカメラを利用した静止画の撮影と動画の録画が可能である

普通、ラジコンのヘリではホバリングに結構神経を使うのだが、これについてはドローンに搭載されているフライトコントロールシステムとソフトウェアが自動的に姿勢補正してくれるお陰で、ほぼ気を遣わなくとも問題はない、しかし一箇所に静止しているわけではなく微妙に前後左右と上下に移動しており、離陸させる場合は出来るだけ周囲に何もないようにするのがいいだろう。

アプリでの操作は基本的に左右にコントロールパッドが表示されてそれを使って操作するのだが、自宅内で試してみたところタッチパネルなためか慣れるのに一苦労で、何度か天井や壁に激突して墜落という散々な状態、プロペラガードがついているのでプロペラの破損は無いがそれでもあまりいい気分はしない。

何度か墜落してどうやら離陸→移動→着陸はできるようになったが、細かい操作が難しく少し油断するとすぐ天井や壁に激突するので気が抜けないが、ドローンからアプリに送られてくるカメラ映像を見てると自分が飛んでるような感覚になりそれが中々面白い、現在はドローン本体を見つつ、カメラ映像も見るといったところだが、そのうちカメラ映像だけで飛ばせると中々面白いのではと思う。

屋内で飛ばすことが可能だが、ドローンとしての基本的な動きは出来るようなので、ドローンをまず始めてみようという人には手頃な機体なのではと思う。

最近読んでた小説 ~星系出雲の兵站シリーズ~

引き続き、最近読んでた小説の感想。 今回は最近完結した日本のSF「星系出雲の兵站」シリーズについて書いていこうかと思う。

題名に「兵站」と書いてあるので後方の軍人達が前線に必要な物資を送り届けるために頭を悩ませる、という内容と思いきや兵站の話も結構あるが、ファーストコンタクトとコンタクトした相手の謎を解き明かしていくというのがほぼメインのシリーズである。

構成

構成としてファーストコンタクトとコンタクトした相手との戦闘がメインの第一部

コンタクトした相手とのコミュニケーションと母星系と思われる星系に進出しての調査がメインの第二部という構成になる。

「三体」と比べるとそれぞれの描写はアッサリしているが、宇宙での戦闘やコンタクトした生命体の考察の深さはこちらの方が深いと感じる構成になっている。

あらすじ

舞台は、何らかの理由で地球を脱出して植民可能な星系を見つけて定住してから数千年がたった人類社会。

植民後一時は蒸気機関を使うまでに文明が後退したが、小説の開始時点では超光速航行可能(しかし超光速航行を行うためには予め調査船を派遣して航行する空間の星間物質等の調査が必要になる)なまでに発展し、出雲と名付けた星系を中心に幾つかの星系に進出している。

あるとき辺境の壱岐星系で人類以外の技術で作られた人工衛星が発見されたことがキッカケとなり、壱岐星系の外縁部に人類以外の知的生命体が拠点を作っていることに気づいた人類と知的生命体の拠点を巡る攻防とそれに対する兵站の運用が第一部になる。

第二部は知的生命体が人類側とコンタクトを取り始めたため、交渉を行うためにコミュニケーションを開始すると同時に知的生命体の本拠地らしき星系を見つけた人類側は、問題の星系に調査拠点を築いて調査を開始するが様々な謎に遭遇する。

そして出雲星系と知的生命体の本拠地で人類の植民船の残骸を発見し、知的生命体と人類の植民船の驚愕の事実が明るみになるという展開である。

特徴

戦闘に関しては、拠点を巡る地上戦と双方の艦隊戦がメインだが、地上戦は歩兵支援用のモビルスーツのようなものが出てくる以外は普通に泥臭い地上での戦いである。

艦隊戦に関しては、銀英伝のような大艦隊同士でレーザー砲戦を交えるというよりかは、航空宇宙軍シリーズのように相手の機動を見越して爆雷を炸裂させてその効果範囲に突っ込ませる、というような渋い戦闘が展開される。

さらに冒頭であまり兵站に纏わる話はメインではないとは書いたが、相手の拠点を星系の資源分布から予想したり、重要な部分では相手の宇宙船が搭載可能な物資量から可能行動を見積もるなど、地味に兵站を意識した考察も用意されている。

このシリーズの特徴的なところとして、人類側が戦う相手があまりにも異質だということが挙げられる。

詳しくはネタバレになるので書かないが「三体」の三体星人がサトラレ体質である以外は結構人類に似た生態のように思われる記述であったのに対して、このシリーズの人類側の対戦相手は、通常考えられる知的生命体の生態とは大幅に異なる生態をしており、これまで色々なSFの知的生命体を読んできてはいたが、このシリーズを読んでいて「よくこういう生態の知的生命体を思いついたな」とこのような知的生命体を考察には改めて感心した。

加えて第二部から登場した相手の知的生命体とのコミュニケーション統括司令は、余りにもキャラが立ちすぎて、これまでそれなりに存在感のあった登場人物達が出ていたのだが、彼らの存在が霞んでしまうくらいの活躍してしまうのももウリなのではと感じた。

唯一惜しいなと思うのは、小説各所に散りばめられているネタである。

日本でもマニアックな人ならニヤリとするかなといったストライクゾーンの狭いネタなのだが、外国語に翻訳した際に意味がわからなくなることが請け合いで、まぁ日本国内で読むことを前提とした内容なので仕方がないが、生命体の考察等がかなり外国でもウケそうなのでそこは惜しいなと思った次第である。

全体的に軽く読めるシリーズではあるが、色々と展開が楽しめるので、ちょっと変わった異星人物とかを読んでみたいという方にはオススメできるシリーズである。

最近読んでた小説 ~三体シリーズ~

自分は年に10〜20冊くらいは小説は読んではいて、特に感想とかは書いてなかったが、ちょっと書きたいなと思って書いてみようと思う。

三体Ⅱ:暗黒森林

今回は「三体Ⅱ:暗黒森林」という作品、これは知ってる人もいるかと思うが中国の三部作のSF作品であり、著者はこの作品でSFの中で最も権威のある賞といわれるヒューゴ賞をアジア人で初受賞したという小説である。

去年第1部の日本語版が出版され、この作品はそれの続編となり、予定では来年に最終部である第三部出版される予定である。

あらすじ

あらすじとしては、第一部は文化大革命時代に親を文革派に殺されてしまったヒロインが、中国版SETIで地球外知的生命体(恒星が三つある恒星系に住んでいるため三体星人と呼ばれる)とコンタクトに成功。

過酷な環境の三体星人は地球の安定した環境に移住するために人類世界に絶望していたヒロインに手引きを要求、ヒロインは自分と似たような人類世界に絶望した人々と三体星人の侵攻に協力する組織を作り計画を進めていたが、それが露呈して組織は壊滅、だが既に三体星人の地球人監視&科学技術妨害システムが構築されてしまっていたという話だった。

今回の第二部は、三体星人は実は思考すると同時に思考したことが相手に伝達される、つまり三体星人全体がいわゆる「サトラレ」のようなものであるということと、侵攻部隊が世紀をまたいで地球に到達するという点を利用した地球人の防衛計画が国連で可決され、国連は防衛計画作成者を選出する、しかし地球の三体星人協力組織の残党が計画作成者の計画を暴く作戦が開始されて次々に計画が暴露されていく。

防衛計画作成者に選出された二部の主人公は、協力組織の残党が放ったウィルスにより治療法の発見と三体星人の侵攻部隊が来るまで人工冬眠させられ、侵攻部隊の先鋒が来る直前に人工冬眠から目覚めさせられる。

しかし三体星人の妨害にも関わらず大幅に科学技術が発展した地球側は必要性を見いだすことができなくなった主人公を防衛計画作成者から解任。 地球側は発展した科学技術で編成した大宇宙艦隊で三体星人を迎え撃つが地球側は呆気なく壊滅してしまう。

その後、主人公が冬眠前に予言したことが的中し、再び防衛計画作成者となった主人公は計画を推し進め、準備が全て整った後に監視システムを通じて防衛計画を三体星人に暴露、脅威を覚えた三体星人が撤退するというところで終了した。

見どころ

特徴としては、中国モノとして文化大革命を取り上げているというところが斬新で、第一部では人民裁判のシーンをこれでもかと書いていたりする。そのため日本語版では文化大革命のシーンは第1章なのだが、原作では第2章にして批判を和らげる配慮等をしていたらしい。

読んでいて思ったのが、端々に見られる中国の発展度合い、そして世界観や諸々が大仕掛けに感じられることである。

これは三体星人の協力組織に対する多国間会議や中国奥地で進められた設定の中国版SETIもそうなのだが、特に宇宙戦に顕著に表れていて、三体星人が送り込んだ探査体と対峙するにあたり500mクラスの1500隻近い宇宙艦隊が示威行動のために陣形を組んで出迎える -そしてそれらがほぼ一瞬で壊滅させられてしまう- 辺りはかなり大掛かりに感じた。まぁ宇宙戦については著者が銀河英雄伝のファンということ(第二部で銀英伝の登場人物のやりとりとかが引用されている)もあるのかもしれない。

加えて感じた点としては、他人の考えていることを疑うことを前提とした防衛計画や、それを前提とした心理戦、高度な知的生命体は攻撃的だという前提、三体星人の攻撃から生き残った艦隊内の疑心暗鬼を始めとした何か重苦しい展開で、最近のSFだとそういう展開の作品があるにはあるが、どこかしら救いがある部分のある作品が多いことを考えると、ちょっと変わっているなと感じる部分で、前に感じた大仕掛けな世界観と合わせてこの作品がウケた要因なのかなとも思った。

そして、その大仕掛けの世界と話の展開、そしてそれぞれの登場人物の絡みが上手くまとめられており、SFとしても読み応えがあるが、読み物としても中々よくできており、SF的な部分を端折って読んでも中々面白い作品だと思った。

来年出版される最終部は、かなり壮大な時間軸を扱うらしいのだが、チョロチョロとネタバレサイトを読んでみたところだと展開が谷甲州の航空宇宙軍シリーズ「終わりなき索敵」っぽい気が、しかしどの様にまとめてくるのか発売が楽しみである。

全体的に分量が多めだが、ちょっとガッツリした小説を読んでみたいというのであれば、これを読んでみるのがいいかと思う。

Mac Book ProでUSBシリアルを使ってみる(2020年版)

内容

1.時は巡って2020年

2.USBシリアルとは?

3.Mac対応のUSBシリアル

4.前回使用したケーブルは?

4.1 製品IDと製造元IDの取得

4.2 ドライバのインストール

4.3 計算機アプリでの16進→10進変換方法

5.まとめ

時は巡って2020年

以前、Mac Book Proで普通に接続して認識しないシリアルケーブルをどうやって認識させるかという内容でシリアルケーブルを使う記事を書いたことがある。

kenkino.hatenablog.jp

それから時は巡って2020年、Mac Bookも進化してインタフェースがUSBから電源も含めてUSB Type-C兼用のThunderbolt 3のみになり、旧来のUSBシリアルは使えるのか?ということで試してみた。

USBシリアルとは?

「USBシリアルって何?」という方がいるかと思うので簡単に説明すると。

通常、業務用のネットワーク機器(ルーターやスイッチ)には大抵シリアルポートというのがついており、PCとシリアルポートをケーブルでつなぐことによりPCから直接アクセスしてネットワーク機器の設定や操作を行うことができる。

最近はLANケーブルで接続してWebやSSHで接続して使うことが増えたが、何かの拍子でLAN経由で接続できなくなってしまった場合に、PCとの接続して設定やトラブルシューティングを行う手段として残っていることが多い。

PC側の接続については、昔はPC自体にシリアルポートが付いていたのだが、最近はシリアルポートの無いPCがほとんどとなってしまい、そのようなPCでネットワーク機器の設定や操作を行うためにUSBポートに接続してシリアルポートに対応した機器に接続して使うのがUSBシリアルである。

ただ、USBに接続してもその機器を認識しないという場合もあり、購入する際に注意が必要になる機器でもある。

新しくMac Book Pro購入後、業務用のネットワーク機器を使うような機会はほぼ無くなっていたのだが、自宅のネットワーク再構築でYamahaのRTX1200を購入、この機種は基本WebやSSHで設定が可能だが、シリアルポートもついており、そのため長らく使っていなかったUSBシリアルが今も使えるのか試してみることにした。

Mac対応のUSBシリアル

前回の記事を書いた後、Mac対応のUSBシリアルケーブルを購入しており、こちらのケーブルはMac対応ということで、何もしなくとも以前のMac Book Proで認識はできていたため、まずはこのケーブルから試すことに。

USBコネクタがType-Aのため、Type-Cに対応したハブ経由でMac Book Proに接続

/dev/ディレクトリでデバイスが認識されているか確認したところUSBシリアルデバイスとして認識していることが確認できた。

$ ls /dev/*usb*
/dev/cu.usbserial   /dev/tty.usbserial

ただ、このUSBシリアルコネクタとRTX1200のシリアルコネクタが双方同じ型のコネクタなので変換ケーブルを接続

RTX1200に接続してログインしてみたところ成功、呆気ないくらいに問題なく使うことができた。

前回使用したケーブルは?

次に、前回使ったケーブルを接続してみたのだが

ハブ経由でMac Book Proに接続したがやはり認識しなかった

$ ls /dev/*usb*
ls: /dev/*usb*: No such file or directory

ということで今回も手作業で設定してみることにした。

注意:この後の手順については、自分の環境ではこう設定すると動作したという報告であり、動作を保証するものではありません。 この記事を読まれた方が同様の手順を試されて何かトラブルが発生した等については責任を負いかねますので、試される際は自己責任でお試しください。

製品IDと製造元IDの取得

まずはUSBシリアルの情報を下記の手順で確認

  1. USBシリアルケーブルを接続

  2. ディスプレイ左上のリンゴマークをクリック

  3. 表示されるメニューの「このマックについて」をクリック

  4. OS情報のウィンドウが表示されるので「システムレポート」をクリック
  5. システム情報一覧が表示されるので、USB→USB 3.1バス→USB2.0 Hubの下にUSB Serial-Controller D:をクリック
  6. 表示される「製品ID」と「製造元ID」をメモ

ドライバのインストール

USBシリアルのドライバーをここからダウンロード

http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=229&pcid=41

ダウンロードしたzipファイルを解凍するとインストールパッケージが表示されるので、ダブルクリックしてインストールパッケージを起動してインストール。

しかし、そのままでは認識しないので

  1. /Library/Extentions/ProlificUsbSerial.kext を ProlificUsbSerial2.kextという名でコピーする

  2. コピーした /Library/Extentions/ProlificUsbSerial2.kext/Contents/Info.plist 内のidProductとidVendorに

    • idProduct → 製品ID
    • idVendor → 製造元ID

にそれぞれ先ほど確認したIDを記述する

idProductとidVendorの記述だが、/Library/Extentions/ProlificUsbSerial2.kext/Contents/Info.plistでの設定は10進数なのに対して、先ほど確認したIDは16進数なので10進数に変換する必要がある、紙に書いて計算するのもいいがMacの計算機アプリで計算するのがお手軽だと思う。

計算機アプリでの16進→10進変換方法

  1. 計算機アプリを起動

  2. 上のメニューバーにある[表示]をクリック

  3. 表示されるメニューの「プログラマ」をクリック

  4. 計算機の表示が変わる

  5. 16進の値を入力

  6. 入力値の下に表示されているバーの10をクリックして10進数に変換

/Library/Extentions/ProlificUsbSerial2.kext/Contents/Info.plistを変更したら、下記コマンドを実行

$ sudo kextcache -system-caches 

コマンド実行後、Mac Book Proを再起動して、再び接続すると今度は無事に認識した。

まとめ

ということで、Thunderbolt 3のみとなった Mac Book Proだが、アダプターやHUB経由で接続できれば問題なくUSBシリアルが動作することが確認できた。

Macでシリアルポートを使う機器を使う必要があるのか?」と思われる方もいるかもしれないが、シリアルケーブルを介した作業を行う場合、Windowsだとターミナルソフトをインストールする必要があるが、Macの場合はUSBシリアルを認識できれば特にソフトもインストールすることもなく使うことが可能で「コマンド操作に慣れていればMacの方が操作がやり易いのでは?」というのが個人的な感覚である。

いずれにせよ、MacでUSBシリアルを使う場合に何か参考していただければ有難い。

raspberry pi でネットワークモニターを作ってみた

※この記事に乗っているntopngのインストール方法は古いので、最新のインストール方法を知りたい方はこちらをご参照ください

kenkino.hatenablog.jp

 きっかけ

前回書いた自宅のネットワーク再構築で、WiFiも繋がらなくなるようなこともなくなり一応ネットワーク環境は快適になった。

 

kenkino.hatenablog.jp

だが快適かつ色々と自分で設定できる環境になるとやってみたくなる事が出てきて「折角だからネットワークのモニターもしてみるか」と調べてみたところraspberry piを使ったネットワークモニターの記事を発見。

qiita.com

記事の構成では、ポートミラーリング設定可能なスイッチや有線ルーターを使っているが、自分の場合はRTXを使っているためここはひとつにまとめられそうで、監視用のraspberry piがあれば構成できそうだったので挑戦してみることにした。

 

 

準備 

監視用のraspberry pi については、最新でありUSB3.0のポートと内臓NICがGbpsネットワークにフル対応したraspberry pi 4 の4GBモデルを購入。

標準のNICの他にモニター用NICとしてELECOMのUSB-GIGALANポートを購入してUSB3.0のポートに取り付けた。

Raspberry Piの設定

OSのインストールはrasbian から名前が変わったraspberry pi OSイメージをmicroSDに書き込み、書き込み後にsshで接続するために/bootディレクトリに空のsshファイルを作成した後にraspberry piに差し込んで起動

起動後SSHでログイン、初期設定としてホスト名やログインユーザーの設定とパッケージのアップデートと再起動を行い、監視用アプリケーションのインストールへ移る。

 

監視アプリのインストールと設定

参考記事ではntopとなっていたが、現在はntopngとなっていたのでそちらをaptコマンドでインストール。

$ sudo apt install ntopng

インストール後、ipコマンドで監視対象のNICを確認し、設定ファイルに監視対象として設定。

$ ip a
~中略~
4: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP>~中略~
~中略~
$ sudo vi /etc/ntopng.conf
# This configuration file is similar to the command line, with the exception
# that an equal sign '=' must be used between key and value. Example: -i=p1p2
# or --interface=p1p2 For options with no value (e.g. -v) the equal is also
# necessary. Example: "-v=" must be used.
#
# DO NOT REMOVE the following option, required for daemonization.

~中略~
-i=eth1 ←この表記を追加して保存

 その後、RTXにログインして監視対象のNICにつながっているLANポートへパケットをミラーするように設定した。 

$ lan port-mirroring lan1 8 in 1 2 3 4 5 6 7  



モニターへのアクセス

RTXの設定が終わったらservice コマンドでntopngを起動。

Webブラウザで "http://raspberry pi のIPアドレス:3000" へアクセスする。
初回起動時にパスワード設定を要求されるので、パスワードを設定してログインすると無事にモニター画面が表示された。

ntopng

ntopngはコミュニティ版と有償版があり、起動時はしばらくは有償版のモニター画面等が表示され、ユーザーがコミュニティ版に切り替えるかもしくは時間が来るとコミュニティ版へ戻るという動作になる。

現在3〜4ヶ月コミュニティ版での使用で、使っていて問題はないのだがチラ見せされる有償版は結構詳細な情報が表示されており、気になるようならライセンスを買うのもいいかもしれない。


メイン機能としてはネットワーク内で動作している機器の情報やリモートで通信をしているホストの情報の表示と、ネットワーク内の機器がリモートのどこに繋がっているかを表示する

f:id:kenkino:20201123231638j:plain


加えてこれは地図情報のファイルを入手して設定するという条件付きだが、アクセスしている通信しているホストのおおよその位置を地図上に表示するという機能があり、見ていると中々面白い。

f:id:kenkino:20201123231851j:plain

 

elasticと組み合わせることでもっと詳細な監視も可能らしいのだが、現状はこのまま使っていって適宜追加していくのがいいのかとも考えている。

 



 

 

 

自宅のネットワークを再構築した話



今年の4月に退職し現在アルバイトの身だが、その間に行なっていた自宅のネットワーク再構築の話をしていこうかと思う。

 

事の起こりは一昨年に自宅のインターネット接続をフレッツからJ:COMの320Mbpsネットワークに切り替えたことから始まる。

 

以前のフレッツに比べると下りの速度が上がったため、LinuxFreeBSDのインストールメディアの様なサイズの大きなファイルのダウンロードは快適になったのだが、何故かWiFiに接続した機器がインターネットに繋がらなくなるという現象が頻発し首を捻っていた。

 

色々調べていたのだが、ネットワーク的には問題なさそうで自宅からインターネットの接続はケーブルモデム兼ルーター(ケーブルルーター)に直に接続されており、更にDHCPでのIPアドレスの配布やWiFiルーターの機能を使っていたために負荷がかかりすぎているのではという点が気になった。


 

ということで「一旦ケーブルルーターに別のルーターをつないで、そこからWiFiのアクセスポイントや今使っている機器とかを繋げば、負荷分散されて接続トラブルが減るかな?」ということで構成の見直しと使用する機器の検討を始めた。

 

まずはルーターということで、逸般の誤家庭ならCiscoという選択肢になると思うのだが、諸々の事情で性能もそこそこでいくらか使い慣れており、お値段も中古なら手に届くヤマハルーターを使うことに。

 

ヤフオクで見てみたところ状態が良さそうで、お手頃価格のRTX1200が出ていたので購入。

 

 

RTX1200が到着後、今までケーブルルーター直付けになっていたネットワーク機器は一旦RTXを経由してケーブルルーターから外に接続する様に変更、RTX本体に内部ネットワークを構成して内部のネットワークはRTXのDHCP機能でIPアドレスの配布を行う様に設定。

 

WiFiのアクセスポイントに関しては、自宅でWiFiを使うのはほぼ一部屋ではあったが、タブレットスマホなどWiFiを使う機器が意外と多く、価格や接続数とか諸々検討した結果、I/OデータのWiFiルーターを使うことに。

 

 


こちらもRTXに接続し、ルーターモードからブリッジモードに設定変更してアクセスポイントにする予定だったのだが、WiFiルーターにアクセスしたところ既にブリッジモードで動作しており、そのままWiFiを使用する機器についてはこちらにアクセスする様に変更した後、ケーブルルーターWiFi機能を停止、以上で一通り設定とネットワークの再構築は終了。

 

再構築を行なった結果、これまで頻繁に繋がらなくなっていたWiFiについてはほとんど切断されることはなくなり、その他諸々のトラブルも大方解消し、J:COMのネットワークについて大方の問題はケーブルルーターに負荷がかかりすぎて発生していたトラブルだったらしいということが判明した。


この対処でJ:COMを使ったインターネットで問題が起こっている人に全てに効くかというと 

 

1. 自分の場合、一般の人と違ってインターネットを使う機器の数が多い
2. 使う機器が多いといっても、使うのは下りがメインで、上りはあまり使っていない 

という環境なので一概に同じ方法で改善するかは疑問ではあるが、ケーブルルーターが処理する負荷が減るのは確かで、自分の場合はいろいろと機器を購入して設定したが、そこまで手間がかけられないという方は 

 

1. WiFiルーターを購入
2. WiFiルーターをケーブルルーターに接続
3. インターネットを使う機器をWiFiルーター経由で接続してケーブルルーターWiFiを止める 

 

だけでも効果はあるかと思うので、一旦試してみる価値はあるかもしれないと思う。