大和ハウス工業株式會社

DaiwaHouse

スマハ?ラボアプリ

大和ハウス工業トップ

総合技術研究所

「住宅AP」Iを使って試作したアプリケーション情報を紹介しています。

mixiチェック

facebook

テックブログ

【第二回】簡単なアプリを作ってみる

ブラウザのアドレスバーにコマンドを入力するだけでは味気ないので、第二回目では多少アプリっぽいものを作成してみたいと思います。とりあえずHTTPリクエスト送付~XMLのパース~畫面構成といった一連の流れを紹介するため、HTML感覚で記述できるHTA(HTML Application)を使います。HTAの説明については省きますが、Internet Explorer 5.0以降がインストールされているWindowsパソコンであればOKです。

完成形のイメージとソースは以下となります。ソースをテキストエディタにコピペし、適當なフォルダにdemo.htaという名稱で保存します。同じフォルダに旅行先での寫真なり子供の寫真なり、好きなを畫像をimage.jpgとして保存して下さい(サイズは適宜縮小)。
あとは「demo.htaをダブルクリックすればOKです!」といいたいところなのですが、実際には當社D-HEMSをお使いの方でないとエラーとなります(「いいえ」でスクリプトの実行を中止すると畫像だけは表示できます)。現在エミュレーションソフトも検討していますが、とりあえず流れだけでも理解して頂ければ???。

■完成イメージ

■ソース

<html>
<!-ヘッダーの記述  -- >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>HousingAPI Demo</title>
</head>

<!-- (1)背景畫像、文字色などの設定  -- >
<BODY BACKGROUND="image.jpg">
<font size=5 color="black">

<!--  ここからJavaスクリプトによる記述  -- >
<script language="JavaScript">

// (2)畫像サイズの設定
resizeTo(430,250)

// (3)DOMを使って、住宅APIでリクエストで返ってきたXMLを変數xmlに格納する
var xmlurl = "http: //(ホームサーバーのIPアドレス)/smart/rest/value?deviceid=echonet.EnergySensor_1_M&key=smallsensor";

var xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = false;
xml.load(xmlurl);

// (4)取得したxmlデータから消費電力の値を抽出しobjNodに格納する
var objRoot=xml.documentElement;
var clnCld=objRoot.childNodes;
var objNod=clnCld.item(1);

// (5)結果を畫面に表示する
document.write("消費電力は : ")
document.write(objNod.xml)
document.write(" Wだよ!")

</script>
</html>

■使用畫像

一連の流れは注釈を読んでもらえればわかると思いますが、簡単に解説しておきます。最初のhtml部分で文字サイズや色、畫像データの指定をしてますが、メインはJavaスクリプトで記載している部分からとなります。

まず、表示するウィンドウサイズの設定、これは使用する畫像のサイズに合わせて適宜決めて下さい。
次にDOM(Document Object Model)を使って、住宅APIのリクエストを送付し、返ってきたxmlを変數に格納します。DOMとはXML文書のタグで囲まれた要素を取り出す為のツールのようなもので、読み込むXMLデータの場所は、ローカルのXMLデータ(**.xml)でも、ネット上のURLでもOKです。ですから正しく言うと、住宅APIのリクエストを送付するというよりもXMLデータを読み込む先の場所として住宅APIのURLを指定したということになります。

そこが(3)で記述している部分ですが、まずxmlurlという変數に、住宅APIのURLを格納します。次にnew ActiveXObject(“”)で変數xmlをオブジェクト化し、xml.load命令にて取得したXMLデータ(住宅APIのリクエスト結果)を格納します。

なお、上記ソースでは住宅APIのコマンドはECHONET対応の電力計測裝置(當社D-HEMS)向けとなっています。 ECHONETLiteの場合(當社D-HEMSⅡ)、以下のようになります。


http://(ホームサーバーのIPアドレス)/smart/rest/request?deviceid=lite.boardMeter_1_1&type=get&key=instantPower


返ってくるxmlは以下のような形になります。取り出したい消費電力データは、<data type="value"> </data>のタグの間にはさまれた數字となりますので、そのデータを取り出します。そこが④の部分ですが、XMLの先頭部分を指定(xml.documentElement)し、その子供のノード(objRoot.childNodes )の2番目のアイテム(clnCld.item(1))を変數objNodに格納しています。試しに“.item(1)”を“.item(0)”に変更して実行してみれば、何をしてるのかは見當つくかと思います。

<resultset type="map">           ?????? XMLの先頭部分
<result type="value">true</result> ????? その下に格納されたデータその1
<data type="value">356.9</data>  ??????その2 
</resultset>

最後に、document.writeにて、表示したい文字列を記載します。取得した消費電力以外の日本語は適當に変更して下さい。

プログラミングの詳細についてはXMLを理解する必要がありますが、変更が必要な部分以外は呪文だと思って流してもらえればホームページを作成する感覚でアプリが開発できます。

ということで今回はアプリ開発の基本的な流れを紹介しましたので、次回はもう少し高度な開発方法について紹介したいと思います。

by 管理者 H.Y

このページの先頭へ


主站蜘蛛池模板: 日本口工全彩无遮拦漫画大| 男女男精品网站| 国产清纯白嫩初高生在线观看性色| japanese日本熟妇多毛| 无码人妻少妇久久中文字幕| 亚洲AV无码国产精品麻豆天美| 毛片免费在线观看| 免费做暖1000视频日本| 色窝窝亚洲av网| 国产成人无码av片在线观看不卡 | 星空无限传媒xk8046| 亚洲欧洲视频在线观看| 玉蒲团之天下第一| 北条麻妃中文字幕在线观看| 色视频在线观看免费| 国产成人手机高清在线观看网站 | 日本中文字幕在线观看视频| 亚洲AV成人中文无码专区| 欧美日韩1区2区| 国产精品欧美一区二区三区| mm131美女爱做视频在线看| 成人自拍小视频| 亚洲国产精品一区二区第四页| 男人天堂网在线视频| 午夜视频久久久久一区| 色狠狠一区二区| 国产午夜无码视频免费网站| 久久久久久久性| 嫩草影院在线观看精品视频| 久久一区不卡中文字幕| 日韩大片免费观看视频播放 | 亚洲AV无码一区二区三区在线 | 免费看**一片毛片| 精品少妇人妻av一区二区| 国产精品jizz在线观看网站| 91香蕉福利一区二区三区| 多人乱p欧美在线观看| 丰满女邻居的嫩苞张开视频| 日韩一区二区三区不卡视频| 亚洲AV永久无码精品网站在线观看| 欧美人妻aⅴ中文字幕|