LoginSignup
1
0

LaMetricTimeに通知を送信するためのテンプレート

Posted at

始めに

こんにちは!エンジニアのまるさんかくです。
先日LaMetricTimeという時計を購入しました。
この時計は外部からwebAPIを通すことで様々な情報を表示・通知することができます。
LaMetricTimeに通知を送るための第一歩として当記事を記載しました。

LaMetricTimeとは

粗めのドット表示が特徴的なデジタル時計
webAPIが充実しており、LaMetricTimeに対して様々な制御ができる。
機能としては大きく分けて3種類

  • 表示(INDICATOR APP)
  • ボタン実行(BOTTUN APP)
  • 通知(NOTIFICATION APP)

INDICATOR APP

表示アプリ
特定のファイルから定期的に値を取得し、値を更新する

例:
Xのアカウント数を常に更新・表示するアプリ

BUTTON APP

ボタン実行アプリ
LaMetricTimeのボタンを操作することで様々な動作を実行する

例:
LaMetricTimeのボタンをスイッチとしたタイマーアプリ

NOTIFICATION APP

通知アプリ
ローカルネットワークを通じて通知を直接送信する
音楽を流すことも可能

例:
休憩を促す通知を送信するアプリ

内容

PCからwebAPIを通じてLaMetric Timeに通知を送信する

アカウント登録

PC上で実行

URLにアクセス

SIGN UPから名前、メールアドレス、パスワードを入力して登録

デバイスの初期設定

スマホ上で実行

Google playからアプリをインストールし、デバイスの初期設定を実行

LaMetric TimeのIPアドレス確認

スマホ上で実行

アプリの通知送信時に使用するIPアドレスを確認
LaMetricアプリの設定アイコンからWi-Fiを選択

デバイスのIPアドレスが表示されている

デバイスのAPIキー確認

ログイン後、ユーザー名→My devicesを選択


デバイスの初期設定が完了していれば、DEVICESにデバイス名とシリアルナンバー、APIキーが表示される

APIの仕様

API仕様は下記リンクの公式ドキュメントから確認可能です。
表示アプリ、ボタン実行アプリ、通知アプリを作成するためのチュートリアルとAPI仕様について記載されています。

ソースコード

公式ドキュメントのチュートリアルにはcurlコマンドを使用して一行でデータ内容を書く例が記載されていますが、送信データが長く内容を一行に書くのが大変でした。今回はデータ内容をjsonファイル、実行時の環境をshファイルに記載して使い回しやすくしました。

jsonファイルを変更することで表示する画像・テキストを変更可能

#!/bin/bash
# jsonファイルのパス
json_file="<jsonファイルが保存されているディレクトリ>/sound_template.json"

# APIエンドポイント
api_endpoint="http://<LaMetric TimeのIPアドレス>:8080/api/v2/device/notifications"

# 認証情報
username="dev" # 変更の必要なし
password="<APIキー>"

# curlコマンドを実行
curl -X POST -u "$username:$password" -H "Content-Type: application/json" -d "@$json_file" $api_endpoint
{
    "priority": "warning",
    "model": {
        "cycles": 1,
        "frames": [
           {
              "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAUklEQVQYlWNUVFBgYGBgYBC98uE/AxJ4rSPAyMDAwMCETRJZjAnGgOlAZote+fCfCV0nOmA0+yKAYTwygJuAzQoGBgYGRkUFBQZ0dyDzGQl5EwCTESNpFb6zEwAAAABJRU5ErkJggg==",
              "text": "HELLO!"
           }
        ],
        "sound": {
            "category": "notifications",
            "id": "cat"
        }
    }
}

実行

sample.shを実行することでjsonファイルに記載した内容を通知

$ ./sample.sh

最後に

今回はPCからLaMetric Timeに通知を送信するためのテンプレートを紹介しました。
ドキュメントは英語ですが内容は難しくないため、この内容を手始めに様々な通知を送信したり、他のアプリケーションのチュートリアルに挑戦していただければと思います。

参考URL

1
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
1
0