こんにちは、志村です。
以前、スイッチサイエンスチャンネルでSwitch Science mbed TY51822r3を使って、URLを携帯に通知するビーコンをご紹介しました。今日はこのビーコンの作り方についての説明をします。
ビーコンについて
今回はGoogleが開発したEddystoneという規格を使用して、ビーコンを作成します。Eddystoneは3つのモードが用意されています。電池残量や温度などを通知するEddystone-TLM、IDを通知するEddystone-UID、URLを通知するEddystone-URLです。今回はURLを通知するEddystone-URLを使用します。Eddystoneの仕様はGitHubから確認することできます。
用意するもの
ハードウェアとソースコードの準備
mbed.orgのSwitch Science mbed TY51822r3の右側に表示されているAdd to your Compilerのボタンをクリックして、オンラインコンパイラにこのmbedを追加します。
Eddystone用のプログラムは下記のページで公開しています。
mbed_EddystoneURL_Beacon_ssci
このページの右側のInport Programのボタンから、プログラムをインポートできます。
通知する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 shortenerやbit.lyなどのサービスを利用してください。
他のmbedと同様、プログラムはオンラインコンパイラ上でコンパイルし、プログラムの書き込みはドラッグ&ドロップで行います。
mbedの開発環境が初めてという方は、第一回mbedウェブセミナー【スイッチサイエンスチャンネル】をご参照ください。プログラムの書き込み方法は14:00頃から解説しています。
アプリの準備
スマートフォンでPUSH通知を受け取るためには、何かしらのアプリを入れておく必要があります。iOSならGoogle Chrome、AndroidならPhysical Webがおすすめです。
Eddystoneを動かしているmbedの近くに、アプリをインストールしたスマートフォンを近づけるとこんな感じに通知されます。
AndroidにPhysical Webをインストールした場合。
デモをする場合は・・・
デモや作品を公開するときは、モバイルバッテリーを使うことも多いと思いますが、Switch Science mbed TY51822r3は動作電流が小さいため、使用するモバイルバッテリーによっては、自動でバッテリーの電源がOFFになってしまうことがあります。そんなときは動作電流が小さくても電源がOFFにならない、IoT機器用モバイルバッテリー cheero Canvas 3200mAhがお勧めです。