温度センサーを使い、「温度が一定以上になると“自動で動く”UWPアプリ」を作る:ラズパイ3&Toradex、Windows 10 IoT Coreで楽しみながら検証するIoT実践入門(5)(2/4 ページ)
ITエンジニアに向け、「ビジネスに貢献するIoT活用」の第一歩を踏み出す「ひらめき」を得てもらうための本連載。今回は、IoTハードウェアと温度センサーを使い、温度に応じてUWPアプリを制御するシステムを作ってみよう。
Unity 5.3のプロジェクトを用意する
今回作成するUnity 5.3のプロジェクトは、画面上にガイコツのキャラクターがダンスを踊るプロジェクトを流用する。現時点の温度を表示する「uGUIのText」も配置しているが、Unity 5.3だけではセンサーから得られるデータを取得していないので、温度は0と表示されている(動画1)。
このガイコツが踊るプロジェクトに、センサーから情報を取得して、温度を表示するスクリプトを追加する(リスト1)。追加するスクリプト名は「SkeletonDanceScript.cs」である。
using UnityEngine; using System; public class SkeletonDanceScript : MonoBehaviour { static public int Temperature; GameObject obj; void Start() { obj = GameObject.Find("skeletonDark"); Temperature = 0; } // Update is called once per frame void Update() { obj.GetComponent<Animation>().Play("dance"); } }
「SkeletonDanceScript.cs」のポイントは以下の通りだ。
変数の宣言
今回のUnity 5.3内では使わないが、UWPへ書き出した場合に、温度センサーに関するコードを追加する場合に必要となる、グローバルなint型変数Temperatureを宣言しておく。また、GameObject型の変数objを宣言しておく。
Start()メソッドの処理
Find()メソッドでScene上に配置したskeletonDarkにアクセスし、変数objで参照しておく。グローバルな変数Temperatureを0で初期化しておく。
Update()メソッドの処理
danceというアニメーションを実行する。Update()メソッドは常に呼び出されているので、ここでダンスをさせるアニメーションを実行しておくと、UWPでは永遠にダンスを踊り続ける処理となる。
次に、uGUIのTextに「TemperatureScript.cs」を追加する(リスト2)。
using UnityEngine; using UnityEngine.UI; public class TemperatureScript : MonoBehaviour { Text uText; void Start () { uText = GetComponent<Text>(); } void Update() { uText.text = SkeletonDanceScript.Temperature.ToString(); } }
「TemperatureScript.cs」のポイントは以下の通りだ。
名前空間の読み込み
uGUIを使用するために、UnityEngine.UI名前空間を読み込んでおく。
変数の宣言
Text型のuText変数を宣言しておく。
Start()メソッドの処理
GetComponent
Update()メソッドの処理
uText変数のtextプロパティに、SkeletonDanceScript内で宣言していた、グローバルな変数Temperatureの値を文字列に変換して表示する。ここでは0としか表示されない。
UWPにプロジェクトを書き出す
コードを追記したら、UWPにプロジェクトを書き出す。プロジェクトの書き出し方は、第2回目の「Unity 5.3プロジェクトをUWPに書き出す」の章を参照いただきたい。適当な名前のフォルダを作成して、そこへ書き出せば完了だ。
これで、準備は整った。Unity 5.3から書き出したUWPをVisual Studio 2015(以下、VS2015)で読み込み、コードを仕上げよう。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 「Raspberry Pi 3」で早速チェック──「IoTハードウェア」を準備する
ITエンジニアに向け、「ビジネスに貢献するIoT活用」の第一歩を踏み出す「今後のひらめき」を得てもらうための本連載。初回は、登場間もない「Raspberry Pi 3」を中心に、IoTハードウェアとWindows 10 IoT Coreを準備するまでを解説する。 - 「Raspberry Pi 3」が登場。Windows 10 IoT Coreは早速サポートを表明
無線通信モジュール付きのRaspberry Pi 3が登場。搭載チップの性能も向上している。マイクロソフトは発売当日にWindows 10 IoT Coreでのサポートを表明している。 - 第1回 Windows IoTを始めよう
見聞きしない日はないほど流行している「IoT」。でも、どうやったら使えるのか? 本連載では読者諸氏が慣れ親しんだWindowsのIoT版を使って、IoTを実践してみる。まずは概要とインストールから始めよう。