FlashAirをホスト機器から制御して、 無線LANのON/OFFやAPモード・STAモードの切り替え、 あるいはHTTP通信を行うことができます。 手ごろなマイコンボードとして人気の高い Arduino と組み合わせて、 FlashAirを制御してみましょう。

iSDIO

iSDIOは、SDメモリーカードの規格団体であるSDアソシエーションによって定められた、 FlashAirのような拡張機能付きSDメモリーカードをホスト機器からコントロールするための規格です。

より正確には、iSDIOとはコマンドやりとりの手順を定めたプロトコルであり、 コマンドの種類や引数などの詳細は、拡張機能の種類(アプリケーション)ごとに、 補遺(Addendum)で定められます。

たとえば、FlashAirは無線LAN内蔵カード向けの「Wireless LAN Addendum」に準拠しています。

iSDIOの仕様書は、一部が簡易版仕様書 (Simplified Specification) として公開されており、 Simplifed Specifications - SD Associationからダウンロードできます。

Arduino

Arduinoは、製品プロトタイピングなどの用途でとても人気のあるマイコンボードです。 オープンハードウェアプラットフォームを謳って、設計や回路図が公開されており、 ユーザーがクローンを製造したり、改造して独自のArduino互換ボードを作ることが容易です。

Arduinoについては、公式サイトをご覧ください。

準備

1. 開発環境の準備

本チュートリアルでは、作成したプログラムをArduino本体に書き込んで実行し、 ログや無線LANの状態を確認していきます。 下記の機器が必要です。

Arduino本体です。 Arduinoには様々なモデルがあり、CPU速度、メモリ容量、I/O数などに違いがあります。 本チュートリアルでは特に断りがない場合、Uno R3 という最も基本的なモデルを使います。

Arduino用プログラムの編集、コンパイル、書き込みは、Arduino IDEを使います。 こちらからダウンロードしてインストールしましょう。

開発環境を動かすPC環境には、WindowsまたはMacが利用できます。 本チュートリアルでは、Windows版を使用して説明しています。 詳細はArduino IDEのドキュメントを参照してください。

Arduino Uno R3にはSDカードスロットがありませんので、オプションボードを利用します。 本チュートリアルでは、Seeed Studio SD Card Shield V4を使用します。 FlashAirは無線LAN機能の分通常のSDメモリーカードよりも電力を必要とするので、 このボードのように、Arduino本体とは独立した電源回路を持っているものの方が適しています。

  • USB 2.0 ケーブル(Bコネクタが通常サイズのもの)

ArduinoとPCをつなぐケーブルです。 電源供給、プログラムの書き込み、UART通信に使用します。 Arduino側となるBコネクタが通常サイズのものを用意してください。 スマホ向けによく使われるマイクロBや、ミニBは使えません。

  • FlashAir

家電量販店やネット通販で購入できます。 手持ちのFlashAirを使う場合は、保存されているデータをバックアップしておきましょう。

2. 開発をよりスムーズにするために

  • FlashAirの動作確認方法

FlashAirが動作していることを確認する方法があると便利です。

APモードのときは、スマートフォンの無線LAN設定画面のSSID一覧で、 FlashAirが正しく機能しているかを確認できます。

STAモードの場合はSSID一覧では確認できませんが、 ルータの画面でIPアドレスが割り当てられたことを確認する方法があります。 お使いのルータの、ログや状態を確認する方法を予習しておきましょう。

開発に必要な知識

Arduino用語について

Arduinoでは独特の用語を使うことがあります。

スケッチ
プログラムのことです。

シールド
オプションボードのことです。

電子工作用語について

FlashAirの制御は、SDカードとの電気的な信号で行います。 そのため、SDカード規格、SPI信号規格、などを理解しているとよいでしょう。

ページトップへ