4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Node-RedでPepperとMQTT連携する

Last updated at Posted at 2018-02-26

今回の仕組み

今回の仕組みはRaspberry PiにNode-REDとMQTTブローカー(Beebotte)を使用して、ALMemoryを介してPepperに指示を出してアニメーション付きのセリフをしゃべらせます。
ChoregrapheMQTT-02-1.png

※今回の記事は、Rasberry Pi、Node-RED、MQTT、Choregrapheの知識があることを前提としています

Pepper 開発ツールChoregraphe(コレグラフ)のインストールについては以下を参照ください。
Pepper 開発ツールのインストール

Node-REDとMQTTブローカー(Beebotte)については、以下の記事等をご参照ください。
Beebotte(MQTT Broker)の設定とRaspberry Pi(Node-RED)の設定
Beebotte の WEBコンソールを利用した MQTTメッセージの送受信テスト

Pepperの作業

Pepper側の処理は、Pepperの開発ツールChoregraphe(コレグラフ)を使います。

MQTTのやりとりに使うライブラリ「Paho」の読み込み処理から追加して Python ボックスを使用してPepper用 MQTT Publisher/Subscripterボックスを作る必要があります。
今回は以下のMQTT Adapterボックスを利用します。
まずはダウンロードしておきます。
https://github.com/yacchin1205/pepper-web-boxes

MQTT Adapterボックスの読み込み

  1. Choregrapheの画面左下の[ボックスライブラリ]パネルから[ボックスライブラリを開く]を選択します。
    ChoregrapheMQTT-03.png

  2. GitHubからZIPダウンロードもしくはcloneしたディレクトリのうち、以下のディレクトリを選択します。

    • ディレクトリ:web-boxes
    • ファイルの種類:ボックスライブラリのディレクトリ(Directories)
  3. [ボックスライブラリ]に web-boxes ボックスライブラリが表示されます。

MQTT Adapterボックスの配置

  1. web-boxes ボックスライブラリの [Network] > [MQTT Adapter]ボックスを「フローダイアグラム」にドラッグ&ドロップします。※MQTT Adapterボックスをドラッグ&ドロップすると自動的にpaho というモジュールがプロジェクト中にインポートされる

  2. MQTT Adapterボックスの設定ダイアログを開き、以下のパラメータを設定します。

    • Host ... MQTT Brokerのホスト名(例:mqtt.beebotte.com)
    • Port ... MQTT Brokerのポート番号(例:1883)
    • Username ... MQTT Brokerの接続用ユーザ名
    • Password ... MQTT Brokerの接続用パスワード
    • Key-Topic Bindings ... ALMemoryのキーとMQTTのトピックとの紐づけ(例:MQTT/Fsathon3:Ras/good)
  3. MQTTアダプターボックスは起点となる[onStart]からつなげて、起動時にすぐMQTTがつながるようにします。

  4. 「フローダイアグラム」の左側にある+[ALMemoryからのイベントの追加]を選択し、[メモリイベントの選択]画面の左下[新しいキー追加]をクリックして、ALMemoryとMQTT の Key-Topic Bindings(例:MQTT/Fsathon3:Ras/good)の[MQTT/Fsathon3]を相互接続されるように追加します。
    ChoregrapheMQTT-04.png
    ChoregrapheMQTT-05.png

  5. [フローダイアグラム]に [Animated Say] ボックスをドラッグ&ドロップし、以下を設定します。

    • Voice shaping (%) : 100%
    • Speed (%): 100%
    • Text : congratulations
    • Speaking movement mode : disabled
    • Animation : Stand/Gestures/Hey_2
    • ロボット上の変の自動更新:チェックあり
  6. [Animated Say] ボックスを[MQTT/Fsathon3]につなげます。
    ChoregrapheMQTT-06.png

  7. バーチャルロボットでメニューの「再生」をクリックして、PepperとNode-REDをつないでみます。
    ※[ログビューア]のログに「Connedted with result code 0」が表示されたら、無事つながっているようです。

  8. 最後はNode-RED側からメッセージを送信後にPepper がジェスチャーしながらしゃべります。
    ※動作されない場合は、[Animated Say] ボックスに到達されているか[ログビューア]を確認してください。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?