« FlashAirのGPIO機能を使った回路を組んでみた。 | トップページ | FlashAirのGPIO機能を使った回路のサンプル動画を作ってみた。 »

FlashAirのGPIO機能を使った回路の制御ソフトを組んでみた。

FlashAirのGPIO機能を使う回路が出来たので、制御ソフトを書く。
FlashAirがGPIO機能状態のとき、信号端子がGPIOとなって既にポートが使われているため、SDカードとしての機能は失われ、データのやり取りは出来なくなる。
が、そこはWiFi内蔵。
SDの端子の方からのデータのやり取りはできなんだから使わず、WiFi無線の方を使ってのデータのやり取りをすればいいんじゃん。

通信に必要なHTTPプロトコルはDevelopersサイトを見て、なんとなくわかった。
HTTPプロトコルを実装するソフトは何で作ろうかな…。
今回はいろんな端末から制御できるようにJavascriptを使うことにした。

FlashAirはとどのつまりWiFi無線によるファイルサーバなので、作ったJavascriptファイルはFlashAir自身に保存しておいて、各端末からWiFi無線でアクセスすればいいじゃん。catface
んじゃ、どこの場所に保存すればいいのかを考える。

FlashAir Developersサイトにあるドキュメントを読むと、『普段は存在しないけれど、"/SD_WLAN/List.htm"新規に作っておくと、起動して端末から"http://flashair"をアクセスしたとき、真っ先にそっちのファイルを読みにいく』仕様であった。





なので、作ったJavascriptファイルは"List.htm"と言うファイル名にして、"/SD_WLAN"フォルダー下に置いてみた



FlashAir GPIO機能を使った制御ソフト(Javascript):【/SD_WLAN/List.htm】

<html>
<head>
<meta charset="UTF-8">
<title>flashair sample</title>
<script language="javascript" type="text/javascript">
<!--
//関数:FlashAirに対してHTTP通信 GETをする
function flashair_get( param ){
var request = new XMLHttpRequest();
request.open("GET", param, false);
request.send(null);
//通信結果
document.getElementById('RESULT').value += request.responseText;
}
//関数:GPIOポートをすべてLow
function gpio_off(){
var url = "http://flashair/command.cgi?op=190&CTRL=0x1f&DATA=0x00";
flashair_get(url);
}
//関数:任意のポートをHighにする
function gpio_on(port){
switch( port ){
case 1:
var url = "http://flashair/command.cgi?op=190&CTRL=0x1f&DATA=0x10";
flashair_get(url);
break;
case 2:
var url = "http://flashair/command.cgi?op=190&CTRL=0x1f&DATA=0x08";
flashair_get(url);
break;
case 3:
var url = "http://flashair/command.cgi?op=190&CTRL=0x1f&DATA=0x04";
flashair_get(url);
break;
case 4:
var url = "http://flashair/command.cgi?op=190&CTRL=0x1f&DATA=0x02";
flashair_get(url);
break;
}
//リロードしてLowに戻す
window.location.reload();
}
// -->
</script>
</head>
<body onLoad="gpio_off()">
<P>FlashAir GPIO スイッチ</P>
<form>
<input type="button" value="Port 1" onclick="gpio_on(1)">
<input type="button" value="Port 2" onclick="gpio_on(2)">
<input type="button" value="Port 3" onclick="gpio_on(3)">
<input type="button" value="Port 4" onclick="gpio_on(4)">
</form>
<input type="text" id="RESULT" value="結果=">
</body>
</html>


んじゃ、実行してみっか。

iPhoneと、AndroidのスマホでFlashAirに対してWiFiを同時に接続してみる。

んで、双方ともブラウザ経由で、"http://flashair"を呼び出してみる。



すると…よしよし。当初のもくろみどおり同じイメージが出た

まぁどっちで動かしても動くっていうことです。delicious



では、実際に動かして動画に撮ってYoutubeにアップすっかな。>つづく

|

« FlashAirのGPIO機能を使った回路を組んでみた。 | トップページ | FlashAirのGPIO機能を使った回路のサンプル動画を作ってみた。 »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/54091/60136649

この記事へのトラックバック一覧です: FlashAirのGPIO機能を使った回路の制御ソフトを組んでみた。:

» FlashAirのGPIO機能を使った回路のサンプル動画を作ってみた。 [じむの(とりあえず)やってみたの巻]
FlashAirのGPIO機能を使った回路の動画を作った。 もう一本、これをネタ [続きを読む]

受信: 2014/08/13 16:37

« FlashAirのGPIO機能を使った回路を組んでみた。 | トップページ | FlashAirのGPIO機能を使った回路のサンプル動画を作ってみた。 »