1. FutureNet製品活用ガイド
  2. FutureNet ASシリーズ
  3. メール・SMS・HTTPクライアント機能

FutureNet

ASシリーズ

メール・SMS・HTTPクライアント機能

4. HTTPクライアント機能とテンプレート

4.1 HTTP POSTクライアント機能のリクエスト本文にテンプレートを利用する

HTTP POST クライアント機能を利用すると、外部HTTPサーバへHTTP POSTリクエストを送信できます。

リクエスト本文にはテンプレートやファイルが指定できます。

本設定例では、テンプレートに現在時刻および接点入力状態を登録し、装置の起動時に接点入力状態を外部HTTPサーバに送信します。

(☞) テンプレートは、HTTP POST/PUT クライアント機能のリクエスト本文の他に、イベント機能やスケジュール登録などで利用することができます。テンプレートには複数の置換キーワードを入れることができ、その利用時に置換キーワードが展開されます。

 

【 設定例 】

rsport 0 lcpkeepalive on
domain 0 example testid testpass 0.0.0.0/0 0.0.0.0
nat 47 * * * ipcp 0
dnsrelay activate on
alwaysonconnect activate on
alwaysonconnect domainname example
template 0 '{"timestamp":"${NOW}", "DI0":"${DI0}", "DI1":"${DI1}"}'
evcmd 0 boot wpost http://URL/ none template:0,application/json 3 20

【 設定例解説 】

テンプレートの登録

テンプレートは、HTTP POSTクライアント機能のリクエスト本文に利用することができます。

template 0 '{"timestamp":"${NOW}", "DI0":"${DI0}", "DI1":"${DI1}"}'
テンプレート0にテンプレート文字列を登録します。
テンプレート文字列中に半角スペースを含む場合は、文字列全体をシングルクォートで囲います。置換キーワードは中括弧で括り、その先頭に $ を付けます。
ここでは、現在時刻に置換する置換キーワード NOW や接点入力状態に置換するキーワード DI0 、 DI1 を利用するために、${NOW}、${DI0}、${DI1}を設定しています。
例えば、時刻が2023年12月12日18時45分30秒、DI0がON、DI1がOFFの場合、このテンプレートは以下の文字列に置換されます。
{"timestamp":"2023/12/12-18:45:30", "DI0":"on", "DI1":"off"}
ここで登録したテンプレート0 をHTTP POSTクライアント機能のリクエスト本文として利用します。

 

HTTP POSTクライアント設定
wpost http://URL/ none template:0,application/json 3 20

HTTP POSTクライアント設定では、リクエストを送信する外部HTTPサーバに合わせて、POST先URLや認証指定文字列を設定します。また、リクエスト本文に上記で設定した接点入力状態を含んだテンプレートの登録番号(template:0)、コンテントタイプ(application/json)、再送回数(3)、再送間隔(20)を設定しています。

(☞) SORACOM Harvest DataにHTTP POSTリクエストを送信するためには、POST先URLをhttp://harvest.soracom.io/に設定して動作を確認ください。

wpost http://harvest.soracom.io/ none template:0,application/json 3 20

 

イベント発生時に実行するコマンドの登録
evcmd 0 boot wpost http://URL/ none template:0,application/json 3 20

装置の起動時に実行するコマンドとして、上述ののHTTP POSTクライアント設定を登録します。これにより、装置の起動時に接点入力状態を外部HTTPサーバに送信できます。

 

その他の設定

その他の設定はそれぞれのページをご参照ください。

常時接続設定、通信状態監視設定

フィルタ設定とNAT設定