この記事では、 VIALATMサービスに組み込まれたスクリプト言語を使用して、 モノのインターネットの範囲からオブジェクトへのコマンド送信を自動化する方法について説明します。 スクリプト言語に関する基本的な情報は、以前の記事で提供されました。
スクリプト言語の最新バージョンの説明(新しいコマンド、演算子、追加された手順)が間もなく公開されます。 今のところ、 ViaLatMスクリプト言語リンクを使用して 、スクリプト言語について学ぶことができます。
オブジェクトへのコマンドの送信
現在の実装では、オブジェクトからメッセージを受信すると、スクリプト言語プログラムが実行されます(次のバージョンでは、スクリプト言語により、より高度なアルゴリズムを使用してプログラムを呼び出すことができます:スケジュールに従って、指定された間隔で、指定された時間にオブジェクトからのメッセージがない場合)。
システムには、無条件と条件付きの2つのコマンド送信演算子があります。
無条件ステートメントの形式は次のとおりです。
コマンド(UNIT.ZTEMPER_SETTER、12);
この演算子を使用すると、ZTEMPER_SETTER属性を12に設定するコマンドが現在のオブジェクト(スクリプトが実行されているオブジェクト)に送信されます。
条件付きステートメントの形式:
COMMANDIF(UNIT.ROOM_TEMPER> 20、UNIT.ZTEMPER_HEATER、OFF);
このオペレーターの助けを借りて、室温センサー(ROOM_TEMPER)が20度を超えると、ヒーターをオフにする(OFF)コマンドが現在のオブジェクトに送信されます。
上記の例のすべての数値は、定数または事前計算された変数として定義できます。 オブジェクトは、対応する属性をサービスに公開し、コマンドの処理(ZTEMPER_SETTER、ZTEMPER_HEATER)にサブスクライブする必要があります。
複数のサービスオブジェクトを操作するためのコマンド
スクリプト言語の最も興味深い機能は、いくつかのオブジェクトを操作することです。
車両と家の暖房を実行するオブジェクトがサービスに接続されているとします。 この場合、車両が所定の距離で接近したときに暖房をオンにする送信コマンドを作成できます。 そのようなスクリプトの例:
CONST HEAT_ON = 1;
CONST HEAT_OFF = 0;
CONST NEAR_HOME = 20000#20km
DIST_TO_HOME = DISTANCE(L、UNIT( "IOT_HOME")。L);
COMMANDIF(DIST_TO_HOME <NEAR_HOME、UNIT( "IOT_HOME")。HEATER、HEAT_ON);
コメント:
スクリプトの開始時に、ヒーターのオンとオフを設定する定数が定義されています。 そして、オブジェクトが家にどれだけ近いかを決定する定数は、コマンドを送信する必要があります。
スクリプトはオブジェクト(車両)に対して実行されます。車両には、GPS追跡(車またはパーソナルトラッカー)が装備され、サービスに接続されている必要があります。 このオブジェクトからのメッセージがサービスに届くと、家までの距離が計算されます。
さらに、計算された距離に応じて、オブジェクトにコマンドを送信する条件演算子が適用されます。
実行可能スクリプトの外部にあるオブジェクトは、UNIT関数(「OBJECT_ID」)によって設定されます。 トラッカーの場合、IMEIはOBJECT_IDとして設定する必要があります。「モノのインターネット」オブジェクト-ルートテーマ(HOME)の場合、これらのオブジェクトの場合、トピックには常に「IOT_」のプレフィックスを付けます。
おわりに
上記のスクリプト言語拡張機能の作業に加えて、言語を簡素化する作業が最も重要です。 アドインは、マクロを使用した作業の形式で作成されます。これにより、プログラミングから遠く離れた言語を使用できるようになります。
次の記事では、モノのインターネットの領域からオブジェクトのイベントと状態に関する通知を作成する方法について説明します。