LaMetric Timeを使って可視化・可聴化!

はじめに

スタメンでエンジニアをしている田中です。趣味でIoTの開発をやっていて、特に環境のセンシングや情報の可視化に興味・関心があり、自宅では二酸化炭素濃度の計測・グラフ化をしています。 本記事では、スタメンで運用しているLaMetric Timeとその運用方法についてご紹介したいと思います。

LaMetric Timeとは

Wi-Fi経由で様々なデバイスやサービスと連携でき、時刻の表示やアラームといった時計の機能のみならず、天気やニュース、各種SNSの情報を取得、表示することができる、IoT時計です。 公式サイト

専用アプリからどのような情報を表示するか簡単に設定でき、それらをドット絵で表示してくれる点も魅力の一つです。

また、様々なWebサービスと連携できるIFTTTにも対応しているため、Webhookを利用してLaMetric Timeに任意の文字を表示することも可能です。

スタメンでは主に3つの方法で運用しています。それぞれについて説明します。

スタメンにおける運用方法

Bugsnagの通知

スタメンが提供しているサービス「TUNAG」ではフロントエンドにReact、バックエンドにRuby on Railsを採用しています。 スタメンのエンジニアが作っている『TUNAG』の技術的な解説

また、それらのエラー監視としてBugsnagというサービスを利用しています。 【React】ErrorBoundary × Bugsnagによるエラー対応 Bugsnagと黒魔術で、Railsの不具合調査を楽にする仕組み!

スタメンではBugsnagとSlackを連携させ、特定のチャンネルに通知を送ることでエラー内容を確認していますが、作業に集中しているとSlackの通知を見落としたり、PCから離れていると通知に気づくことが出来ません。 そこでLaMetric TimeとSlackを連携することで、Slackに送られてきたBugsnagの通知をLaMetric Timeへと送り、エラーメッセージの表示と音を鳴らしています。

・・・しかし、エラーメッセージは様々な種類があり、また一つ一つのメッセージが長く、横スクロールの速度も早いため、LaMetric Timeのディスプレイで読み取ることは正直難しいです。そのため、エラーメッセージを読み取るのではなく、あくまでエラー通知が来たことを音で認識するために利用しています。

先日、席を離れているときにデザイナーから「LaMetric Timeから音が繰り返し鳴っているよ!」とお声がけいただいたことで、エラーに気づくことがありました。このようにエンジニアではない方でも「何かしらのエラーが起きている」と気づくことが出来るため、何か問題が起こった場合でも早急に対応することが可能です。

リリース通知

スタメンでは本番環境へのリリース時、Circle CIによるテストの通過後、Capistranoを用いて本番環境へデプロイしています。 しかし、リリースが完了したことを確認するためには、Capistranoの処理が完了しているかを、ログで確認するしかありません。

そこで、本番環境へのリリース時にLaMetric Timeにて通知を出すようにしました。 これにより、わざわざ確認しにいかなくてもリリースできたかを認識することができます。

仕組みとしては、IFTTTのWebHookを利用してLaMetric Timeへ通知を送っています。 本番環境へのリリース時に、Capistranoの処理の中で、IFTTTで設定したWebhook URLにPOSTリクエストすることでLaMetric Timeに表示することができます。 また、リクエスト送信時にパラメータとしてリリースされたPull Requestのタイトルを含めることで、どのPull Requestがリリースされたのかが把握することが出来ます。

日々、多くのリリースを行なっていますが、「どのタイミング」で「何がリリースされたのか」をリアルタイムで把握できるため、大変役立っています。

環境センシングの可視化

スタメンでは環境のセンシングとしてNetatmoウェザーステーションを導入しています。

Netatmoウェザーステーションについて簡単に説明すると、気温や湿度、二酸化炭素濃度といった環境データを計測するモジュールを設置し、Wi-Fi経由でNetatmoサーバーに送り、公式アプリから観測することが出来るものです。 公式サイト

NetatmoウェザーステーションとLaMetric Timeの連携は専用アプリにてサポートされているため、手軽に設定することが可能です。

LaMetric Timeで環境データを表示することで、表示されている気温が高ければ冷房の設定温度を下げたり、二酸化炭素濃度が高ければ換気をしたりと室内の環境に応じた行動の判断の手助けをしてくれています。

おわりに

スタメンで運用しているLaMetric Timeとその運用方法についてご紹介しました。 実際に運用してみて思ったことは以下の点です。

  • IFTTTと連携すれば幅広い情報を簡単に取得、表示できる
  • アイコンや表示する文字、通知音といった通知内容のカスタマイズがしやすい
  • 個人ではなくチームで利用する場合は、表示内容よりも通知音の設定が重要。表示内容はLaMetric Timeが見える位置の人にしか情報が伝わらないが、通知音であれば何の音が鳴ったかによって通知内容の種類を判別できる

様々な情報を手軽に可視化・可聴化したい!と思う場合に良いと感じました。

株式会社スタメンでは一緒に働く仲間を募集しています。こちらからぜひお気軽にお話を聞きに来てください!