TS-251+を買ったのでこっちで遊んでみました。目次ポイント:QNAPのコンテナステーションで手軽にIoT向けのDB+可視化環境を構築する。PiからInfluxDBへセンサデータを送信Grafanaでデータを可視化ポイント:QNAPのコンテナステーションで手軽にIoT向けのDB+可視化環境を構築する。構成QNAPにはDockerを手軽に扱える「コンテナステーション」というアプリケーションがあります。コンテナステーションの中身はDockerそのものですが、DockerのコンテナをGUIで管理できるため、導入の敷居が低いことが特徴です。コンテナステーション上へInfluxDB(時系列に特化したデータベース)とGrafana(可視化)をインストールし実現します。NASをお勧めします。Station」をインストールします。インストールしたコンテナステーションを開くと、管理ディレクトリを聞いてきます。デフォルトの「/Container」のままで良いでしょう。コンテナステーションを開いたら、メニューから<コンテナの作成>を選択し、「Influxdb」をフォームから検索し、<インストール>ボタンを押します。ボタンを押した際、インストールするバージョンを聞いてきますので、<latest(最新)>を選びます。続けてコンテナ作成メニューが開きます。ここで注意すべきところは、コンテナが待ち受けるポートを固定してあげることです。コンテナステーションでは、コンテナの起動時、ポートがランダムで割り振られます。Pi)から接続できなくなってしまいます。そこで、InfluxDBとGrafanaのポートを固定設定することで、その問題は避けられます。コンテナ作成の<詳細設定>をクリックします。<ネットワーク>の設定に移り、空欄となっている<ホスト>のフォームへ待ち受けしたいポート番号を入力します。今回は「32768」と入力しました。最後に<作成>を押し、完了です。インストールにはコンテナのダウンロードが必要なので、1分ほど時間がかかります。このポート設定はコンテナ作成時のみしか行えないため、注意してください。誤って作成してしまった場合は、一度、コンテナを削除してから再インストールを行えば設定可能です。続いて、同じようにGrafanaをインストールします。Grafanaも同様にポートの固定を行います。今回は「32679」としました。「Influxdb」と「Grafana」の2つがインストールされると、コンテナステーションのメニューへそれぞれのコンテナが追加されます。この状態で、2つのコンテナがすでに実行中となっています。コンテナステーションはNAS再起動時も自動でコンテナの実行を行うため、あとの操作は不要です。InfluxDBの設定QNAPへSSHで接続し、起動しているInfluxDBへログインします。bash※influxdb-1はインストールしたコンテナステーション上の名称にします。InfluxDBの管理画面(CLI)へ入ります。influxプロンプトの表示が「>」へ変わります。データベースの一覧を確認しましょう。databasesname----_internal「_internal」は最初から入っているDBです。DATABASEコマンドを用いて、新しいDB「mydb」を作成します。databasesname----_internalmydb以上で、InfluxDBの大まかな設定は完了です。ユーザーやパスワードの設定は公式ドキュメントを参照してください。一度、管理画面をexitで抜けて、InfluxDBのコンテナ上でテスト送信してみましょう。DBへのポストはcurlコマンドを用いて行います。DBへ送信する要素名を”cpu”、値を”0.64′′にして送信してみましょう。value=0.64'以下の応答が返ってくれば成功です。PiとQNAPは次の固定IPを割り当ててあります。TS-251+:192.168.0.2/24InfluxDBは通常8086のポートで接続を待ち受けますが、Dockerを用いているため通常であればポートフォワードが必要です。QNAPのコンテナステーションでは自動的にポートフォワーディングされ、別のポートで待ち受けています。この辺はコンテナステーションを用いる利点かと思います。ポートは先ほど固定設定したとおりですが、確認方法はQTSのコンテナステーション上から<influxDBのコンテナ設定>→<詳細設定>→<ネットワーク>でホストのポート番号を確認できます。以下の画面の場合「32768」ですね。PiにSSHでログインし、先ほどと同じようにInfluxDBへ向かってデータを送信てみましょう。送信先のポートは上で確認したものと同じにします。curlで入れてください。以下の応答が返ってくれば成功です。GMTさて、InfluxDBへ本当にデータが格納されているか見てみましょう。先ほどのInfluxDBの設定と同じようにQNAPでInfluxDBの管理画面ログインします。1.3.0>USEコマンドで閲覧するDB<mydb>を決定し、SELECTコマンドで要素を選択します。Piから送信したデータこのように2つのデータが表示されていれば成功です。Grafanaでデータを可視化GrafanaではInfluxDBのデータを読み込んで、リアルタイムでグラフ化することが可能です。グラフ画面へのアクセスはコンテナステーションのコンテナ→grafanaを選択し、URLをブラウザで開きます。Grafanaのログインページが開きます。初期のユーザーは次のとおりです。Password:adminとりあえず、パスワードを変更しておきます。左側のメニューからProfileを選択します。Password」から変更できます。ホーム画面に戻り、データソースの追加をします。source>を選びます。データソースの編集画面になるので、以下のように入力します。最後にSaveを押したた時点で”Success”と表示されればOKです。次はグラフの設定です。Dashboard>を選択します。Title>をクリックすると<Edit>が選択でき、グラフ編集画面が開きます。FROMの項目で要素名”CPU”を選択し、グラフ描画方法を”fill(none)”に選択すると、テストデータのグラフが表示されます。これでテストデータの表示は完了です。ダッシュボードの保存を忘れずに行ってください。Piから、定期的にセンサデータをDBへ送信し、Grafanaのダッシュボードで表示したい要素名を追加していけば良いだけです。グラフの配置など調節すれば、以下のように表示できます。リアルタイムにデータの可視化を行えるのでホントに便利です。PowerShell"が立ち上がるようになっていたので、どうせならということでSSHを使えるようにしました。プッシュ通知をIFTTTを使って簡単に実現する方法を紹介。これを応用するとLINEグループへの通知も可能。Piのセンサーが反応したとき、家庭のグループLINEへ通知する」ことができます。Buttonが押されたらLINEへ通知するようにしてみました。ButtonのARPを検知し、IFTTTを通じてLINEへメッセージを送る方法を紹介します。以前、「QNAPを用いたスマートフォンのOpenVPN接続」記事を書きました。あれから2年経ち、QTS(QNAPのOS)は頻繁にアップデートされ、QNAPのDDNSサービスもmyQNAPcloudへと変わりました。今年の年末年始は日取りが良く、有給を使って10連休以上の休みが取れそうなので家族サービスと趣味に没頭しようと決めました。Watchを見ていて気になっていたこの新製品を購入。TS-251+のメモリ2GBモデルを購入しましたが、コンテナステーションを使用したり、動画のトランスコードをしたりしていると、とてもメモリが足りないので、8GBへ増設しました。コメントをキャンセルメールアドレスが公開されることはありません。*サイト上に表示された文字を入力してください。PiでのプログラミングはAtomエディタが便利2018.03.012020.02.13中の人@digi-cassiスプラトゥーンはやっとことないが、イカは好き。目次ポイント:QNAPのコンテナステーションで手軽にIoT向けのDB+可視化環境を構築する。PiでのプログラミングはAtomエディタが便利2018.03.012020.02.13中の人@digi-cassiスプラトゥーンはやっとことないが、イカは好き。目次ポイント:QNAPのコンテナステーションで手軽にIoT向けのDB+可視化環境を構築する。PiからInfluxDBへセンサデータを送信Grafanaでデータを可視化タイトルとURLをコピーしました。