Switch Science mbed TY51822r3でEddystoneを動かしてみた

投稿者:

こんにちは、志村です。

以前、スイッチサイエンスチャンネルでSwitch Science mbed TY51822r3を使って、URLを携帯に通知するビーコンをご紹介しました。今日はこのビーコンの作り方についての説明をします。

ビーコンについて

今回はGoogleが開発したEddystoneという規格を使用して、ビーコンを作成します。Eddystoneは3つのモードが用意されています。電池残量や温度などを通知するEddystone-TLM、IDを通知するEddystone-UID、URLを通知するEddystone-URLです。今回はURLを通知するEddystone-URLを使用します。Eddystoneの仕様はGitHubから確認することできます。

用意するもの

  1. Switch Science mbed TY51822r3
  2. USB2.0ケーブル(A-microBタイプ)50cm

ハードウェアとソースコードの準備

mbed.orgのSwitch Science mbed TY51822r3の右側に表示されているAdd to your Compilerのボタンをクリックして、オンラインコンパイラにこのmbedを追加します。
AddToYourMbedCompiler_TY51822r3

Eddystone用のプログラムは下記のページで公開しています。
mbed_EddystoneURL_Beacon_ssci

このページの右側のInport Programのボタンから、プログラムをインポートできます。
Eddystone_TY51822r3

通知するURLはインポートしたプログラムのmain.cppの80行目で'eddystoneUrlConfig'に設定しています。

eddystoneUrlConfig= new EddystoneURLConfigService(ble, params, !fetchedFromPersistentStorage, "https://www.switch-science.com", defaultAdvPowerLevels);

通知できるURLには制限があり、"http://"、"https://"、"http://www."、"https://www."を除いたURLの長さが17文字以下でなければいけません。これよりも長いURLを通知したいときは、google url shortenerbit.lyなどのサービスを利用してください。

他のmbedと同様、プログラムはオンラインコンパイラ上でコンパイルし、プログラムの書き込みはドラッグ&ドロップで行います。

mbedの開発環境が初めてという方は、第一回mbedウェブセミナー【スイッチサイエンスチャンネル】をご参照ください。プログラムの書き込み方法は14:00頃から解説しています。

アプリの準備

スマートフォンでPUSH通知を受け取るためには、何かしらのアプリを入れておく必要があります。iOSならGoogle Chrome、AndroidならPhysical Webがおすすめです。

Google Chrome - App Store

Physical Web - Google Play

Eddystoneを動かしているmbedの近くに、アプリをインストールしたスマートフォンを近づけるとこんな感じに通知されます。

iOSにGoogle Chromeをインストールした場合。
ios_sample

AndroidにPhysical Webをインストールした場合。
Android_sample

デモをする場合は・・・

デモや作品を公開するときは、モバイルバッテリーを使うことも多いと思いますが、Switch Science mbed TY51822r3は動作電流が小さいため、使用するモバイルバッテリーによっては、自動でバッテリーの電源がOFFになってしまうことがあります。そんなときは動作電流が小さくても電源がOFFにならない、IoT機器用モバイルバッテリー cheero Canvas 3200mAhがお勧めです。