cybozu developer network

カテゴリー内の他の記事

Pepper - kintone GET ボックス(M-SOLUTIONS株式会社)

(著者:サイボウズ 渡辺 拓)

はじめに

こんにちは。サイボウズの渡辺(拓)です。 サイボウズには渡辺がたくさんいますが、そのうちでドラえもんが好きなひとが僕です。

本Tipsでは、M-SOLUTIONS株式会社サイボウズ株式会社で共同開発したkintone GET ボックスについてご紹介します。このツールをPepperのプログラム開発に利用することで、kintone上に保存したデータをPepperから簡単に利用することができます。

活用例としては、kintone上にセミナーの予定を登録しておけば、当日に行われるセミナーの予定をPepperの胸のディスプレイで表示して告知することができます。また、あらかじめ対応するPepperの動作を決めておけば、kintoneにPepperの動作を指定したレコードを登録するだけで、誰でも簡単にPepperの動作を開発することができます。

Pepperとは

最近あちこちで見かけるPepper。こちらの記事でも紹介していますが、Pepperとはソフトバンクロボティクス株式会社ならびにアルデバラン社が開発した、世界初の感情認識パーソナルロボット「Pepper(ペッパー)」は、会話を交わすなど人とのコミュニケーションを得意としたロボットです。

Pepperのプログラム開発は「Choregraphe(コレグラフ)」というソフトウェアによって行います。

Choregrapheでは「ボックス」と呼ばれるパーツを用いたシンプルなUIでPepperの動作をプログラムすることができます。

kintone GET ボックスとは

kintone GET ボックスはkintoneに登録されたデータをPepperで取得するボックスです。 Choregrapheにkintone GET ボックスを読み込み、画面からシンプルな設定をするだけでkintoneからデータを取得することができます

kintone GET ボックスを利用したサンプルの作成

それでは、さっそくkintone GET ボックスを利用して、kintoneに登録しておいた「今日のこんだて」のデータをPepperに教えてもらうサンプルを作成してみましょう!
Pepperの実機がない場合でも大丈夫です!Choregrapheの「ダイアログ」機能を利用すればPepperに話をしてもらうことができますよ

事前準備

kintone

1.30日間無料お試し環境、または開発者ライセンスからkintoneの試用環境を申し込みます
2.アプリの作成で「はじめから作成」を選択します
3.フォームの編集で以下のようにフィールドを設定します

フィールドタイプ フィールド名 フィールドコード
日付 日付 date
文字列1行 今日のこんだて kondate

4.詳細設定の「APIトークン」からレコード閲覧権限を付与したAPIトークンを発行します

5.「設定完了」ボタンをクリックしアプリの作成を完了します

さらに今回は、「今日のこんだて」のレコードを登録しておきます。

あとでPepperに教えてもらいましょう!

Pepper

1.Aldebaran社のコミュニティページでアカウントを作成します
2.サインイン後にダウンロードページからChoregrapheのインストーラを取得しインストールします

Choregrapheでの設定

 事前準備ができたらChoregrapheで設定を行っていきます。

1.ページ下部の添付ファイル(kintone-get.zip)をダウンロードし、任意のディレクトリに解凍します
2.Choregrapheを起動します
3.画面左上の「ファイル」>「プロジェクトを開く」から、解凍したディレクトリ内に存在するkintone-get.pmlを開きます

4.kintone GET ボックスのスパナアイコンをクリックし、kintoneの環境に合わせて設定を行います

変数 内容 内容例
sub-domain kintone環境のサブドメイン kintoneのURLが https://example.cybozu.com/k/ の場合、example を入力します
app-no 連携するアプリのID アプリのURLが https://example.cybozu.com/k/100 の場合、100 を入力します
API-Token 連携するアプリのAPIトークン 事前準備で発行したAPIトークンを入力します
例) NC69LcAGnR7huC7WQilSLY2FgDrnRdAyDthjsb0b
query 取得するレコードの条件

取得したいレコードを指定するクエリ文字列を記入します。
例) date=TODAY()
クエリ文字列の入力方法は、以下のページを参照してください。
レコードの一括取得(クエリで条件を指定)

fields レスポンスに含めるフィールドコード 値を取得したいフィールドのフィールドコードを指定します。
セミコロン区切りで複数指定できます。
テーブルを利用する場合は、テーブルのフィールドコードを入力した後、括弧内にテーブルのフィールドコードをカンマ区切りで入力してください。
例) code1;code2;table(tcode1,tcode2)
directory 添付ファイルがある場合に、Pepper内で添付ファイルを保存するディレクトリを指定します。 例) /home/nao/cybozu

今回は以下のように設定してみました。

動作確認

設定が終わったらさっそく実行してみましょう!

Choregrapheの画面上部にある「再生ボタン」をクリックすると実行されます!

成功すると画像のように、Choregrapheの画面下部の「ダイアログ」パネルに取得したレコードの内容が出力されます!
さて、今日のこんだては・・・?

出ました!ONIGIRI!
具が楽しみですね!

サンプルの解説

今回はkintone GET ボックスの他に、Say Text ボックスを利用しています。
Say Text ボックスに文字列を与えると、その文字列をPepperがしゃべってくれます。
今回は、kintone GET ボックスで取得した文字列をしゃべってもらいました。

kintone GETボックスの仕様

  • 設定項目「query」の条件を満たすレコードのうち、設定項目「fields」とフィールドコードが一致するフィールドのデータをjson形式で出力します。
  • 出力されるjson形式のデータは、各レコードの値をオブジェクトとして要素に持った[{record1のデータ}, {record2のデータ}, ...]のような形式の配列です。
  • 各レコードのオブジェクトのプロパティは「'フィールドコード':値」の形式で記述されています。
  • 「テーブル」フィールドは同様の形式の配列を値として持ちます。
  • 「添付ファイル」フィールドはファイル名を値として持ちます。
  • 出力例は以下のとおりです。
    例)「fields」が「code1;code2;table(tcode1,file)」の場合
  • 添付ファイルは設定項目「directory」で指定したPepper内のディレクトリに保存されます。
  • 日本語の値はUNICODE形式で出力されます。

制限事項

  • kintone GET ボックスは以下のフィールドタイプには対応していません。
    • ユーザー選択
    • 作成者
    • 更新者
    • チェックボックス
    • 複数選択
  • 「添付ファイル」は各フィールドにつき1つのみ取得できます。

動作確認環境

Mac OS X v10.10.4
Choregraphe v2.1.2.17

プログラム

ファイル名 内容
kintone-get.zip Choregrapheのプロジェクトを格納したファイル
kintone-get-box.cbl kintone GET ボックスのみ格納したファイル

ライセンス

本サンプルプログラムはMIT licenseにて提供されています。

記事に関するフィードバック

記事のコメント欄は記事に対するフィードバックをする場となっております。
右の記事フィードバックのためのガイドを参照してコメントしてください。
記事のリンク切れなど、気になる点がある場合も、こちらのフォームからフィードバックいただけますと幸いです。

Avatar
clcl

 

 

clclにより編集されました
サインインしてコメントを残してください。