« コミュニティの Salesforce1 サポート | メイン | Salesforce1 Lightning Fast Seminarにいってきた! »

2014年12月 7日 (日)

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インチの画面が複数設置されていたのでご覧になった方も多いのではないでしょうか?

Photo

Dsc_0022

↑こんな感じの。

アプリケーションの構成は、4台のシャトルバスにOBD2コネクタを挿し、走行情報をリアルタイムにHeroku上のサーバで受けて地図画面に位置座標をプロットしています。OBD2車載器にはSIMカードが挿せるのでサーバ側は車載器からデータを直接UDPで受信します。取得できるデータの中で面白かったものと、その使い道をちょっとご紹介すると、

・位置情報・・・緯度、経度の位置座標
・方位・・・北を0度として0〜360度の数値で取得できます。バスのアイコンが道に添って滑らかに運行するアニメーションは、方位の数値により画像を16タイプに分けて描画することで実現しています。
・エンジン負荷・速度・・・バスが走行中か停車中か判定するのに使用しました。実際の利用シーンでは”事故が発生したときアクセルを踏み込んでいたか?”等の評価にも使われているそうです。

アプリケーション側では、

・スマートフォン画面への最適化
・サイネージ画面への最適化
・redisでRead/Write高速化
・アクセス集中時(数千クライアント)をシミュレートした負荷テスト

など、Frontend/Backendの準備、テストともなかなかに大変でしたが、フレクトのスーパーエンジニアがさくさくHerokuで開発していました。

<当日>

・最高時70req/秒ほどでしたがHerokuが難なく捌いてくれました
・バスに乗っているとかなりリアルタイムなのが体感できる

など、評判の良いアプリとなって大成功でしたhappy01


ちなみに、

・トンネル内など、電波状況が良くない場所ではデータが途切れてしまう
・端末からの多量リクエストによりスマホのバッテリーの減りが激しい

など、事前の検証でもどうしようもなかった環境依存や、沢山使って頂けたゆえのフィードバックも頂いておりますhappy02

イベント等で活躍が予想されるこの走行情報アプリ、ぜひぜひ今後にもご注目ください。

OBD2コネクタはコネクシオ様の提供でした。



2.Salesforce Platformとセンサーデバイスとの連携

フレクトのブースにお越しいただいた方は体験されたかもしれませんが、センサーデバイスからSalesforce Platformにアクセスする、駐車場管理のモックアプリケーションを展示しました。

Img_5741

前日作ったジオラマ。

あくまで展示会用のコンセプトモデルです。センサー等も極めてチープなものを使っています。

20141206_230828


シンプルにすると、

20141206_231505_2

駐車場のミニチュアの中には、近接する物体との距離を測る超音波センサーとスイッチが仕込んであります。超音波センサーは半径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系センサー・・・デジタル工作用のセンサーが数百円〜千円ちょっとで無数にあり、ホント買い物が楽しいです。
あと、ジオラマも何回か作ったので今なら犬小屋くらい作れる気がします。

こちらも大きなトラブルなく本番当日を終えられてよかったwobbly

Dsc_0038

来年の今頃は家とか車とか展示してるかもしれません。
ブースにお越し頂いた皆様ありがとうございました!

この記事はSalesforce1 Advent Calendar 2014 - 12月7日の記事です。




トラックバック

このページのトラックバックURL:
http://bb.lekumo.jp/t/trackback/493401/33079779

SWTT2014~Salesforce Platformで実現するIoTソリューション~を参照しているブログ:

コメント

コメントを投稿

コメントは記事の投稿者が承認するまで表示されません。

採用情報

株式会社フレクトでは、事業拡大のため、
・Salesforce/Force.comのアプリケーション開発
・HerokuやAWSなどのクラウドプラットフォーム上
でのWebアプリケーション開発
エンジニア、マネージャーを募集中です。

未経験でも、これからクラウドをやってみたい方、
是非ご応募下さい。

フレクト採用ページへ

会社紹介

  • 株式会社フレクトは、
      ・認定コンサルタント
      ・認定上級デベロッパー
      ・認定デベロッパー
    が在籍している、セールスフォースパートナーです。
    また、heroku partnersにも登録されています。
    herokuパートナー
    株式会社フレクト
    Salesforce/Force.com
    導入支援サービス
    弊社の認定プロフェッショナルが支援致します。
    ・Visualforce/Apexによるアプリ開発
    ・Salesforceと連携するWebアプリ開発
    も承っております。
    セールスフォースご検討の際は、
    お気軽にお問合せください。

Twitter

リファレンス

■Developer's Guide(リファレンス)
・Apex  HTML | PDF | 日本語PDF | ガバナ制限
・Visualforce  HTML | PDF
・Web Services API  HTML | PDF | 日本語PDF
・Bulk API  HTML | PDF
・REST API  HTML | PDF | 日本語PDF
・Metadata API  HTML | PDF
・Migration Tool  HTML | PDF
・AJAX Toolkit  HTML | PDF
・Data Loader PDF | 日本語PDF

■早見表 (日本語)
数式
Apex
Visualforce
Web Services API
Chatter