触れてみよう電子工作×IoT

第1回

SDカードが郵便を通知! 無線LAN機能付きのSDカード「FlashAir」を使ってドアポストセンサーを作ってみた<前編>

 僚誌「AKIBA PC Hotline!」とリレー形式で掲載する本連載「触れてみよう電子工作×IoT」。身の回りのモノをインターネット化する電子工作で、IoTがどういったものか“何となく”理解していただければと思う。

 第1回は、東芝が販売する無線LAN機能内蔵のSDカード「FlashAir」を使用。著者はサークル「れすぽん」などで技術系同人誌を執筆する余熱氏が担当する。FlashAirで電子工作?という疑問を持つかもしれないが、まずは、FlashAirの“ある”機能に注目していきたい。

 記事は、前・後編の2部構成。まずは本誌「INTERNET Watch」に掲載する前編(この記事)で各電子工作のコンセプト・構想を説明、続く「AKIBA PC Hotline!」の後編で実際に制作し、前・後編を通して身近なIoT製品を形にしていく。

(編集部)

普通のSDカードとは違う、FlashAirの“ちょっと変わった使い方”

FlashAirの外観。Luaスクリプトが動作する第3世代は、カード表面に「W-03」の表記がある

 FlashAirは東芝製の無線LAN機能付きのSDカードです。カメラに入れると、撮影した画像をスマートフォンやパソコンから無線LAN経由で取り出すことができます。

 オープン価格ですが、参考として東芝ダイレクトでは8GBが2980円、16GBが4480円、32GBが5980円です(税別、2017年2月現在)。家電量販店や電子工作パーツショップでも購入可能です。

 FlashAirは大きく3世代に分けられ、現在出荷中の第3世代はカード表面に「W-03」の表記があり、最新ファームウェアのバージョンは「3.00.01」です。ちなみに、パシフィコ横浜(横浜市西区)で26日まで開催中のイベント「CP+ 2017」にて第4世代モデル(W-04)が発表されました。(「PC Watch」2月23日付記事『東芝、2倍以上速くなった無線LAN対応SDカード「FlashAir」』参照)

 今回は、FlashAirの“ちょっと変わった使い方”として「GPIO機能」と「Luaスクリプト機能」を紹介します。

GPIO機能

 GPIO機能は、SDカードの端子からデータをFlashAirが自由に読み書きできる機能のことで、LEDやセンサーを直接FlashAirに接続することが可能です。なお、この場合には通常のSDカードとして使用することはできなくなります。

FlashAirの評価ボード「Airio」を使うとGPIO機能を簡単に使うことができます。例えば、スマホから簡単にLEDの色を変更することが可能です。

Luaスクリプト機能

 FlashAirにはLuaという言語で書かれたスクリプトのインタープリターが実装されており、あたかもマイコンのように能動的に動かすことが可能です。複雑な機能はAPIとして提供されており、メール送信機能も数行のスクリプトで記述可能です。

FlashAirのGPIO機能を簡単に使える評価ボード「Airio(えありお)」。スマホからフルカラーLEDを操作可能

 FlashAirを使うメリットとして、開発環境のインストールが不要なことがあります。Luaスクリプトはコンパイルが不要であるためメモ帳で開発できます。スクリプトをFlashAirの任意の場所に配しておけば実行可能であるため、SDカードリーダーさえあれば開発を始めることが可能です。

 また、量販店で購入可能なことや、世界中で電波法の認証が取得済みであることもメリットです。そして開発に必要な情報は開発者向けのウェブサイト「FlashAir Developers」にまとめられており、どなたでも参照可能です。

郵便物が届くと「FlashAir」がスマホにメールで通知

今回制作するシステムの概要。ドアポストに郵便物が届くとスマートフォンにメールでお知らせしてくれる。ちなみに、画像右のキャラクターはFlashAirの非公式応援キャラクター「閃ソラ」ちゃん

 集合住宅やマンションでは玄関ドアにポストが設置されていることがありますが、開けるのが面倒でなかなかチェックしないため、郵便物が届いたことに気付くまで時間がかかることがよくあります。それが水道やガス料金支払いのお知らせだったりすると、うっかりして支払い期限が過ぎてしまうかも……。今回制作するのは、そんなドアポストの状況を監視し、郵便物が届いたらスマートフォンにメールを送信するシステムです。

 FlashAirのGPIO機能を使用し、郵便物が届いたことを検知し、Lua機能を使用してメールを送付します。自宅の無線LANルーターに接続させるため、玄関まで電波が飛んでいることが条件になります。自宅の外に設置する場合には無線LANルーターなどを使用するとよいでしょう。その場合、電源をどう確保するかが問題になりますが……。

“傾斜スイッチ”でドアポストの開閉を検知

 郵便物が届いたことをFlashAirが検知するためにはセンサーデバイスが必要です。今回は傾斜スイッチを使用します。センサーデバイスなどと言うと難しい印象を受けますが、内部は金属の端子とボールが入っているだけで、傾くとボールが転がってスイッチがオンになるという非常に単純な構造です。このスイッチをドアポストの投函口に貼り付け、ドアポストの開閉を検知します。

傾斜スイッチの外観。筒の部分の長さは1センチ程度
傾斜スイッチの構造。ボールが転がって端子に接触するとスイッチがオンになる非常に単純な構造

自作デバイスの開発を支援する「FlashAir Developers」、“中の人”が書いてる同人誌も無料公開

 「FlashAir Developers」は、FlashAir対応アプリ、サービス、デバイス開発をサポートする開発者向けサイトです。FlashAirを使ったシステムを作る場合には、このページにある内容を参考にしてください。

「FlashAir Developers」のトップページ。開発者向けの情報が公開されている

 「FlashAir同人誌」は、FlashAirの開発やマーケティングにかかわる人や社内サポーターたちが書いた、その名のとおり同人誌です。開発秘話や評価ボードのお話、開発チュートリアルからマンガまで、ほかでは読めないコンテンツ満載です。また、冊子版を各種イベントにて無料配布しています。

「FlashAir Developers」では、「FlashAir同人誌」のPDF版をダウンロード可能

 今回は使用しませんが、FlashAirを簡単にクラウド連携させる「FlashAir IoT Hub」というウェブサービスが始まりました。ログイン後、ダウンロードしたファイルをFlashAirに書き込むだけでFlashAirとクラウドを連携させることができます。

「FlashAir IoT Hub」を使うとFlashAirとクラウドを簡単に接続することができる

後編予告

 後編は制作編ということで、部品を購入し、電子工作をした後にプログラミングを行います。なかなかてんこ盛りな内容に思えますが、プログラムは20行程度しかありませんので安心してください。FlashAirを使えば非常に簡単にネット連携デバイスを作ることができるということが伝われば幸いです。

IoT電子工作の制作・使用は、自己責任で行ってください。また、第三者からアクセスされない環境・設定で運用するなど、セキュリティ対策にも留意が必要です。この記事を読んで行った行為によって生じた損害は、筆者および編集部では一切の責任を負いかねます。

余熱

「れすぽん」や「空と月」、「みんなのラボ」などのサークルで同人誌や基板を頒布しています。Twitterアカウントは@yone2_net。傾斜スイッチならセンサーの構造も単純で、初回に取り上げるにはいいネタかな?と思っています。後編もよろしくお願いします。