画面を見ながら照明操作をおこなう – 後編 「操作画面とAPIの接続」
「画面を見ながら照明操作をおこなう」の連載、後編です。今回は実際に操作画面との接続の設定を行っていきます。
前編の記事
作成するシステムの概要
操作画面を作成するまでの流れ
- 操作画面の用意
- 画面とAPIの接続
- 操作テストをおこない完成
1. 操作画面の用意
HTML、CSS、JavaScriptを使用して、Webブラウザ上の操作画面を作成します。
SMARTIOを設置しているローカルネットワーク上にローカルサーバ用意し、操作画面のデータを設置します。
Webカメラを用いて現場の確認用の映像を画面に映し出します。Webサイトへの埋め込み機能を備えたWebカメラを利用すると、簡単に現場の様子をHTML画面に映し出すことができます。
2. 画面とAPIの接続
下記は、HTMLで作成されたWebブラウザ画面と、ローカルAPIとの連携部分のサンプルコードとなります。
<html><head> <title>画面を見ながら照明操作をおこなうデモ</title></head><body> <div> <iframe width="560" height="315" src="[youtubeのアドレス]" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> </div> <div> <button onClick="api('ONE', 'ON')">照明を点ける</button> <button onClick="api('ONE', 'OFF')">照明を消す</button> </div> <script> const userId = "[APIが実行可能なユーザのユーザID]"; const password = "[APIが実行可能なユーザのパスワード]"; async function api(portNo, operation) { const response = await fetch("http://[SMARTIOのアドレス]/v1/query", { method: "POST", headers: { authorization: "Basic " + btoa(userId + ":" + password), "Content-Type": "application/json", }, body: JSON.stringify({ query: ` mutation ( $portNo: OutportPortNoEnum! $operation: OneofWriteOutportOperation! $logMessage: String! ) { writeOutport( portNo: $portNo input: { oneofOperation: $operation logMessage: $logMessage } ) { id } } `, variables: { portNo, operation: operation === "ON" ? { on: {} } : { off: {} }, logMessage: "画面を見ながら照明操作をおこなうデモ", }, }), }); const result = await response.json(); console.log(result); } </script></body></html>
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
3. 操作テストをおこない完成
操作画面にアクセスし、操作をテストしてください。
従来は、グラウンドまで照明の点灯・消灯のために移動する必要がありましたが、スマートフォンやPCからWebブラウザ画面にアクセスし、現場の映像を確認しながら操作が可能になります。
今回紹介したのはローカルAPIを用いた例ですが、クラウドAPIを用いればインターネット経由でAPIを実行し、SMARTIOを操作する環境を構築することも可能です。
様々な設備を後付けで遠隔操作
今回の前後編の記事において、Webブラウザの画面とSMARTIOのローカルAPIの連携イメージを掴んでいただけたかと思います。
照明だけでなく、空調や電気錠、車両ゲートなど、様々な設備を後付けで遠隔操作を可能にするSMARTIOをぜひお試しください。
画面を見ながら照明操作をおこなう – 前編 「より安心・安全な遠隔操作のために」
画面上で機器の動作を目視確認し、より安心・安全な遠隔操作 例えば、屋外照明を遠隔制御で点灯する場合、実際に照明が点灯しているかを目で確認したい、という要望が出ることがあります。 このような要望に応えるため、SMARTIO