7
2

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 3 years have passed since last update.

ZYYXAdvent Calendar 2019

Day 19

MESHタグで家の気温・湿度を取得してZabbixで管理する

Last updated at Posted at 2019-12-18

こちらは ZYYX Advent Calendar 2019 19日目の記事になります。

はじめに

うちの会社の人は、業務に関係ある・なし関係なく面白いデバイスや技術を見つけると、実際に使ってみたり、なんか作ってみたりする人が多いです。そんな雰囲気に乗っかって、私もMESHブロックで取得したデータをZabbixに渡す仕組みを作ってみました。

全体図

今回の内容の全体図になります。
家の1階と2階に温度・湿度ブロックが設置されています。(玄関ドアに動きブロックも設置していますが、今回は説明を割愛します)
MESHブロックから送られたデータはiPhoneSE(昔使ってたスマホです)に送られ、WiFiを通してIFTTT経由でGoogleスプレッドシートに記録、Googleスプレッドシートの内容をjson化したものを、クラウド上のZabbixが定期的にチェックしにいく、という流れになります。
図1219.png

やったこと

やったことを処理の流れに合わせて4ステップで説明します。

STEP1:MESHブロック→iPhone→IFTTT

MESHブロックで取得した温度や湿度のデータを、MESHアプリ経由で定期的にIFTTTに渡します。
MESHアプリとIFTTTの連携方法は公式サイトのこちらに記載がありますので、説明は省略します。
IMG_0942.PNG

STEP2:IFTTT→Googleスプレッドシート

IFTTTのCreate画面にて、「If」にMESHの「Event from MESH app received」を指定します。
EventIDには、MESHアプリ側で設定した文字列と同じものを設定します。
「Then」にはGoogle Sheetsの「Update cell in spreadsheet」を指定します。
また、スプレッドシートのフォルダパス・シート名と、どのセルに、値(変数名Text)を反映させるかを設定します。(以下図)

スクリーンショット 2019-12-16 20.16.08.png
ここまでを、1階の温度・湿度と、2階の温度・湿度の4セット作成します。
この時点でスプレッドシートはこんな感じの状態になります。
スクリーンショット 2019-12-16 20.20.02.png

STEP3:Googleスプレッドシート→json化

Googleスプレッドシートの内容を、Zabbixから見に行けるようにjson形式にします。
やり方についてはこちらの記事を参考にしました。
jsonのURLは https://script.google.com/macros/s/なんとかかんとか/exec のようになりました。
中身はこんなんです。

[
    {
        item: "1Ftemperature",
        value: "13.7"
    },
    {
        item: "1Fhumidity",
        value: "58"
    },
    {
        item: "2Ftemperature",
        value: "13.2"
    },
    {
        item: "2Fhumidity",
        value: "56"
    }
]

STEP4:jsonをZabbixで監視

先程作られたjsonをZabbixから監視するようにします。
Zabbix4.0以降に追加された「HTTPエージェント」を使用して、jsonの内容を取得するアイテムを1つ作成します。

スクリーンショット 2019-12-16 20.25.55.png

更にそのアイテムを使って依存アイテムを4つ(1階の温度・湿度と、2階の温度・湿度)作成します。
1階の温度の場合はこんな感じ。

「アイテム」タブ
スクリーンショット 2019-12-16 20.26.22.png

「保存前処理」タブ
スクリーンショット 2019-12-16 20.26.36.png

こうなりました

そんな訳で、家の1階と2階の温度・湿度のデータを取り続けたことで、Zabbix上でこんなグラフが作れるようになりました!
→1階温度:青い線、2階温度:赤い線、外気温:緑グラデ
スクリーンショット 2019-12-16 20.33.52.png

外気温についてはOpenWeatherMapを使って、住んでるところに近い街のデータを取得しています。
OpenWeatherMapを使ったお天気情報取得についてはこちらの記事を見ていただければと。

あと、家の現在の温度・湿度が分かるマップなんかも作りました。
特にトリガーは設定していないので常にステータスは「正常」です。
SS2019-12-15 23.26.32.png
さて、後はこれをどう活かすか・・・(今の所ただデータを取り続けているだけ😅)

あとがき

個人的な考えですが、何でもZabbixで管理できる!(Zabbixで管理出来ないものはない!)と思ってるので、その手始めに家の気温・湿度を管理することが出来てよかったです。
次は何をZabbixで管理しようかな〜。

7
2
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
7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?