東芝から発売されているFlashAirを用いた開発を行う人々向けのまとめwikiです。※本wikiは東芝及びフィックスターズ、キオクシアとは何の関係もありません。お問合わせは管理者へお願いします。

アップデート情報

W4.00.00 - debug, osライブラリが使用できます. os.clock()は1000秒=1
W4.00.01 - debug, osライブラリが使用できません
W4.00.02 - debug, osライブラリが使用できません
W4.00.03 - debug, osライブラリが使用できます. os.clock()は1秒=1


microSD 逆変換アダプタでは正常に動きません!

W-04はUHS-1に対応しており、高速化した関係上、UHS対応機器(特にNintendo Switch)において
microSD 逆変換アダプタを使用して接続すると、高速な通信をしようとして失敗し動作しません!

W-03以前に変更すると、速度を犠牲にして安定して動作します。

Nintendo SwitchでFlashAirを利用する【失敗編】 - Onoty3D

WindowsやMacで使いたい?うまくつながらない?

Eye-Fiみたいに自動で撮影したら即外部のサーバーに転送して欲しい?

FlashAir IoT Hub と IFTTTと 外部のサービス(DropboxやGoogleDrive)を組み合わせればできますよ

FlashAir Developers - IFTTTと連携する
https://flashair-developers.com/ja/documents/tutor... @FlashAirDev_jaさんから

注意

電流消費と発熱が大きいカードのため,電源供給がしっかりしているカードリーダーでないと認識しないことがあります.

筆者は以下のSDカードリーダーをUSB3ポートに差し込んで安定した動作を確認しています。
サンワサプライ USB3.0 SDカードリーダー ADR-3SDUBK サンワサプライ
https://www.amazon.co.jp/dp/B00A2KXHEE/ref=cm_sw_r...

ごついですが、UHS対応で、下手な安価なSDカードリーダーより安定します。

追加された機能など

SDカードとしての性能は最高クラスに

公称Read:90MB/s,Write:70MB/sであり、実測でも近いそれ以上の数値が出ています.

W-04をUHS対応USB3.0リーダーに差し込んでCrystal Diskmarkで測定した結果


W-03をUHS対応USB3.0リーダーに差し込んでCrystal Diskmarkで測定した結果

通信速度の向上

Webサーバー機能が強化され、公称31.4Mbpsに.
(国内向けは景品表示法に基づく表示。EU向けパンフには「Wireless Transfer Speed Max : 100Mbps (60~70Mbps@ Camera inserted)」の記載あり)

実測として,1.6GBのファイルで速度測定.11.6MB/s(97.3Mbps).03は982KB/s(8.24Mbps)

wgetで286,367,085Byte (273MB)のファイルを31回ダウンロードした平均速度12.180MB/s(102.17Mbps)

レスポンス自体も向上し,大量のファイル転送やWebページの表示も高速に.
2.7MBの写真を62枚連続転送したところ,03は131sec,04が38.5sec.約3.9倍になっている.

サーバーが並列ダウンロードに対応し,HTTPの体感速度が非常に良くなっている.

不安定な電波環境でも安定した性能

W-03に比較し、安定性が向上.
混み合った環境や、不安定な電波環境でも速度が落ちにくくなった.

ノイズの強い悪条件(USB3.0の近く)では,W-03は写真1枚2.7Mに3分近くかかった(13.1KB/s)に対し,
W-04は0.5秒(5.94MB/s)と低下の幅が小さい.

Eyefi Connected対応

カメラのEye-Fi電源連動機能に対応。
通信中にカメラの電源が切れることがなくなりました.
(一部カメラが誤動作を起こし不安定になるため、デフォルトでは無効になっています)

将来的にはLuaからコントロールできるようになる...?
(あるいはLuaの無線LAN操作と連動している...?)

CONFIGファイルの仕様追加

セキュリティ強化関連の機能などが追加されました.(@ W4.00.03)

iSDIO機能の変更および仕様追加

SPIモードでのiSDIOコマンドの発行が、CMD17/24を利用する方法に変更されました.(W4.00.01)
詳しくは flashair developpersのiSDIOのページを参照ください
コマンドおよびレジスタマップの仕様が追加されました.(@ W4.00.03)

パーティション操作

第2パーティションや秘匿領域へドライブレターでアクセス出来るようになりました.(@ W4.00.03)

Lua関数の追加

以下のLua関数が追加されました.
W4.00.03からの新機能はflashair developpersのページもご参照ください
・mathライブラリ
・i2c : i2cマスタとして動作
FlashAir W-04のI2C機能で、DRV8830を駆動させてみた by @ayasehiro on @Qiita
・search : 更新されたファイルの検索・リスト作成(3階層まで対応)
・control("time") : 日付メモの保存と取得(最終更新日時の保存用?)
・control("fioget) : Wi-Fi機能のオンオフ確認
・control("fioset) : Wi-Fi機能のオンオフ(今までのようにパスワードをLuaに書かずともCONFIGのまま操作可能に)
・ConnectedSTA : 接続子機数の取得と、子機IPアドレス・MACアドレステーブルの取得(隠し関数からの昇格)
・websocket : WebSocket
・serial : UART通信機能(未公開 @ W4.00.01)
FlashAir W-04の新FWのserial関数(UART通信機能)の使い方 by @Seg_Faul
・watchdog : ウオッチドッグタイマー機能(@ W4.00.03)
・control:秘匿領域へのアクセスが可能になりました(@ W4.00.03)

以下の関数が更新されています
・request : ポート番号指定に対応
・sharedmemory : アドレスの拡張
・spi : 最高周波数(最小周期)の変更
    最高周波数はW-03が約1.2MHzに対し,W-04は約1.6MHzになりました。
    init値に対するクロック周期が変更されており,W-03と同じinit値を設定した場合,W-04では周期が75%になります.
・request : 受信データをLuaのスタック上のメモリやファイルに保存できるようになりました(@ W4.00.03)

また,UDPやコルーチン,debug,osなどが増えています.
(コルーチン,OS機能およびデバッグライブラリは、W4.00.01、W4.00.02で一時的に使用できなくなりましたがW4.00.03で復活しました!)

TELNETやCONFIGからアクセスできていたシェルに,Luaからもアクセスできるようになりました.
詳しくは関数一覧

共有メモリの容量強化

512B → 2KB

Lua機能の強化

メモリが増えています.
Lua: メモリ容量調査において,
W-03はfread:7940 Byte,table:1024 elementsに対し,
W-04はfread:127700 Byte,table:8192 elementsと,約16倍

8Kのメモリで悩まされていたメモリ不足も,128Kなら安心ですね.

処理速度が向上しています.
Lua:Tarアーカイブ展開において,03だと41.29sかかる処理が、04では17.34sに短縮.
起動速度なども向上しています.

UDP機能の追加

UDP受信機能はまだ正常に動作しないようですが,UDP送信機能は動作します.
ファイルごとの送信や,テキストの送信もでき,ブロードキャストも可能です.
詳しくは関数一覧

ツール

既存のツールは問題なく動作します.
ただし,Tool:FlashTools Lua Editor (FTLE)は古いバージョンでは正常に動作しないため,更新してください.

一部アプリが仕様変更により動かない事例が報告されています。

W-04 webclient.downloadfile で0バイトのまま転送完了しない
%%https://flashair-developers.com/ja/support/forum/#...

W04 でのアップロード
%%https://flashair-developers.com/ja/support/forum/#...

既知の不具合

  • UDP受信を開始した後,実際に何かを受信する,あるいは停止するとFlashAirが落ちる(そもそも使い方を間違えている説もある)
  • TELNETに接続した状態でLuaコマンドを発行すると不安定に動作する
  • 並列ダウンロード機能の影響か,Lua実行結果を受信する際に異常な(破壊されたメモリを含む)内容が帰ってくることがある
  • 並列ダウンロード機能の影響か,サムネイル一覧表示中など他のデータを受信中にLuaを実行するとFlashAirが落ちることがある
  • W-03と同じく,巨大な証明書(google等)が処理できずHTTPS接続に失敗する
  • eva.cgiの動作が不安定(何度か読み込まないと受信できないことがある)
  • なんどか読み込み直しを繰り返すと異常動作を起こすことがある
  • iSDIO機能が使えない
    • SDモードでは使える
    • SPIモードは、CMD17/24を利用する方法に変更になった(ファームウェアバージョン 4.00.01+で対応)
  • fa.requestの3KBはそのまま
  • TELNETでLuaが対話的に実行できない(対話モードが即座に終了してしまう.03も同様)
  • io.read, io.writeが使えない(CGIだと無視,Telnetだとフリーズする)
  • UDPやWebsocketあるのにTCPないのなんでだろう?
  • upload.cgiで画像アップロード時に破損することがある
  • Websocket通信中にWebサーバーにアクセスするとフリーズする?
  • fa.i2cでfreqを機能説明通りにstringで設定しても100kHzから変更できない。数字で設定すると設定可
  • fa.i2cでdataをstring形式で指定したとき、NUL文字(\x00)があるとそれ以降が送信されない(ファームウェアバージョン 4.00.03で修正)
  • fa.i2cでtype="binary"としたとき、bytesに17以上を指定すると受信できない。stringでは可(ファームウェアバージョン 4.00.03で確認)
  • fa.ReadStatusRegで複数文字を読みだすとき、NUL文字(\x00)があるとそれ以降が読み込まれない(1文字づつなら可)(事実誤認につき削除)
  • fa.sharedmemoryで、NUL文字(\x00)がreadできない(英数字の読み書きは問題なし)(ファームウェアバージョン 4.00.03で修正)
    • 1文字リードでは長さ0のstringになるので判別できないわけではないが…
    • 複数個readではNUL文字(\x00)とそれ以降が読み出されない
    • NUL文字(\x00)を含む文字列のwriteは可能
  • fa.strconvertで、正常に文字列を変換できない。
    • 「sjis2utf8」、「utf82sjis」のどちらも間違った文字列になる。

このページへのコメント

UART機能が04にあったのは最近知りました。隠し機能だったんですね。

03と04を持っているのですが、wifiを使わずにPCと通信する方法としてI2Cに着目してました。
FT200XDをFlashAir側から読み書きする方法でUART機能を実装をする検討をしていたのですが…

UART関数が使えるようになると、マイコンとしての使い勝手が向上し更に便利になりますね。

0
Posted by 名無し(ID:vZmyj5RCXQ) 2018年06月02日(土) 13:51:40 返信

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu

スマートフォンの方は画面下部よりPC版に切り替えることをおすすめします

アクセス解析中

忍者アナライズ

GoogleAnalytics

編集にはIDが必要です