SWTT2014~Salesforce Platformで実現するIoTソリューション~
この記事はSalesforce1 Advent Calendar 2014 - 12月7日の記事です。
エンジニアのこころです。
12/4に行われたSalesforce World Tourでは、フレクトのブースで、
”Salesforce Platformで実現するIoTソリューション”と題した出展を行いました。
本エントリで出展内容を簡単にご紹介します。
内容は次の2つです。
1.シャトルバスのリアルタイム走行情報アプリケーション
2.Salesforce Platformとセンサーデバイスとの連携
1.シャトルバスのリアルタイム走行情報アプリケーション
イベント会場がプリンスパークタワーと虎ノ門ヒルズの2箇所だったため、シャトルバスが2会場間を往復していて、その走行データを可視化するアプリケーションを開発しました。
このアプリは、SWTTアプリ(iOS/Android)にも埋め込まれたり、会場に60インチの画面が複数設置されていたのでご覧になった方も多いのではないでしょうか?
↑こんな感じの。
アプリケーションの構成は、4台のシャトルバスにOBD2コネクタを挿し、走行情報をリアルタイムにHeroku上のサーバで受けて地図画面に位置座標をプロットしています。OBD2車載器にはSIMカードが挿せるのでサーバ側は車載器からデータを直接UDPで受信します。取得できるデータの中で面白かったものと、その使い道をちょっとご紹介すると、
・位置情報・・・緯度、経度の位置座標
・方位・・・北を0度として0〜360度の数値で取得できます。バスのアイコンが道に添って滑らかに運行するアニメーションは、方位の数値により画像を16タイプに分けて描画することで実現しています。
・エンジン負荷・速度・・・バスが走行中か停車中か判定するのに使用しました。実際の利用シーンでは”事故が発生したときアクセルを踏み込んでいたか?”等の評価にも使われているそうです。
アプリケーション側では、
・スマートフォン画面への最適化
・サイネージ画面への最適化
・redisでRead/Write高速化
・アクセス集中時(数千クライアント)をシミュレートした負荷テスト
など、Frontend/Backendの準備、テストともなかなかに大変でしたが、フレクトのスーパーエンジニアがさくさくHerokuで開発していました。
<当日>
・最高時70req/秒ほどでしたがHerokuが難なく捌いてくれました
・バスに乗っているとかなりリアルタイムなのが体感できる
など、評判の良いアプリとなって大成功でした
ちなみに、
・トンネル内など、電波状況が良くない場所ではデータが途切れてしまう
・端末からの多量リクエストによりスマホのバッテリーの減りが激しい
など、事前の検証でもどうしようもなかった環境依存や、沢山使って頂けたゆえのフィードバックも頂いております
イベント等で活躍が予想されるこの走行情報アプリ、ぜひぜひ今後にもご注目ください。
OBD2コネクタはコネクシオ様の提供でした。
2.Salesforce Platformとセンサーデバイスとの連携
フレクトのブースにお越しいただいた方は体験されたかもしれませんが、センサーデバイスからSalesforce Platformにアクセスする、駐車場管理のモックアプリケーションを展示しました。
前日作ったジオラマ。
あくまで展示会用のコンセプトモデルです。センサー等も極めてチープなものを使っています。
シンプルにすると、
駐車場のミニチュアの中には、近接する物体との距離を測る超音波センサーとスイッチが仕込んであります。超音波センサーは半径1.5cm以内に物体が近づいたら検知してフラグをONとし、駐車場の1台用の枠に車が入車するのを再現しています。
スイッチは、コールセンターとの連携をイメージしています。スイッチを押すとSalesforceのケースを作成します。
Raspberry Piで回路をつくり、センサー(超音波センサー、スイッチ)からの標準入力を受けるスクリプトをRaspberry Pi上に用意します。そのスクリプトからAWS上のSalesforce REST APIを経由してSalesforce上のレコードを更新しています。
見て頂いた方には伝わると思いますが、レコードが更新される様子だけを見せてもインパクトがないので、リアルタイム感とPush感を出すために更にSalesforce上でStreaming APIを使い、Twitterやfacebookのタイムラインのように仕上げています。
<大変だったこと>
このモデルではシナリオ決めが大変でした。センサーの入出力とSalesforceのレコードを連動させる事が実際のビジネスに生かせるシナリオを何度も練直し、2転3転しました。
ボツになった案の例
・ブレスレット型のデバイスで脈をとって健康管理
・ゴルフクラブに加速度センサーをつけてスイング分析
・気温、湿度等のセンサーでスマートアグリのモック
デモでやるにはスケールが壮大すぎる、危険すぎる、伝えにくい、専門知識が必要、Salesforce Platformと繋げるメリットが見えにくい、等の理由で見送りました。。
逆に、駐車場のステータス管理を採用したポイントは
・位置情報と密接に連動する(視覚化したアプリがある方が便利)
・コールセンターが必要になる(Salesforceが大活躍する)
・他業種でも読み替えしやすい(倉庫や小売り、不動産、ホームコントローラー等)
IoTという言葉がバズって久しいですが、BtoBのシーンで利用するにはビッグデータの処理やセキュア通信、Analyticsなど考える事が無数にあり、私たちが活躍できることを探して得意分野に特化する必要があると実感します。
<おまけ>
このアプリを作成するにあたって色々なセンサーを買い込みましたが、ウェザーステーションに使う気温・湿度・照度センサー、加速度センサー、匂い(硫黄)を検知するセンサー、CO2濃度を測定するセンサー、カメラ、マイク等AV系センサー・・・デジタル工作用のセンサーが数百円〜千円ちょっとで無数にあり、ホント買い物が楽しいです。
あと、ジオラマも何回か作ったので今なら犬小屋くらい作れる気がします。
こちらも大きなトラブルなく本番当日を終えられてよかった
来年の今頃は家とか車とか展示してるかもしれません。
ブースにお越し頂いた皆様ありがとうございました!
この記事はSalesforce1 Advent Calendar 2014 - 12月7日の記事です。
コメント