5.3.3.口をつくる

ロボットにお話しをさせるための口を作ります。

※お話をするプログラムはすでに「ロボットの頭脳を作る」で作成済みです。

口と言ってもロボットにとっての口はスピーカーになるのですが、市販のスピーカー程高機能である必要もなく、また、小さいものが使い勝手がいいことから、Raspberry Piで利用できるスピーカーを自作します。

ただし、本方式はpwm制御を行うサーボモータと制御がバッティングを起こすことから同時に利用することができません。よって、今回用意するものは今後利用するための準備として作成します。(今回のロボットのプロトタイプではUSB接続タイプのスピーカーを用意して利用することとします。)

1)用意するもの

・スピーカー  ダイナミックスピーカー 8Ω0.3W66mmΦ NA202C

アンプ TPA2006使用 超小型D級アンプキット

ジャンパー線(オス/メス5本、オス/オス2本)

ブレッドボード

2)作成手順

[配線]

①スピーカに電線とジャンパー線のオス/オスを半田付けします。

 

➁アンプにPinを半田付けします。また、下記のように背面の➂の部分を半田付けします。

➂アンプをブレッドボードに差し、配線図通りにジャンパー線を利用して配線します。

 

3)Raspberry Piの設定

①下記コマンドでGPIOのmodeを変更します。

sudo gpio -g mode 13 pwm

sudo gpio -g mode 18 pwm

また、「gpio readall」のコマンドで、設定状態を確認します。

Modeの部分がそれぞれ、ALT0,ALT5となっていれば設定完了です。

➁音がなることを確認します。

音声ファイル等で音が鳴るか確認してください。

➂起動時にGPIOのmodeが自動的に変更されるように設定します。下記のコマンドにて、設定ファイルを変更して、起動時に自動的に上記の設定変更が行われるようにします。

sudo nano /etc/rc.local

④Raspberry piを再起動し、GPIOの設定を確認(gpio readall)。音がなることが確認できれば完了です。

※USBスピーカーへ戻した時、カード番号とデバイス番号が変わっている事があります。デバイスを戻した時は、aplay -lで確認し、下記のプログラムで設定しているカード番号、デバイス番号を修正してください。

・TextToSpeech_Jtalk.py

・TextTospeech_eSpeak.py

前の投稿/次の投稿/メニューページへ戻る

5.4.6.ランダムに話しかけてくるプログラムの作成と組み込み

現在のプログラムは、こちらから話しかけないと何もアクションしない仕組みとなっています。よって、話しかけられない限り何もアクションしないのはつまらないので、一定時間、話しかけない場合に、ロボットが話しかけてくるプログラムを作成します。

 

1)発声するフレーズのリストを取得

ロボットに発声させるフレーズのリストを作成します。json形式で作成します。

[phraselist.json]

2)ランダムに話しかけてくるプログラムの作成

ランダムにリストのフレーズもしくはニュースを発話するプログラムを作成します。

[news_rp _speak.py]

3)NagoRobo_Main.pyを修正する

NagoRobo_Main.pyのプログラムを修正し、2)で作成したプログラムを組み込みます。発話するタイミングは、最後にロボットが発話してからの経過時間を計測。同時に最後に発話したタイミングで、ロボットが自動的に発話するランダムな経過時間を都度設定。経過時間と設定された経過時間に応じて2)で作成したプログラムを起動するように組み込みします。

下記の赤枠の部分をプログラムに追記します。修正を行う前にバックアップをデスクトップに保存しておいて下さい。

[NagoRobo_Main.py]

NagoRobo_Main.pyを実行すると、実行した直後、ロボットの発声直後に数字が出力されます。(下記の画像では60が出力されています。)出力された数字(秒)が経過し、フレーズが発声されたらOKです。

前の投稿/次の投稿/メニューページへ戻る

 

5.2.2.4.Sambaを導入する

sambaとは、RaspberryPiとWindowsの間でネットワーク機能を実現するソフトウェアです。Sambaを導入すると、RaspberryPiとWindows間のファイル等の共有が簡単に行うことができます。

①Sambaをインストールします

sudo apt-get install samba

容量確認があるので[Y]を入力して実行します。

※仮想環境には入らずそのまま実行します。

②Raspberry piとWindowsの間で共有するフォルダを用意します

RaspberryPiのhome/piに「nagorobo」というフォルダを作成します。

自分以外のユーザーも使えるようにしたいので、フォルダのアクセス権を設定します。作成した「nagorobo」のフォルダを右クリックして、ファイルのプロパティを選択します。「パーミッション」タブをクリックし、画像の赤枠の「内容の閲覧」「内容の変更」「内容へのアクセス」の項目を3つとも「すべて」に変更します。

③smb.confという設定ファイルを編集します

編集前に下記のコマンドで、念のためにバックアップを取っておきましょう。

sudo cp -p /etc/samba/smb.conf /etc/samba/smb.conf.org

左に表示されているetcのフォルダの中のsambaのフォルダの中に、smb.conf.orgというバックアップファイルが出来たことを確認します。

次に、下記のコマンドでsmb.confを編集します。

sudo nano /etc/samba/smb.conf

ターミナル上に上記の様なsmb.confの設定ファイルが開くので、カーソルを一番下まで移動し、下記の赤枠部分を追記します。

作成したフォルダを共有する情報となります。

Ctrl+O、Enterで上書き保存してください。

終了は、Ctrl+Xで終了します。

④Sambaの起動し、共有フォルダの共有アクセスの確認

下記のコマンドをターミナルに入力すると、Sambaが起動します。

sudo /etc/init.d/samba restart

次に、同じネットワーク上にあるWindowsのPCから共有確認をしてみます。

エクスプローラーを開き、ネットワークを選択します。

ネットワークの中に「RASPBERRYPI」が表示されていることを確認します。(表示されていない場合には「¥¥raspberrypi」と入力して直接アクセスしてみてください。)

nagoroboのフォルダにファイルを保存すると、smba.confを編集した際に設定したallを通してWindowsとファイルの共有ができます。

⑤Sambaのシャットダウン方法

Sambaのシャットダウンは、下記のコマンドで行うことが出来ます。

sudo /etc/init.d/samba stop

これでSambaの設定は以上です。

前の投稿/次の投稿/メニューページへ戻る

5.4.5.3.RaspberryPiから中継サーバーを利用し翻訳できるようにする

今回、作成した中継サーバーをデプロイし、第三者がインターネットから中継サーバー利用できるようにするためにHerokuというサービスを利用します。

Herokuとは、Paas(Platform as a Service)と呼ばれるサービスで、アプリケーションを実行するためのプラットフォーム(動かすための土台となる環境)です。まずは、Herokuにデプロイする為の準備を行います。

 

【デプロイ用のHeroku関連の環境準備】

1)Herokuを利用できるようにするために、Herokuへアカウントの作成します。(Heroku側作業)

①下記のURLへアクセスし、無料で新規登録ボタンをクリックします。

https://www.heroku.com/

②情報を入力し、無料アカウント作成ボタンをクリックします。

③登録したアドレス宛にConfirm your account on Herokuという登録のメールが届くので、リンクをクリックし、パスワードを設定します。

 

2)次に、Herokuへ作成/開発したアプリケーションをデプロイするためのクライアントの環境を整えます。(クライアントPC側作業)

ツール関連のインストールをおこないます。

Heroku Toolbeltのダウンロード/インストール

①下記のURLへアクセスします。

https://toolbelt.heroku.com/

②PC環境に合ったものをダウンロードします。

③ダウンロードしたHeroku Toolbeltをインストールします。

 

Gitのインストール

①下記のURLからGitをダウンロードし、インストールします。

https://git-for-windows.github.io/

ここまでで、デプロイするためのHeroku側作業及び作業用のクライアントPC側の環境が整いました。

 

【作成/開発した中継サーバーのデプロイ作業を行います。】

Herokuにアプリケーションの作成(Heroku側作業)

①Heroku(https://www.heroku.com/)にアクセスし、「Create New App」をクリックします。画面が切り替わったら、「App name」にアルファベットで好きな名前を入力してください。(大文字は使用できません。)入力した名前の下に緑色の文字で「available」と表示されていたら使用できる文字列なので、「create app」をクリックします。

 

次に、クライアントPCから中継サーバーのアプリケーションを、Heroku側に作成したアプリケーションに対してデプロイします。(クライアント側作業)

クライアントPC上の中継サーバーのアプリケーションファイル群を以下の手順でデプロイします。

①デスクトップ上にHerokuで作成したアプリケーション名と同じ名前のフォルダを作成します。

②Google_APIに入っている中継サーバーのアプリケーションファイル群をすべて①で作成したフォルダに移動します。

➂コマンドプロンプトを起動し、以下の手順に沿って最後までコマンドを実行すると、デプロイが完了します。

heroku login

cd アプリケーション名

git init

heroku git:remote -a アプリケーション名

git add .

git commit -am “コメント”

git push heroku master

まで終了したらデプロイの完了です。

※Herokuのアプリケーションを作成したサイトに下記のような手順が記載されています。参考にしてください。

 

【デプロイした中継サーバーの稼働確認】

デプロイが正常に出来ているかを稼働確認を行います。

①デプロイされた中継サーバーのURLを確認/取得します。

Herokuに作成したフォルダ内のsettingsタブに移動し、「Domains and certificates」のDomainに表示されています。

②5.4.7.で作成した「Translate_GoogleviaN.py」を中継サーバーにアクセスするMyurlのURL部分を①取得したURLに変更します。

※中継サーバー(翻訳機能)の取得したURL+「/translate」となります。ローカル環境で確認設定した際と同様の手続きです。

③Raspberry Pi Zero上で、修正したTranslate_GoogleviaN.pyを実行します。

Helloと返ってきたら中継サーバーのデプロイの成功です。Translate_GoogleviaN.pyは関数としての利用も可能です。

 

前の投稿/次の投稿/メニューページへ戻る

 

 

6.8.広告レポート

Facebook広告マネージャでは、掲載した広告の数値結果を取得することが出来ます。

■広告レポート閲覧方法
広告マネージャのアカウント概要ページから各広告のレポートを閲覧出来ます。

 

アカウントページ上部の各種バーの検索条件を変更することで期間や、各広告毎にフィルタリングして結果をみる事が可能です。

 

また、レポート結果をCSVファイルでダウンロードすることも出来るので、データ分析する際に有効活用できます。

必要なデータを整理して、次の広告掲載に活かしましょう!

 

前の投稿/メニューページへ戻る

6.7.広告掲載方法

6.7.1.広告マネージャとは

Facebookが提供する無料のFacebbook広告の管理ツールです。

広告マネージャで出来る事

広告マネージャトップページ

6.7.2.広告掲載方法

キャンペーンシートを開き、上部の[+作成する]ボタンをクリックする。

 

①広告の目的を選択します。
※広告の目的とは、広告を見た利用者に実行してもらいたいアクションのことです。

 

今回は、「ブランドの認知度アップ」を選択し、[次へ]をクリックします。

 

②ターゲットの設定
・広告セット名:広告のタイトルを入力。
・オーディエンス:広告のターゲット(地域、年齢、性別、言語など)を設定します。
・詳細ターゲット:利用者層、趣味・関心、行動などからターゲットを設定します。

 

③配置の選択
広告を掲載する媒体(facebook,Instagram,Messenger)を選択します。

[自動配置(推奨)]か[配置を編集]を選択します。
※facebookが有効な場所に掲載してくれる自動配置がオススメです。

 

④予算と掲載期間
予算と掲載期間を設定します。
予算は、1日の予算か通算予算か掲載期間を決めている場合はここで設定しておきましょう。
全ての入力が完了したら、[次へ]をクリックします。

 

④形式の選択
広告の形式を選択します。

・カルーセル:2件以上のスクロール可能な画像または動画を使用した広告
・シングル画像:1件の画像を使用した広告
・動画:1件の動画を使用した広告
・スライドショー:最大10件の画像を使用したループ動画広告

 

⑤広告のテキストと写真掲載
テキスト欄:広告に載せたい文章を記載します。
画像:広告に掲載したい画像をアップロードします。

右側に広告のプレビューが表示されるので、確認して、[実行する]ボタンをクリックする。

 

前の投稿/次の投稿/メニューページへ戻る

6.6.支払方法の設定

ビジネスマネージャー内では広告運用などが出来るので、事前に決済方法を登録しておく必要があります。

6.6.1.支払い権限の付与

支払い方法を登録/削除/変更出来るユーザーを決めます。
ビジネス設定画面の権限を変更したいユーザーを選択し、名前の横のえんぴつマークをクリックする。

 

編集画面が出てくるので、ファイナンスの役割を選択する。

 

6.6.2.支払い方法の登録

ビジネス設定画面の支払いページから登録/削除等変更が出来ます。
追加方法:[追加する]ボタンをクリックして、支払い情報を入力。
削除方法:削除したい、カードを選択して、[支払い方法を削除]ボタンをクリック。

 

前の投稿/次の投稿/メニューページへ戻る

 

6.5.ビジネスマネージャ登録

6.5.1.ビジネスマネージャとは

 ビジネスマネージャは、無料のFacebookプラットフォームです。ビジネスマネージャを作成すると、個人用Facebookプロフィールとは別に、ビジネスを管理するための中心スペースを作成することが出来ます。ビジネスマネージャを作成すると、ビジネスマネージャでFacebookページや広告アカウントを管理できるようになるため、ビジネスコンテンツと個人的なコンテンツが混在する心配がなくなります。

 

6.5.2.アカウント作成

facebookビジネスマネージャアカウントを下記URLから作成します。
https://business.facebook.com
/

 

6.5.3.ユーザー登録

6.5.2.でビジネスマネージャアカウントを作成したら、ユーザー登録を実施します。
管理者のアカウントで作成したビジネスマネージヤページへログインし、トップ画面上部にある「≡ ビジネスマネージャ」をクリックし、メニューにある「ビジネス設定」を選択します。

 

メンバー欄の[追加する]をクリックする。

業務で使用しているアドレスを枠内に入力し、付与するメンバー権限を選択し、メンバーを追加をクリックする。

指定したメールにビジネスマネージャへの招待が送信されます。メールを受け取った人がクリックして承認します。

 

前の投稿/次の投稿/メニューページへ戻る

6.4.企業ページで投稿記事を作成し、ホームページのブログとリンクさせる。

facebookページで投稿を作成します。
下記の赤枠内にコメントとリンクさせたいページのURLをコピペします。

 

下記の赤枠内にコメントとリンクさせたいページのURL(6.3.で作成したWordpressの投稿URL)をコピペします。

リンクさせたいURLを入力すると、コメント欄の下部にリンクが画像付きで生成されます。
※本文中のURLは削除しましょう。削除してもリンクは残ります。

 

下記の様に投稿がアップされます。

いいね!やシェアをユーザーにしてもらい、記事を出来るだけ多くの人の目に入るよう工夫しましょう!

 

前の投稿/次の投稿/メニューページへ戻る

6.3.ホームページでブログ記事を作成する。

facebookでは、他サイトのページをリンクさせてその投稿内容を宣伝することが出来ます。

まずはじめに、企業のホームページでfacebookとリンクさせたい記事を作成します。
※各ホームページの仕様によって、対応は変わりますが、今回は、弊社サイトを例にとります。

今回は、Wordpressで下記のように投稿を作成します。

 

前の投稿/次の投稿/メニューページへ戻る