Arduino** XML*XSL

Arduino言語 XMLとXSL
0312006003
浅川 和久
2009/7/3
1
ツリー言語 Xi(ザイ)
• 横浜ベイキット
• XML形式でのWebアプリケーション構築
• 変数宣言や関数呼び出し、関数定義、制御
構造をXMLタグで記述
• ファイルの読み書き
• データベース接続
• 言語の混在問題を解消
2009/7/3
2
Xi (1)
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<?xml version="1.0" encoding="Shift_JIS"?>
<xi:program xmlns:xi="http://www.baykit.org/Xi/1.1“
xmlns:pr="http://www.baykit.org/Xi/processor">
<pr:output method="html" encoding="Shift_JIS" />
<html>
<head><title>こんにちは、Xi</title></head>
<body>
<h1>こんにちは、Xi</h1>
</body>
</html>
</xi:program>
2009/7/3
3
Xi (2)
1. <xi:var name=“age" />
2. <xi:set out="$age" select=“21/>
3. <!-- 年齢が20歳以上であればメッセージを出力 -->
4. <xi:if test="$age ge 20">
5. あなたは成人です。
6. </xi:if>
7. <!-- 5回ループ -->
8. <xi:for-each select="$Util.counter(1,5)" item="i">
9. <xi:value-of select="$i" />回目
10. </xi:for-each>
2009/7/3
4
XSLTプロセッサ
2009/7/3
5
Arduino XML
• int val = 2;
• digitalWrite(13,HIGH);
• val = analogRead(sensorPin);
• <ax:var name=“val” type=“int” value=“2” />
• <ax:digitalWrite pin=“13” mode=“HIGH” />
• <ax:set name=“val” value=“analogRead(pin)” />
2009/7/3
6
Arduino XML
while(millis() < 5000){
val = analogRead(sensorPin);
}
<ax:while test="millis() lt 5000">
<ax:set name="val" value="analogRead(sensorPin)"/>
</ax:while>
2009/7/3
7
Arduino XML + AS3.0
• 入出力関数、シリアル通信→XML
• 基本的な文法→AS3.0 Arduino言語
• XMLだけでArduino側のプログラミングが可能
• 複雑な処理は、AS3.0で記述
• 「XML+AS3.0」で書かれたプログラムを
「Arduino言語」に変換
2009/7/3
8
Arduino XML + AS3.0
<?xml version="1.0" encoding="UTF-8" ?>
<ax:Application xmlns:ax="arduinoXML">
<ax:Setup>
<ax:Script>
<![CDATA[
var pin:int = 13; // AS3.0
]]>
</ax:Script>
<ax:pinMode pin=“$pin" mode="OUTPUT" />
</ax:Setup>
<ax:Loop>
<ax:digitalWrite pin=“$pin" write="HIGH"/>
</ax:Loop>
</ax:Application>
2009/7/3
9
Arduino + Flash
アナログピンのデータ
Serial
Proxy
XML Socket
LEDオン
2009/7/3
10
Arduino + Flash
アナログピンのデータ
問い合わせ
Data Base
XML Socket
2009/7/3
11
今後の予定
• 言語関係の論文調査
• 言語変換の技術について調査
2009/7/3
12