0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【CONEXIOBlackBearでこんなことやってみた】TeamViewer IoTでデバイスの稼働状況をグラフ化

Last updated at Posted at 2022-05-16

この記事では、TeamViewer IoTでデバイスをリモートコントロール・監視するための以下作業について解説しています。

  • TeamViewer IoTをIoTゲートウェイ「CONEXIOBlackBear」にインストール
  • TeamViewerアカウントと監視対象のデバイスを関連づける
  • 関連付けたデバイスをリモートコントロールする
  • TeamViewer IoTに関連付けたデバイスの稼働状況をグラフ化する
  • 閾値を設定し、それを超えたらメールでアラートを送る

TeamViewer IoT とは

TeamViewer は、離れた地点にあるパソコンやスマートフォンに接続して遠隔操作ができる、テレワークやリモートサポート業務などで重宝されるリモートアクセス・ツールです。 セキュアな通信で安全に接続でき、複雑な設定が不要なことでも知られています。

このTeamViewerにIoTならではの様々な機能がコラボした究極のIoTツールが「TeamViewer IoT」です。今回は、これを使ってIoTゲートウェイ「CONEXIOBlackBear」を遠隔で制御してみます。


TeamViewer IoTでできること
  • 接続:VPNやファイアウォールの設定不要で、どこでも安全にモノに接続。
  • 監視:モノの状態をリアルタイムに可視化。条件付きルールを定義して異常警告を発信。
  • 制御:モノをリアルタイムで制御。

キータ記事2-1.png

UIはこんな感じです。
キータ記事2-2.png
キータ記事2-3.png

CONEXIOBlackBearとは
今回、監視対象として使用したエッジコンピューティング・ゲートウェイです。46か国で認証取得済みで、車載利用やエッジ処理にも対応可。詳しくは下記の記事をご確認ください!

1. TeamViewer IoTをCONEXIOBlackBearにインストール

それでは作業の解説に入ります。 ここはコマンド2発なのでとっても簡単です!

TeamViewer IoTエージェントのDebパッケージをCONEXIOBlackBear (以下、BB)に
置いてから、下記のコマンドを実行します。
(Debパッケージについてはお問合せください)

# apt-get install libavahi-client3 procps
# dpkg -i teamviewer-iot-agent_1.0-r0_armhf.deb

2. TeamViewerアカウントと監視対象のデバイスを関連づける

デバイス(=BB)を監視するには、TeamViewerアカウントとデバイスを関連付けする必要があり、ユーザーPC側およびBB側の双方で設定を行ないます。

【ユーザーPC側】
①ブラウザーで https://teamviewer-iot.com にアクセスして、TeamViewerアカウントでログインします。
キータ記事2-4.png

②Groupを新規作成します。
 「Inventory」→「Add」→「Group」
※既にグループがあるならスキップでOK
キータ記事2-5.png

③画面右上の▽を選択して
「Assignment token」を選択して、表示されたtokenをコピーします。
キータ記事2-6.png

【BB側】
ユーザー側で設定した②「Group」と③「token」を下記要領でコマンド実行します。

# teamviewer-iot-agent assign -t token -g $‘Group'

※ソフトウェア使用許諾について表示されますので、内容を確認し同意する場合は「y」を入力します。

これでおしまいです。
「Inventory」 画面で稼働中のデバイス一覧が確認できます。(いわゆる死活監視)
BBがちゃんと見えてますね!
キータ記事2-7.png

3. 「CONEXIOBlackBear」をリモートコントロールする

リモートコントロールは、本家TeamViewerアプリから行ないます。 (デバイスと関連付けしたアカウントを使用します)

ブロードバンドルーターのWi-Fiインターフェイスに接続されたBBに対して、インターネット経由でリモートコントロールを試みてみます。
キータ記事2-8.png
繋がりました!(設定をONにすればファイル転送も可能です)

4. 関連付けたデバイスの稼働状況をグラフ化する

【見える化の準備】

まずはデバイスである BBの「Edge Management」機能を有効にする必要があります。 BBで以下のコマンドを実行してください。

# apt-get install docker lsof
# teamviewer-iot-agent install edge-management
# echo "mkdir /var/log/teamviewer-iot-agent" >> /etc/rc.local

【BBの稼働状況を見てみる】
TeamViewer IoTでは、登録したデバイスのメモリ状況やCPU負荷状況をそれぞれ個別のセンサーと見立てて、簡単に見える化する機能が備わっています!

①TeamViewer IoTページ(https://teamviewer-iot.com)にログインします。
②「Inventory」→「Add」→「Sensor」で「Load」と「Memory」のSensorを登録すると、下記の表が表示されます。表の「Metric」とは、コントールが可能なセンサーデータとなります。
キータ記事2-9.png
③各「Metric」の右側にあるから「Pin to dashboard」→「Pin」を選択すると、その「Metric」をダッシュボードに張り付けることができます。 
キータ記事2-10.png
④「Dashboard」メニューからダッシュボードを見てください。
キータ記事2-11.png
グラフが表示されました!
もちろん、BBだけでなく独自のSensorを登録できます。
各種言語(C、Python、Node.js)のSDKが用意されており、簡単に追加できるようです。

5. 閾値を超えたらメールでアラートを送る

設定した閾値を超えたときにアラートを出す機能を有効にしてみましょう。

それにはBBの「Rule Engine」機能を有効にする必要があります。BBで以下のコマンドを実行してください。

# teamviewer-iot-agent install rule-engine

【ルールを作る】
ルールとは、アラート通知するMetric値の閾値の条件定義です。
さらにルールには、アラートを通知する宛先の情報(トピック、チャネル)と紐づいており、事前に設定する必要があります。
キータ記事2-13.png
・ルール
「Rules」にて設定します。
対象Metricの閾値条件と使用するトピックを設定します。
デバイスのオンライン/オフラインを条件にすることも可能です。

・トピック
「Notifications」→「Topics」にて設定します。
アラート通知先(チャネル)を選択(複数可)します。

・チャネル
「Notifications」→「Channels」にて設定します。
アラートの通知先を以下の2つから選択して、宛先の詳細な情報(メールアドレスやURL)を設定します。
 ・メール
 ・Webhook(外部サービスへ「HTTP」で通知する仕組み)

【メールでのアラートを設定】
試しに、空きメモリが1GByte以下になったらメールで通知するルールを作成してみました。
ルールの条件は「Free Memory < 1GByte」となります。
さっそく、 CONEXIOBlackBearの空きメモリ容量を故意に操作してみると…
キータ記事2-12.png
メールが来ました!容量が復帰した時にもちゃんと来るんですね。

6. 最後に

リモートアクセス+IoTツール「TeamViewer IoT」をご紹介させて頂きましたが、お手軽さが伝わりましたでしょうか。

CONEXIOBlackBearとあわせて、ぜひお試ください!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?