GPS マルチユニット SORACOM Edition (以下、GPS マルチユニット) が SORACOM に送信したデータと、Open-Meteo で取得した天気予報をもとに、AI に最適なエアコン設定温度を質問して、結果を LINE に通知します。
GPS マルチユニットは、位置情報 (GPS)、温度、湿度を送信するデバイスです。
操作を始める前に準備が必要です (クリックして確認してください)
(1) SORACOM アカウント (オペレーター) を作成する
SORACOM アカウント (オペレーター) を作成します。また、支払い方法の登録も必要です。詳しくは、STEP 1: SORACOM アカウント (オペレーター) を作成する を参照してください。
(2) GPS マルチユニット SORACOM Edition を準備する
GPS マルチユニット SORACOM Edition を使用します。
なお、GPS マルチユニットがない場合でも、GPS マルチユニットが送信するデータと同じフォーマットで Unified Endpoint のエントリポイントにデータを送信することで、このページの操作を進められます。詳しくは、GPS マルチユニット SORACOM Edition からデータを送信する を参照してください。
準備完了ステップ 1: LINE Notify のトークンを発行する
ステップ 7: LINE 通知アクションを作成する の操作で必要な LINE Notify のトークンを発行します。
LINE Notify のトークンは、パーソナルアクセストークンや、Personal Access Token と表記されることがあります。
LINE Notify にアクセスし、 をクリックして、LINE アカウントでログインします。
画面の指示に従って操作してください。ログインに成功すると、
の代わりにユーザー名が表示されます。ユーザー名をクリックし、
をクリックします。をクリックします。
以下の項目を設定します。
項目 説明 トークン名を入力します。 通知先のトークルームを選択します。たとえば、「1:1 で LINE Notify から通知を受け取る」を選択すると、「LINE Notify」というアカウントから通知が届きます。 をクリックします。
LINE Notify のトークンが発行されます。
をクリックして、クリップボードにコピーします。
認証情報ストアに API トークン認証情報を登録する
Flux アプリから LINE Notify にメッセージを送信するために、LINE Notify に関する認証情報 (LINE Notify のトークン) を、ユーザーコンソールの認証情報ストアに登録します。認証情報ストアの「認証情報を登録」画面の表示方法については、認証情報を登録する を参照してください。
認証情報は、以下のように登録します。
項目 | 説明 |
---|---|
認証情報を識別するために任意の名前を入力します。例: LINE-Notify-for-air-conditioning-settings | |
「API トークン認証情報」を選択します。 | |
LINE Notify のトークンを入力します。例: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
ステップ 2: SIM グループを作成する
Unified Endoint を利用するために、SIM グループを作成して GPS マルチユニットで使用している IoT SIM をその SIM グループに所属させます。
SIM グループの作成および IoT SIM が所属するグループを変更する操作については、以下のページを参照してください。
Unified Endpoint のエントリポイントにデータを送信したときに Flux アプリが起動するように設定します
ステップ 4: IoT デバイスイベントソースを利用するチャネルを作成する では、イベントソースとして「IoT デバイス」を選択します。その場合は、以下の条件をすべて満たすときに、デバイスが Unified Endpoint のエントリポイントに送信したデータが Flux アプリのイベントソースとして扱われます。
- IoT SIM が SIM グループに所属すること。
- その SIM グループをチャネルのイベントソースに設定すること。
- IoT SIM を利用するデバイスで、Unified Endpoint のエントリポイント にデータを送信すること。
ステップ 3: Flux アプリを作成する
ユーザーコンソールにログイン し、Flux アプリを作成するカバレッジタイプを選択します。
たとえば、plan01s の IoT SIM がデータを送信したときに Flux アプリが実行されるようにする場合は、グローバルカバレッジの表示に変更します。詳しくは、SORACOM ユーザーコンソールで表示するカバレッジタイプを変更する を参照してください。
→ → の順にクリックします。
をクリックします。
以下の項目を設定します。
項目 説明 Flux アプリの名前を入力します。 Flux アプリの概要を入力します。 をクリックします。
Flux アプリが作成され、SORACOM Flux Studio の
タブが表示されます。
ステップ 4: IoT デバイスイベントソースを利用するチャネルを作成する
SORACOM Flux Studio の
タブで、 をクリックします。「新しいイベントチャネルを作成」画面が表示されます。
イベントソースとして
を選択して、 の順にクリックします。この Flux アプリでは、SIM グループに所属する IoT デバイスが Unified Endpoint のエントリポイントにデータを送信したときに、イベントメッセージをチャネルに送信するように設定します。
IoT デバイスイベントソースから、チャネルに送信されるイベントメッセージについて詳しくは、IoT デバイスイベントソース を参照してください。
以下の項目を設定します。
項目 説明 チャネルの名前を入力します。 チャネルの概要を入力します。 チャネルにイベントメッセージが送信される条件を設定します。
項目 説明 この条件を有効化する場合は、「有効」にします。 ステップ 2: SIM グループを作成する で作成した SIM グループの ID を入力します。ここで指定したグループに所属する IoT デバイスが Unified Endpoint のエントリポイントにデータを送信すると、チャネルにイベントメッセージが送信されます。 をクリックします。
イベントソースに連結したチャネルが作成され、チャネルの詳細画面が表示されます。
Esc キーを押すか、
(閉じる) をクリックします。SORACOM Flux Studio の
タブに戻ります。
ステップ 5: Webhook アクションを作成する
この Flux アプリでは、イベントにあわせて Open-Meteo からイベントに含まれる位置情報の天気予報を取得するように設定します。具体的には、Webhook アクションと、Webhook アクションのアウトプットを送信するチャネル (例: 天気予報チャネル) を作成します。
ステップ 4: IoT デバイスイベントソースを利用するチャネルを作成する で作成したチャネルをクリックします。
→ の順にクリックします。
「新しいアクションを作成」画面が表示されます。
→ の順にクリックします。
「新しい Webhook アクションを作成する」画面が表示されます。
以下の項目を設定します。
項目 説明 Webhook アクションの名前を入力します。 Webhook アクションの概要を入力します。 Webhook アクションを有効化する場合は「有効」にします。 Webhook アクションの実行条件を設定します。ここでは、GPS マルチユニットが Unified Endpoint のエントリポイントに送信したデータに位置情報 (
lat
およびlon
) が含まれていることを実行条件にするために、 にpayload.lat != null && payload.lon != null
を入力します。GPS マルチユニットが送信するデータ
GPS マルチユニットは、Unified Endpoint のエントリポイントに以下のような データを送信します。
{ "lat": 35.677226, "lon": 139.73307, "bat": 3, "rs": 4, "temp": 29.7, "humi": 53.4, "x": null, "y": null, "z": null, "type": 0, "binaryParserEnabled": true }
イベントソース IoT デバイスからチャネルに送信されるデータは IoT デバイスイベントソース を参照してください。
アクションに関連するチャネルからのメッセージを扱う場合、
payload.
のように指定します。イベントやメッセージの値を使ってアクションを実行する条件を指定する場合は、 の入力欄の下に表示される をクリックして説明を確認してください。
続けて、以下の項目を設定します。
項目 説明 Webhook アクションで Webhook を送信する際の送信先や送信データなどを設定します。
: 「GET」を選択します。
Open-Meteo のエントリポイントのリクエストパラメータに、位置情報 (
:payload.lat
とpayload.lon
) を含めるために、以下の内容を入力します。リクエストパラメータについて詳しくは、Open-Meteo の API Documentation (英語) を参照してください。https://api.open-meteo.com/v1/forecast?latitude=${payload.lat}&longitude=${payload.lon}&daily=temperature_2m_max&daily=windspeed_10m_max&timezone=Asia/Tokyo&daily=temperature_2m_min&temperature_unit=celsius
、 : 今回は設定しません。
Webhook アクションのレスポンスを、別のチャネルに送信するかどうかを設定します。
- : 「有効」にします。
- : を選択して、 に「天気予報」を入力します。
をクリックします。
Webhook アクションが作成され、チャネルの詳細画面の
タブに戻ります。Esc キーを押すか、
(閉じる) をクリックします。SORACOM Flux Studio の
タブに戻ります。
ステップ 6: AI アクションとアウトプットを送信するチャネルを作成する
この Flux アプリでは、イベント (ステップ 5: Webhook アクションを作成する で天気予報を取得したこと) にあわせてリクエスト (空調の設定を質問する) を生成 AI に送信するように設定します。具体的には、AI アクションと、AI アクションのアウトプットを送信するチャネル (例: AI Output チャネル) を作成します。
ステップ 5: Webhook アクションを作成する) で作成されたチャネル (天気予報) をクリックします。
→ の順にクリックします。
「新しいアクションを作成」画面が表示されます。
→ の順にクリックします。
「新しい AI アクションを作成する」画面が表示されます。
以下の項目を設定します。
項目 説明 AI アクションの名前を入力します。 AI アクションの概要を入力します。 AI アクションを有効化する場合は「有効」にします。 AI アクションの実行条件を設定します。ここでは、データを受信したことを実行条件にするために、
は空欄のままにします。IoT デバイスイベントソースからチャネルに送信されるデータは IoT デバイスイベントソース を参照してください。
アクションに関連するチャネルからのメッセージを扱う場合、
payload.
のように指定します。イベントやメッセージの値を使ってアクションを実行する条件を指定する場合は、 の入力欄の下に表示される をクリックして説明を確認してください。
続けて、以下の項目を設定します。
項目 説明 AI アクションで利用する AI モデルや、AI モデルに送信するプロンプトなどを設定します。
: 「Azure OpenAI (GPT-4o)」を選択します。
: 以下の内容を入力します。
現在の室内の温度湿度は、${event.payload.temp}度、${event.payload.humi}%です。 また今日の最高・最低気温はそれぞれ、${payload.daily.temperature_2m_max[0]}度、${payload.daily.temperature_2m_min[0]}度の予報です。 空調の設定をどうすればいいのか、以下の JSON フォーマットで答えてください。 { "mode": "off|warmup|cooldown|dry", "temperature": 24, "thougths": "(その設定にした理由)" } 一般的に、夏の室内の温度は 25-28度、湿度は 45-60% が適切だとされています。 また冬の室内の温度は、18-22度、湿度は 55-65% が適切だとされています。
: チェックを入れます。
: チェックを外したままにします。
- AI アクションが実行されるトリガーのイベントソースのデータ (この例では、Webhook アクションの実行結果) を扱う場合は、
${payload.daily.temperature_2m_max[0]}
のように指定します。 - Flux アプリが起動するトリガーのイベントソースのデータ (この例では、SIM グループに所属する IoT デバイスが Unified Endpoint のエントリポイントに送信したデータ) を扱う場合は、
event.
を付与して、${event.payload.temp}
のように指定します。
AI アクションのレスポンスを、別のチャネルに送信するかどうかを設定します。
- : 「有効」にします。
- : を選択して、 に「空調設定」を入力します。
をクリックします。
AI アクションが作成され、チャネルの詳細画面の
タブに戻ります。Esc キーを押すか、
(閉じる) をクリックします。SORACOM Flux Studio の
タブに戻ります。
ステップ 7: LINE 通知アクションを作成する
この Flux アプリでは、生成 AI のレスポンスに応じて、LINE Notify にメッセージを送信するように設定します。具体的には、LINE 通知アクションを作成します。
ステップ 6: AI アクションとアウトプットを送信するチャネルを作成する で作成されたチャネル (例: 空調設定) をクリックします。
チャネルの詳細画面が表示されます。
ステップ 6 で作成されたチャネルのイベントソースは変更できません。また、
タブに表示されたエントリポイントに、JSON 形式のデータを POST すると、任意のタイミングで LINE 通知アクションを実行できます。→ の順にクリックします。
→ の順にクリックします。
「新しい LINE 通知アクションを作成する」画面が表示されます。
以下の項目を設定します。
項目 説明 LINE 通知アクションの名前を入力します。 LINE 通知アクションの概要を入力します。 LINE 通知アクションを有効化する場合は「有効」にします。 LINE 通知アクションの実行条件を設定します。ここでは、データを受信したことを実行条件にするために、
は空欄のままにします。- ステップ 6 で作成した AI アクションのアウトプットを送信するチャネルに送信されるデータは、AI アクション を参照してください。
- アクションに関連するチャネルからのメッセージを扱う場合、
payload.
のように指定します。イベントやメッセージの値を使ってアクションを実行する条件を指定する場合は、 の入力欄の下に表示される をクリックして説明を確認してください。
続けて、以下の項目を設定します。
項目 説明 LINE 通知アクションで送信するメッセージや、LINE Notify のトークンを設定します。
: 以下の内容を入力します。
エアコンの推奨設定をお伝えします! モード: ${payload.output.mode} 設定温度: ${payload.output.temperature} 理由: ${payload.output.thoughts}
認証情報ストアに API トークン認証情報を登録する で認証情報ストアに登録した LINE Notify のトークンを選択します。
:
- LINE 通知アクションが実行されるトリガーのイベントソースのデータ (この例では、AI アクションの実行結果) を扱う場合は、
${payload.output.mode}
のように指定します。 - Flux アプリが起動するトリガーのイベントソースのデータ (この例では、SIM グループに所属する IoT デバイスが Unified Endpoint のエントリポイントに送信したデータ) を扱う場合は、
event.
を付与して、${event.payload.temp}
のように指定します。
LINE 通知アクションのレスポンスを、別のチャネルに送信するかどうかを設定します。
- : 「無効」にします。
をクリックします。
LINE 通知アクションが作成され、チャネルの詳細画面の
タブに戻ります。をクリックします。
(動作確認) Flux アプリにデータを送信する
GPS マルチユニットからデータを送信する (GPS マルチユニットがある場合)
GPS マルチユニットから Unified Endpoint のエントリポイントにデータを送信します。詳しくは、GPS マルチユニットからデータを送信する を参照してください。
[テスト実行] タブからデータを送信する (GPS マルチユニットが無い場合)
GPS マルチユニットが無い場合は、イベントソースに連結したチャネルの詳細画面の
タブで、GPS マルチユニットと同様のデータを送信することで、Flux アプリの動作を確認できます。チャネルをクリックします。
タブをクリックし、 に以下の内容を入力します。
{ "lat": 35.677226, "lon": 139.73307, "bat": 3, "rs": 4, "temp": 29.7, "humi": 53.4, "x": null, "y": null, "z": null, "type": 0, "binaryParserEnabled": true }
LINE Notify でメッセージが届いていることを確認する
ステップ 1: LINE Notify のトークンを発行する で選択したトークルームに、メッセージが届いていることを確認してください。
Flux アプリの実行履歴を確認する
SORACOM Flux Studio の
タブでも、実行履歴を確認できます。ユーザーコンソールにログイン し、Flux アプリを作成したカバレッジタイプを選択します。
たとえば、グローバルカバレッジに Flux アプリを作成した場合は、グローバルカバレッジの表示に変更します。詳しくは、SORACOM ユーザーコンソールで表示するカバレッジタイプを変更する を参照してください。
→ → の順にクリックします。
作成した Flux アプリをクリックします。
をクリックします。
チャネルごとに、実行履歴 (ログ) を参照してください。
、 、そのチャネルから実行されたアクションの 、 が表示されます。詳しくは、