メッシュネットワークであるSmartMeshを使って、センサーからの情報を集めるIoTシステムを構築してみます。仮想マシン上に構築した「VManager」を利用して、スケーラブルなIoTノード管理を実現する方法と、より効率的な運用方法の実践方法を3回にわたって紹介します。
仮想マシン上にVManagerを構築する
SmartMeshのVManagerは、VirtualBoxやVMware Playerなどの仮想環境で動作するように作られています。今回は、VirtualBoxを使用します。
仮想化イメージは、アナログ・デバイセズの「MyAnalog」からリクエスト可能です。冒頭の動画を参考に、SmartMeshを実際に構築してみてください。
SmartMeshの技術については、こちらに詳しくありますので、参考にしてください。
VManagerとEManagerの違い
EManagerは、PCベースのアプリケーションで構築可能です。Moteと呼ばれるノード端末は、最大100台まで管理することができます。
VManagerは、仮想環境で構築可能です。Moteと呼ばれるノード端末は、最大50,000台まで管理することができます。
VManager同士をGatewayで接続して最大ノード数を拡張することもできます。IoTノード端末数が増えれば増えるほど、その力を発揮するのがVManagerです。
SmartMeshの評価キットDC9021
SmartMeshを使うには、評価キットが必要です。こちらが、その中身です。
今回は、Moteと呼ばれる4つのノードと、白いUSBドングルDC2274A-Bを使用します。小規模な用途では、青いドングルのDC2274A-Aを使いますが、今回は使用しません。
その他にも、書き込みツールも含まれており、ボードのコンフィグレーションを必要に応じて変更できます。
PC環境
PCは、Windows10を使用しています。
VirtualBox 5.2.18 + Extenstion Pack
こちらのガイドを参考にしてください。
SmartMesh IP Easy Start Guide for VManager.pdf
困ったときは、英語でサポートを受けてみよう!
今回の実験で、USBドングルを認識しない問題がありました。こういうことはよくあるかもしれませんが、そんな時は「サクッ」と英語でサポートの依頼をしてみましょう。アナログ・デバイセズでは、専任チームがいるので、解決に至らなくても多くのアドバイスをしてくれます。実に頼もしいものです。
困ったケース
現象:USBのドングルDC2274A-BをVirtualBoxで認識してくれない。
解決方法:解決方法は使用環境によって若干違うようですが、ワタクシの場合は、USBPcapというモジュールがUSBを解放してくれないために、USBドングルを組み込めなかったようです。このモジュールをUninstallすると、USBを認識してくれました。VirtualBoxのフォーラムにも同じような内容がありましたので、リンクだけ貼っておきます。ご参考に!
https://www.virtualbox.org/ticket/11251
https://forums.virtualbox.org/viewtopic.php?t=59303#p276014
https://forums.virtualbox.org/viewtopic.php?f=6&t=39104#p176270
動かしてみよう
それでは動かしてみましょう。VManagerを起動すると、中に入っているLinuxイメージが起動します。必要なドライバ類は全てインストールされているので、仮想マシン上で動くようにできています。
起動後は、login「dust
」 password「dust
」で入ることができます。USBデバイスであるDC2477A-Bが認識できていることを確認してください。
USBデバイスを正しく認識できているか確認する方法
USBデバイスとしてLinuxが認識できているかどうかを確認するには、「lsusb
」コマンドで確認して見てください。
Moteの電源を入れよう
Moteに付いているSWを入れると、電源が入ります。緑のLEDが点滅し始めて、点灯すればメッシュ・ネットワークに参加したことになります。
SSHでログインして、Moteのステータスを確認しよう
Moteがネットワークに参加しているかどうかを確認するには、ssh経由の接続でVManagerのコンソール機能(CLI)を使います。
こちらのガイドから、SSHでログインする方法を確かめてください。
例)IPアドレスが、10.0.0.23の場合
$>ssh dust@10.0.0.23 -p 22
とタイプします。IPアドレスは使用環境に合わせてください。
IPアドレスの確認方法は、ifconfig
で確認してください。
Consoleアプリを使って、Moteを確認
ログインできたら、console
と入力します。
ログイン時に、ユーザーIDとパスワード確認されます。「dust
」「dust
」でログインして下さい。
コンソールにログインできたら、「sm
」と入力してください。
$> sm AP MAC Id Clk State State time Jn Nbrs Links ----------------------- --- --- ----- ------------ --- ---- ----- 00-17-0D-00-00-31-99-E2 1 Int Oper 0-00:04:31 1 4 36 Mote MAC Id State State time Age Jn Nbrs Links ----------------------- --- ----- ------------ --- --- ---- ----- 00-17-0D-00-00-31-C3-82 2 Oper 0-00:04:03 16 1 1 13 00-17-0D-00-00-31-C8-F4 3 Oper 0-00:03:39 2 1 1 13 00-17-0D-00-00-31-C8-39 4 Oper 0-00:02:25 17 1 1 13 00-17-0D-00-00-31-C9-F3 5 Oper 0-00:01:46 7 1 1 13 APs: 1, motes: 4. Live: 5, joining: 0, lost: 0
このようにMoteのステータスが表示されます。次に、ping Mote No.
を指定すると、Moteのアドレスとレイテンシー、電圧、温度を返してきます。
$> ping 2 In progress. Callback id: 1 $> PING 2018-08-23 22:41:55.374 Reply from Mote #2, mac: 00-17-0d-00-00-31-c3-82 CallbackId: 1, Latency: 1521ms (1 hops), Data: 2738mV, 26C ping 3 In progress. Callback id: 2 $> PING 2018-08-23 22:42:00.288 Reply from Mote #3, mac: 00-17-0d-00-00-31-c8-f4 CallbackId: 2, Latency: 1753ms (1 hops), Data: 2731mV, 26C ping 4 In progress. Callback id: 3 $> ping 5PING 2018-08-23 22:42:08.336 Reply from Mote #4, mac: 00-17-0d-00-00-31-c8-39 CallbackId: 3, Latency: 3817ms (1 hops), Data: 2905mV, 26C In progress. Callback id: 4 $> PING 2018-08-23 22:42:09.683 Reply from Mote #5, mac: 00-17-0d-00-00-31-c9-f3 CallbackId: 4, Latency: 1215ms (1 hops), Data: 2898mV, 26C
SmartMeshの関連情報
SmartMeshは、PCはもちろんRaspberry Pi(2以降)やArduino、mbedなど多くの環境で動かせるようになっています。下記リンク先の情報を参考に、構築することもできます。
まとめ
SmartMeshの評価キットDC9021Bは、すぐにIoTセンサーネットワークが構築できます。アナログ・デバイセズのSmartMeshで、簡単IoTセンサーネットワークを構築してください!
最新情報をメーカーサイトで見る
こちらも是非
“もっと見る” 実験室
組み込みアプリを止めるな!printfやブレークポイントも使わず内部状態をチェック!
産業機器、オーディオ製品、通信デバイスをはじめとする多くの組み込みアプリケーションは、わずかなタイミングの違いで動きが変化します。そのため、開発・検証のためにprintfなどを仕掛けることが難しく、開発効率が伸び悩むケースも増えています。そこで今回の実験室では、システムを止める事なく内部状態を取得できるデータ計測ツール「EVRICA」を紹介いたします。組み込みアプリケーションの開発や検証に欠かせない、新しい開発ツールです。
IoTエッジコンピューティングをSmartMeshで実践
今回の実験は、Moteに内蔵されている非力なマイコンを使って、振動計測ソリューションのFFTデータをSmartMeshで送信したIoTエッジコンピューティングを実践してみました。
非絶縁型中間バスコンバータ750Wで、48Vと12Vを自由自在
VicorのNBMシリーズの最新デバイスであるNBM2317シリーズは、23×17×7mmという超小型パッケージで最大750W出力、48V→12Vまたは、12V→48Vの双方向において98%のピーク効率を実現した非絶縁型中間バスコンバータ。今回の実験室は、実際に動かしつつ、その性能とメリットを解説している。その様子は、是非動画で見て欲しい。