この記事では、TeamViewer IoTでデバイスをリモートコントロール・監視するための以下作業について解説しています。
- TeamViewer IoTをIoTゲートウェイ「CONEXIOBlackBear」にインストール
- TeamViewerアカウントと監視対象のデバイスを関連づける
- 関連付けたデバイスをリモートコントロールする
- TeamViewer IoTに関連付けたデバイスの稼働状況をグラフ化する
- 閾値を設定し、それを超えたらメールでアラートを送る
TeamViewer IoT とは
-
TeamViewer は、離れた地点にあるパソコンやスマートフォンに接続して遠隔操作ができる、テレワークやリモートサポート業務などで重宝されるリモートアクセス・ツールです。
セキュアな通信で安全に接続でき、複雑な設定が不要なことでも知られています。
このTeamViewerにIoTならではの様々な機能がコラボした究極のIoTツールが「TeamViewer IoT」です。今回は、これを使ってIoTゲートウェイ「CONEXIOBlackBear」を遠隔で制御してみます。
◇TeamViewer IoTでできること
- 接続:VPNやファイアウォールの設定不要で、どこでも安全にモノに接続。
- 監視:モノの状態をリアルタイムに可視化。条件付きルールを定義して異常警告を発信。
- 制御:モノをリアルタイムで制御。
- ◇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アカウントでログインします。
②Groupを新規作成します。
「Inventory」→「Add」→「Group」
※既にグループがあるならスキップでOK
③画面右上の▽を選択して
「Assignment token」を選択して、表示されたtokenをコピーします。
【BB側】
ユーザー側で設定した②「Group」と③「token」を下記要領でコマンド実行します。
# teamviewer-iot-agent assign -t token -g $‘Group'
※ソフトウェア使用許諾について表示されますので、内容を確認し同意する場合は「y」を入力します。
これでおしまいです。
「Inventory」 画面で稼働中のデバイス一覧が確認できます。(いわゆる死活監視)
BBがちゃんと見えてますね!
3. 「CONEXIOBlackBear」をリモートコントロールする
リモートコントロールは、本家TeamViewerアプリから行ないます。 (デバイスと関連付けしたアカウントを使用します)ブロードバンドルーターのWi-Fiインターフェイスに接続されたBBに対して、インターネット経由でリモートコントロールを試みてみます。
繋がりました!(設定を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」とは、コントールが可能なセンサーデータとなります。
③各「Metric」の右側にあるから「Pin to dashboard」→「Pin」を選択すると、その「Metric」をダッシュボードに張り付けることができます。
④「Dashboard」メニューからダッシュボードを見てください。
グラフが表示されました!
もちろん、BBだけでなく独自のSensorを登録できます。
各種言語(C、Python、Node.js)のSDKが用意されており、簡単に追加できるようです。
5. 閾値を超えたらメールでアラートを送る
設定した閾値を超えたときにアラートを出す機能を有効にしてみましょう。それにはBBの「Rule Engine」機能を有効にする必要があります。BBで以下のコマンドを実行してください。
# teamviewer-iot-agent install rule-engine
【ルールを作る】
ルールとは、アラート通知するMetric値の閾値の条件定義です。
さらにルールには、アラートを通知する宛先の情報(トピック、チャネル)と紐づいており、事前に設定する必要があります。
・ルール
「Rules」にて設定します。
対象Metricの閾値条件と使用するトピックを設定します。
デバイスのオンライン/オフラインを条件にすることも可能です。
・トピック
「Notifications」→「Topics」にて設定します。
アラート通知先(チャネル)を選択(複数可)します。
・チャネル
「Notifications」→「Channels」にて設定します。
アラートの通知先を以下の2つから選択して、宛先の詳細な情報(メールアドレスやURL)を設定します。
・メール
・Webhook(外部サービスへ「HTTP」で通知する仕組み)
【メールでのアラートを設定】
試しに、空きメモリが1GByte以下になったらメールで通知するルールを作成してみました。
ルールの条件は「Free Memory < 1GByte」となります。
さっそく、 CONEXIOBlackBearの空きメモリ容量を故意に操作してみると…
メールが来ました!容量が復帰した時にもちゃんと来るんですね。
6. 最後に
リモートアクセス+IoTツール「TeamViewer IoT」をご紹介させて頂きましたが、お手軽さが伝わりましたでしょうか。CONEXIOBlackBearとあわせて、ぜひお試ください!