画像認識AI"Einstein Vision"の実装例サンプルです。 呼び鈴はラズベリーパイで、受話器はSalesforceインターフェース上に、アプリケーションとして構築します。
※Einstein Vision 公式ドキュメント ⇒ https://metamind.readme.io/v2/docs
- Raspberry Pi 3 Model B
- Raspberry Pi カメラ モジュール
- Raspberry Pi Sense Hat モジュール
- Herokuアカウント ※サインアップ ⇒ https://signup.heroku.com/
- Salesforce Developer Edition組織のアカウント ※サインアップ ⇒ http://developer.salesforce.com/signup
Salesforce Developer Edition組織にログインし、外部からSalesforceへアクセスするためのSalesforce接続アプリケーションを作成します。
呼び鈴と受話器アプリケーションを連携させるためのサーバアプリケーションをHeroku上にインストールします。
- APP_CLIENT_ID ⇒ (1) Salesforce接続アプリケーションの3.で取得した"コンシューマ鍵"
- APP_CLIENT_SECRET ⇒ (1) Salesforce接続アプリケーションの3.で取得した"コンシューマの秘密"
- SALESFORCE_USERNAME ⇒ Salesforce Developer Edition組織のユーザ名
- SALESFORCE_PASSWORD ⇒ Salesforce Developer Edition組織のパスワード
Salesforce Developer Edition組織に受話器アプリケーションのパッケージをインストールし、各種設定をし有効化します。
-
↓URLへアクセスし、受話器アプリケーションサンプルパッケージをインストールします。 https://login.salesforce.com/packaging/installPackage.apexp?p0=04t7F000001tyJQ
-
リモートサイトにherokuアプリのドメイン"https://[(2) Heroku設定で決めたHerokuアプリ名].herokuapp.com"を登録します。
呼び鈴として、Raspberry Piと各種部品の組み立て、アプリケーションをインストールします。
-
Raspberry Piを組み立て、公式にサポートされているOS"Raspbian"をインストールします。 ※手順は省略
-
適当なディレクトリを作成・移動(ここでは、~/nodeとする)
cd ~/
mkdir node
cd node
-
アプリケーションのインストール
git clone https://github.com/misu007/iot-intercom-with-einstein-vision-example-raspberrypi.git
cd iot-intercom-with-einstein-vision-example-raspberrypi
npm install
-
(2) Heroku設定で作成したHerokuアプリにアクセスするように、一部ソースコードを書き換えます。
emacs index.js
等でindex.jsを開き、7行目のherokuDomainの値を
https://[**(2) Heroku設定**で決めたHerokuアプリ名].herokuapp.com
に変更し、保存します。
-
Salesforce Developer Edition組織にログインし、Lightning ExperienceのUIで"インターホン受話器"アプリケーションを開きます。
-
Raspberry Piのアプリケーションを起動します。
cd ~/node/iot-intercom-with-einstein-vision-example-raspberrypi/
npm start
-
Raspberry Pi Sense Hat上のジョイスティックをクリックします。
-
Salesforce Developer Edition組織の受話器アプリケーションが起動し、カメラ画像、画像認識結果が表示されれば成功です。 ※通話機能は実装していません。
デフォルトでは、Einstein Visionの標準モデルの一つである"GeneralImageClassifier"を利用する設定になっていますが、簡単な設定作業で、独自のカスタムモデルを使用するよう変更可能です。
-
Einstein Visionのカスタムモデルを作成します ※手順省略
-
作成したHerokuアプリの環境変数"EINSTEIN_MODEL_ID"の値を、作成したカスタムモデルのIDに変更します。
- Heroku用Node.jsアプリ
https://github.com/misu007/iot-intercom-with-einstein-vision-example-heroku - Raspberry Pi用Node.jsアプリ
https://github.com/misu007/iot-intercom-with-einstein-vision-example-raspberrypi
すべてのコンテンツは、あくまで機能利用の一例を示すためのものであり、コードの書き方や特定ライブラリの利用を推奨したり、機能提供を保証するものではありません。