カテゴリ「ツール」の記事

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日の記事です。




2011年8月18日 (木)

Google Chrome 拡張機能 「Force.com Utility Belt」

今日は、Appirio社が開発したGoogle Chrome ツール「Force.com Utility Belt」の3つの機能をそれぞれご紹介。

インストールはこちら

○Quick Reference Topics

ApexやVisualforce、Web Services APIのリファレンスに、3秒でアクセスできるツールです。

まず、右上のボタンをクリックします。

20110817_1

次に、見たいリファレンスの種類を選択します。

20110817_2

最後に、見たいトピックを選択します。

20110817_3

すると、選んだトピックが表示されます。

20110817_4

これだけと言えば、これだけなのですが、開発中はリファレンスを見たいことが多いので、とても便利です。Apex/Visualforce開発者にはかなりオススメです。

○Search for Stuff

ボタンクリック後、右上の「Search for Stuff」リンクをクリックすると、↓の画面に切り替わります(下のID Converterも同様)。Salesforceに関連する様々なドキュメントを対象に検索することができます。

20110817_5

○ID Converter

15桁のIDを18桁のIDに変換するツールです。

使用する頻度は少なめですが、18桁のIDを調べるのは面倒なので、あって損はないかと。

Salesforceの各IDは15桁で画面に表示されますが、APIでアクセスする時は18桁のIDを利用しなくてはなりません。ちなみに、15桁のIDはアルファベットの大文字、小文字を区別し、18桁のIDは大文字、小文字を区別しません。18桁のIDは、最初の15桁は15桁のIDと同じで、最後の3桁で大文字、小文字を区別できない分を表現しています。

20110817_6

2011年1月 6日 (木)

Google Chrome 拡張機能 「Force.com Logins」

Appirio社からGoogle Chrome ツール「Force.com Logins」がリリースされました。

予め登録しておいたSalesforceアカウントに1クリックでログインできるツールです。

早速使ってみましたが、ログインしなおす手間が省けて、とてもいい感じです。
今までは、毎回Salesforceのログインページからログインし直してましたからね~。
たくさんのSalesforceアカウントを持っている人には、かなりお薦めのツールです。

インストールはこちら

○特徴
・アカウント、パスワード、セキュリティトークン、組織種別、説明を登録しておけます。
・「新規タブで開く」「新規ウィンドウで開く」を選択できます。
・アカウントをグループ毎に分別できます。
・アカウント情報をXML形式でエクスポート/インポートできます。
・インタフェースは英語と日本語が、ロケールで自動で切り替ります。

○ログイン画面

20110106_1

○登録画面

20110106_2


2010年12月21日 (火)

データローダーでNULLを上書きする方法

データローダーでUpdateすると、上書くデータが空の項目は、上書き前のデータがそのまま残ってしまいます。

例) "hoge"を""でUpdateすると、"hoge"のままとなる。

これを防ぐには、データローダーの[Settings]メニューを開いて、「Insert null values」にチェックを入れます。

20101221_1

20101221_2

これで、上書くデータが空の項目も、Update時に空になります。

例) "hoge"を""でUpdateすると、""となる。

採用情報

株式会社フレクトでは、事業拡大のため、
・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