形式で返りますのでこの内容がブラウザ画面に表示されています。アクセスするだけで、リモートに設置している子機の状態を簡単に取得することができることになります。スクリプトファイルは以下の様に記述されています。子機を操作するために、親機に対してコマンドパケットを送信していない点に注意してください。変換値を、定期的にまたは変化したときに親機に対してイベントデータを送信しています。値をグローバル共有データに保存しています。変換値を返しています。ついては後の項で説明します。操作する例を紹介したいと思います。コマンドが複数同時実行される場合に備えています。受信するまで内部で待機するようにパラメータを指定しています。操作が正常に完了したかどうかを示すステータスが格納されていますので、これを確認しています。APIを利用しているプログラム)側から同時にリクエストが発生した場合に備える必要があります。使用する側からは同時使用しても問題が発生しないようになっています。データを読み込むためのスクリプト(TWE/I2C_READ)で、以下の様になっています。コマンドが複数同時実行される場合に備えています。スクリプトの内容と同じですが、リプライパケットで受信したバイトデータをスクリプトリターンパラメータで返す部分が追加されています。スクリプトも作成してあります。内容は以下になります。書き込みトランザクションを実行した後、読み込みトランザクションを実行します。読み込んだデータ列をスクリプトパラメータで返します。内容は、単に前述の2つのスクリプトを順番にコールしているだけです。データをリードしてみます。接続の様子は前の項で紹介した子機の写真を参考にしてください。2バイトを書き込みます。フォーマットで取得しています。温度センサの値を取得してみます。I2Cバス操作と温度計算を以下のスクリプト(TWE/DEVICE/TMP102_READ)で実行します。バスを操作して温度レジスタ値をリードしています。その後摂氏温度を計算してリターンパラメータに返しています。実行したときの様子が以下になります。部分が子機#1で計測された現在の温度になります。リスト取得などのスクリプトが予め用意されています。使用することができます。簡単にコピーしたり独自のコマンド処理用に改造することができます。変換値やデジタル入力の変化を検出した時にはイベントデータが親機に対して送信されます。イベントデータを受信すると親機からはアスキー形式のパケットデータが送信されます。親機から送信されるこのようなパケットデータを処理するためのスクリプト(SERIAL_TWE)が予め設定されています。スクリプトの内容は以下の様になっています。ポートから入力されたアスキー形式のデータパケット全体を格納しています。TWE-Zero"文字列は、下記の何れかのデータで終端されたものです。記述された部分を連想配列に格納したものが入る。文字毎にカラムを分けたものを文字列形式で配列に格納したものが入る。1文字から始まっていて、かつコマンド種別を示すバイト値が0x81(状態通知)の場合に、メッセージ内容を解析した値がカンマ区切りでグローバル共有変数に格納される。この変数の値は常に最後のイベント発生時の内容で更新されます。COMポート名になります<ChildID>は、メッセージ中の送信元論理デバイスIDを10進数にしたものになります変数の内容に設定されるカンマ区切りの文字列は下記のフォーマットになります。部分を文字列リストに保存します。文字列リストにはメッセージ中の送信元論理デバイスIDを10進数表現にしたものを重複なく保存しています。処理しやすい形に変換しています。値などをカンマ区切りのデータで保持しています。リストを作成しています。これらの詳しいデータ構造は上記スクリプトのコメントを参照してください。アプリで使用しているアスキー形式のフォーマットに合わせておくと、このイベントハンドラで自動的に内容が解析されるようになります。独自のフォーマットでデータを送信することもできます。この場合にはこのイベントハンドラにフォーマットを解析するためのスクリプトを追加して対応してください。●Webアプリを作成するここからはWebアプリの作成例を紹介します。使用して子機をリモートコントロールできます。デバイスからも実行することができます。アプリを自由に作成することができます。デバイスを操作しています。フォルダに格納されていますので直ぐに使用することができます。アクセスしてください。最初にログイン画面が表示されます。登録したユーザーアカウントでログインします。経由でログイン可能にしておいてください。ポートの選択画面が表示されます。選択しているものだけが表示されます。同時に管理してすることもできます。アプリから操作することができます。ID)選択画面が表示されます。リスト)を表示しています。変換値は最後に親機で受信したイベントデータを元に表示されます。この部分は表示のみで操作することはできません。出力を操作する画面が現れます。ボタンはデジタル出力ポートの全ピンの値を現在のチェックボックスの状態に合わせて全て更新することができます。ファームウエアの制限から現在の出力ポートの値が取得できないため、最初にこのボタンを押してチェックボックスの状態と子機のデジタル出力の値を一致させるときに使用します。この部分については後の”考察”の項でも説明しています。出力は、スライダーを操作することで簡単に設定することができます。ボタンを使用してノード選択画面やポート選択画面に移動して選択するデバイスを変更できます。ダイアログの定義のみを行っています。class="ui-content"><h2>ログインに失敗しました</h2><p>ユーザー名またはパスワードが間違っています。class="ui-content"><h2>セッションが無効です</h2><p>サーバー処理中にエラーが発生しました。現在のセッションが無効になっている場合があります。class="ui-content"><h3>サーバー側でエラーが発生しました</h3><p>サーバー処理中にエラーが発生しました。子機を操作しています。TWE/AD_DI_GETスクリプト実行結果のイベントハンドラ。スクリプト実行結果のイベントハンドラ。スクリプト実行結果のイベントハンドラ。ボタンを押さないと最新の情報に更新できないのは困ります。更新させたいと思います。使用してリレーサーバーを外部に作成する方法を採っています。