SyntaxHighlighter

2015年4月13日月曜日

FlashAirへの要望等々

意見要望等があれば書いて欲しい、というお話があったので、
とりあえず、書くだけ書いてみる。

書いてみただけなので、需要とか、実現可能性はあまり考慮していない。
(特に可能性の低そうなものは優先度低としている)


>不具合対応

FA9CAW3AW3.00.01で修正された
・関数をネストした時、特にfa.requestなどを使った際に、SDカード機能ごとフリーズして
 ホスト機器を巻き込むのをやめてほしい。
 Luaインタプリタ側でエラーを吐いて止めて、メモリをクリーンアップしてくれるのが一番だが、
 できなくとも、せめてSDカード機能は死守してほしい。可能ならWebサーバー機能も。

・dofile、requireで2KB以上のファイルを読み込んだ時に、組み込み関数の動作が不安定に
 なる(もしくはフリーズする)問題も同様である。
→改善されたようです。

・fa.HTTPGetfileの、受信に失敗してゴミデータを生成する状態、および、
 受信には成功しているがデータに異常が発生する状態をどうにかしてほしい。
→取得成功するか、失敗して空ファイルが出来上がるか、だけになったようです。

・URLの長さ制限が142文字なのはいいとしても、それを超えるとエラー無しに
 URLが切れ、ゴミデータがつくのはやめてほしい。
 無理ならば、128Byteくらいで414 Request URI too long を返してほしい。
 (あまりにも長いようなら、500が帰ってきているようだが)
→124文字で414 Request-URI Too Largeが帰るようになりました。

・URLゴミ蓄積問題(数十回の長いURL呼び出しでWebサーバーが落ちる問題)をどうにかしてほしい。
 おそらく、Lua外のメモリがリークしているか、開放されずに食いつぶされているようにみえる。

上記の不具合については、以下のURLに詳細を掲示しているので参照してほしい。
https://sites.google.com/site/gpsnmeajp/flashairnobagu-de-ju-dong

・fa.requestにおいて、http://192.168.1.3:8080/ のようなポート番号付きURLのアクセスに対応していない問題を解決してほしい。
 →新板でも改善していない。

>改善要望

*優先度高
・fa.requestおよび、HTTPGetFileで、独自のユーザーエージェントを設定してほしい。
 サーバ管理者がアクセス元を識別できず、困ったことになる。
 (デフォルトで設定し、別に指定したいものがあれば上書きできるようにすると良いと思う)

・HTTPGetFileで、ヘッダの編集機能を追加してほしい。
 現在はHTTP/1.1と、Hostと、BASIC認証しかなく、取得したいものが取りにいけない場合がある。

・command.cgi、upload.cgiにある機能はすべてLuaから操作できるようにしてほしい。
 共有メモリや、ホスト機器書き込みプロテクトが特に必要。
→共有メモリは実装された。

・STAモードで接続した時、flashair/にアクセスするとリダイレクトループに巻き込まれるのを
 どうにかしてほしい。
→治った?

・iPhoneから、誤ったファイルにアクセスした際、またflashair/にアクセスした際、
 リダイレクトループに巻き込まれるのをどうにかしてほしい。

・Luaからしかアクセス出来ない領域がほしい。
 (ホスト機器からFAT破壊を起こされる心配のない、Luaからしか見えない
 ファイル領域があるとすごく嬉しい(16MBくらい))
 →現在は、破壊を受ける心配のないホスト機器のみに厳選し、
 タイミングを計って操作する必要がある。専用領域があれば、その心配なく
 すべでの機器で、アップロード次のファイル管理などが出来る様になる。
 専用領域は開発者用ツールなどで操作できると嬉しいが、できなくてもよい。
 ファイルシステムが無理なら、せめてArduinoのEEPROMライブラリのようなものが
 あれば、最悪何とかなる。

・fa.reqestにタイムアウト設定がほしい。
 (よく、応答なくなったまま帰ってこなくなる)

・ブラウザからfa.requestを呼び出してflashair自身にアクセスすると
 503エラーを出すのを何とかしてほしい。
 (成功するか、もしくは、関数側で拒否してほしい)

・起動時などのLuaスクリプトを動作させながら、ブラウザからLuaスクリプトを呼び出すと
 ブラウザの応答がなくなるのをどうにかしてほしい(エラーを返してほしい)


*優先度低

・GoogleChromeでアクセスした際に応答が遅いのを何とかできないだろうか。
 (iPhone等でもたまに非常に応答が悪い場合がある)

・GETのみでなく、POSTを受け付けてほしい。
 また、POSTを受け取るための関数か、環境変数を用意してほしい。

・東芝設定ツールの「初期化」でクイックフォーマットをしてほしい。
 (設定の初期化と、ファイルの削除くらいしかしていないように見える)
 現在は、FATが破損した際、WindowsかSDアソシエーションのフォーマッタから
 クイックフォーマットの上、さらに設定ツールで初期化をするため、無駄に手間がかかる。

・PIO関数でなく、ホスト機器から初期化されているか否かチェックできる関数がほしい。

・HTTPでない、生のソケット通信ができると嬉しい
 サーバーとして受付できるとさらに嬉しい
 これらができると、他の無線モジュールと同等の立ち位置で使用できる。

・ComputerCraftのように、イベント駆動のプログラムが組めるようになると嬉しい。
 例えば、fa.request_nonblockというように、要求だけ先に送り、
 あとから受け取れる機能があると嬉しい。
 (sleepの間に実行ということになるだろうが)
http://computercraft.info/wiki/Os.pullEvent

・同様に、タイマー(アラーム)、IO変化などの割り込みがあると嬉しい。

・エンコードの変換関数があると嬉しい。
 (SJIS←→UTF-8など)
→実装された。

・再起動関数および、command.cgiからの再起動があると良い。

・LUA_SD_EVENTで起動する際、引数にトリガになったファイルのパスを
 入れてくれると、非常に汎用性が上がる。(いちいちディレクトリスキャンをせずにすむ)

・APモードおよびIBSSモードで、接続している子機のMACアドレスとIPアドレスの対応テーブルが
 あると、なにかと便利である。強制切断がLuaから行えると、セキュリティにもなる。

・CGI実行時、アクセス元のIPアドレスとMACアドレスが取得できると、
 業務用アプリケーションにおいて、簡易な不正防止が実装できる。
 (Wi-Fiのパスワードはクラックされる危険がそこそこに高いので)
 可能であれば、ユーザーエージェントなど、通常CGIでえられる環境変数をすべて取得できると
 より良い。

・現在隠し(未公開/非公開)となっている関数を正式にサポートしてほしい。
 ドキュメントがあると嬉しいが、ないのなら、せめて存在していることだけでも公式に示してほしい。
 (政治上の理由等で不可能であるのなら無理にとは言わない)
→fa.spiは公開された。

・コルーチン機能を、次期バージョン(W-04)でもいいので実装されるとうれしい。

0 件のコメント:

コメントを投稿