これは、UPLOAD=1としなくても、WEBDAV=2の設定をすることで、
FlashAirにファイルをアップロードできてしまう仕様(公式サイトの記述とは合わないので
おそらくバグ)を利用したものです。
CONFIG.CGIからは、WEBDAVは設定できますが、UPLOADは設定できません。
しかしながら、WEBDAVで送り込んだLuaスクリプトを起動し、そのスクリプトによって
CONFIGを書き換えることは出来ますので、そのスクリプトからUPLOADやIFMODEなどを
書き換えることが出来ます。
そのため、以下の様なスクリプトによって、FlashAirに対してSDカード接続を一切無しで
Wi-Fiのみから、アップロード、最終的にはLua編集環境の導入(ページ下部のzip版)まで
出来てしまいます。
ただし、FlashAirを設定するためのマスターコードが必要なので、
この手法は、マスターコードが既知であるか、もしくは初期化直後で設定されていないFlashAirに対してしか使用できないため、
セキュリティ脆弱性となる可能性は低いと考えています。
---
以下のバッチファイルを実行します。
実行にはcurl.exeが必要です。
シェルスクリプトで実行すればmacやLinuxからでも可能だと思います
フォーマットされたFlashAirか、CONFIGを削除したFlashAir、
もしくはマスターコードをAA55AA55AA55にしたFlashAirが必要です。
---run.bat---
@echo off
echo FlashAirに接続せよ
pause
echo MASTERCODE...
curl "http://192.168.0.1/config.cgi?MASTERCODE=AA55AA55AA55"
echo.
echo WEBDAV...
curl "http://192.168.0.1/config.cgi?MASTERCODE=AA55AA55AA55&WEBDAV=2"
echo.
echo FlashAirを再起動し、再接続せよ
pause
echo UPLOAD SCRIPT...
curl http://192.168.0.1/run.lua -X PUT -d "f = io.open('SD_WLAN/CONFIG','a+');f:write('UPLOAD=1\r\n');f:close();print 'OK';"
echo.
timeout /T 3 >NUL
echo RUN SCRIPT...
curl "http://192.168.0.1/run.lua"
echo.
echo FlashAirを再起動し、再接続せよ
pause
explorer http://192.168.0.1/upload.cgi
pause
---
追記: curlのバイナリファイル送信機能を使って、FTLEをまとめたtarと、
tar解凍Luaスクリプトを送り込んで実行させたら、Wi-FiのみでFTLEの環境準備ができました。
FTLEには、各CONFIG書き換えセットアップ機能があるので、UPLOADやIFMODEも設定できますし、
エディタ機能で書き換えもできます。
動作の保証はしません。curl.exeが必要です。
https://sites.google.com/site/gpsnmeajp/ONLYWiFiFTLE.zip
2016年03月07日
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/181155324
※言及リンクのないトラックバックは受信されません。
この記事へのトラックバック
http://blog.sakura.ne.jp/tb/181155324
※言及リンクのないトラックバックは受信されません。
この記事へのトラックバック