Upgrade to Pro — share decks privately, control downloads, hide ads and more …

FlashAirガジェット is 何

AoiSaya
December 12, 2019

FlashAirガジェット is 何

FlashAirはWi-Fi機能とマイコンを内蔵したSDカードです。IoT向けの使い方が開示されており、カード端子をGPIOやSPI等に切り替えて外部部品の制御を行うことができます。

■FlashAirの便利サイト
・FlashAir Developersクローン
 https://flashair-developers.github.io/website/
・FlashAir開発者向け非公式wiki
 https://seesaawiki.jp/flashair-dev/
・FlashTools Lua Editor (FTLE)
 https://seesaawiki.jp/flashair-dev/d/Tool%3aFlashTools%20Lua%20Editor%20%28FTLE%29
・FlashAir用ペリフェラルライブラリ
 https://github.com/AoiSaya/
・FlashAir同人誌
 https://flashair-developers.github.io/website/docs/books.html

AoiSaya

December 12, 2019
Tweet

More Decks by AoiSaya

Other Decks in How-to & DIY

Transcript

  1. #IoTLT
    FlashAirガジェット is 何
    IoT縛りの勉強会! IoTLT vol.58 @ソフトバンク
    あおいさや
    ~ 年の瀬スペシャル IoTでもスタンドアローンでも使えるこの一枚 ~

    View Slide

  2. #IoTLT
    自己紹介
    Handle name:あおいさや
    Occupation : システムLSIの研究開発
    基板の上の部品屋
    Twitter :@La_zlo (ラズロ)
    facebook :masaki.nishikawa.1276
    GitHub :AoiSaya
    こころの赴くままに豆をまきます。
    発表内容は趣味と煩悩に基づいており、無保証です。
    また、所属団体を代表するものではありません。

    View Slide

  3. #IoTLT
    FlashAir is 何
    • 東芝が発売した無線LAN搭載のSDメモリカードの名称
    • Wi-Fi機能と内蔵マイコンをIoT向けに使う方法が開示されている
    • 開発言語は Luaスクリプト
    • Webサーバを内蔵しており、スマホやPCとHTMLやJSで連携できる
    • 企業向けビジネスは終了したが、購入したカードは今まで通り使える

    View Slide

  4. #IoTLT
    カメラ画像をスマホでシェア
    3DプリンタWi-Fi化
    自作プログラムをカメラ内で実行
    例えば撮影した写真をメール送信
    他のマイコンボードからコントロール
    (Wi-Fi機能つき外部メモリ) 単体でガジェットを動かす
    FlashAirの4通りの使い方

    View Slide

  5. #IoTLT
    カメラ画像をスマホでシェア
    3DプリンタWi-Fi化
    自作プログラムをカメラ内で実行
    例えば撮影した写真をメール送信
    他のマイコンボードからコントロール
    (Wi-Fi機能つき外部メモリ) 単体でガジェットを動かす
    FlashAirの4通りの使い方(実例)
    カード内のデータをWi-Fi経由で書き換え
    使い方を紹介した同人誌
    カード内のプログラムで画像をクラウドに転送
    定点撮影サービス「AirLapse」
    mbedからコントロール
    学習型アルコールガジェット「TISPY」
    郵便物が届くとスマホに通知
    ドアポストセンサー (AKIBA PC Hotline)

    View Slide

  6. #IoTLT
    世代別FlashAirの機能
    機能 要素
    W-04 W-03 W-02 無印
    SDカード インタフェース UHS-I HS HS HS
    SDスピードクラス CLASS10 CLASS10 CLASS10 CLASS6
    UHSスピードクラス U3 - - -
    iSDIO SD, SPI ✔ ✔ ✔ ✔
    Wi-Fi IEEE802.11b/g/n ✔(40MHz) ✔ ✔ ✔
    WebDAV Read. Write ✔ ✔
    command.cgi GPIO ✔ ✔ ✔
    Lua Script Version 5.2.1 ✔ ✔
    CJSON ✔ ✔
    数学関数 ✔
    GPIO, SPI ✔ ✔
    I2C,UART,PWM ✔

    View Slide

  7. #IoTLT
    FlashAirの開発環境
    FlashTools Lua Editor (FTLE)
    Browser上で動くLuaスクリプトエディタ。
    インストール不要でPCを汚さない。
    統合開発環境としての側面を持っており、
    デバッグ実行、ブレイクポイント、ファイラ
    ーなどの機能が充実している。
    Luaで開発する際の定番ソフト。
    Airio-Base(えありお・べーす)
    Arduino互換形状のNXP LPC11U35マイコ
    ンボード(Arduino互換機ではありません)
    SDカード配線引出基板(AE-SD)
    SDカードの配線をブレッドボードや
    ユニバーサル基板等で使いやすい
    よう2.54mmピッチで引き出すボード

    View Slide

  8. #IoTLT
    ガジェット視点でのFlashAir
    Pros (W-04) Cons
     軽い、薄い、小さい
     世界中の国や地域で使用可能
     普通の大型電気屋さんで買える
     資料が日本語
     電源だけでWebサーバになる
     WebDAVでファイルサーバにもなる
     WebSocketに対応
     WPA2エンタープライズに対応
     APモード、STAモードに対応
     CGIが使える(Lua)
     電源投入時、ファイル更新時に実行できる
     GPIO、I2C、SPI、UART、PWMが使える
     フォントや画像などが入れ放題
     単三乾電池2本でも動く(非公式)
     汎用端子が5本
     参考になる作例が少ない
     BT製品より消費電流が多い
    (Wi-Fi製品としては少ない方だが)
     部品ライブラリを作ってる人が少ない
    (カラー液晶、マトリクスLED、温湿度
    気圧センサ、日本語ライブラリなどは
    あります)

    View Slide

  9. #IoTLT
    ガジェットをつくってみた
    汎用端子は5本
    機能: GPIO, SPI, I2C, UART, PWM

    View Slide

  10. #IoTLT
    ケースサイズガジェット
    そらまめ18号の接続例
    光る・奏でる・センスする
    +3.3V

    View Slide

  11. #IoTLT
    LUAスクリプト
    ■スイッチの状態を読む
    ■ ブザーを鳴らす
    ■LEDテープを光らせる

    View Slide

  12. #IoTLT
    スイッチの状態を読む
    PIO機能でスイッチを確認
    s, t = fa.pio(0x07,0x04)
    k = bit32.btest(t,0x10)
    0: SW ON
    1: SW OFF

    View Slide

  13. #IoTLT
    ブザーを鳴らす
    SPI機能で圧電サウンダを振動
    “L”を出力
    s=string.rep(
    "¥xAA", )
    fa.spi("mode",0)
    fa.spi("bit",8)
    fa.spi("init",)
    fa.pio(0x0F,0x04)
    fa.spi("write",s)
    0x00000000を
    送信しなければ
    LEDは反応しない

    View Slide

  14. #IoTLT
    APA102C (SPIタイプ)
    LEDテープを光らせる
    SPI機能でフルカラーLEDを点灯
    入力に設定すれば
    音は鳴らない
    SPI制御
    s={}
    s[1] = 0x00000000
    for i=1, 5 do
    s[i+1] =
    end
    s[7] = 0xFFFFFFFF
    fa.spi("mode",0)
    fa.spi("bit",32)
    fa.spi("init",1)
    fa.pio(0x07,0x04)
    fa.spi("write",s)

    View Slide

  15. #IoTLT
    動作デモ
    https://twitter.com/La_zlo/status/941957599833997312
    https://twitter.com/i/status/1122399883116204034
    https://twitter.com/i/status/1186262874890485762

    View Slide

  16. #IoTLT
    FlashAirの便利サイト
    FlashAir Developersクローン
    https://flashair-developers.github.io/website/
    FlashAir開発者向け非公式wiki
    https://seesaawiki.jp/flashair-dev/
    FlashTools Lua Editor (FTLE)
    https://seesaawiki.jp/flashair-
    dev/d/Tool%3aFlashTools%20Lua%20Editor%20%28FTLE%29
    FlashAir用ペリフェラルライブラリ
    https://github.com/AoiSaya/

    View Slide

  17. #IoTLT
    ご清聴ありがとうございました
    Handle name:あおいさや
    Twitter :@La_zlo
    参加させていただいた同人誌は
    以下のサイトでダウンロードできます
    https://flashair-
    developers.github.io/website/docs/books.html

    View Slide