【第5回】IBM Cloud と Raspberry Pi を用いたエアコン制御 ー Raspberry Pi の設定2

<目次>

  1. 初回概要
  2. IBM Cloud の設定
  3. LINE Platform の設定
  4. Raspberry Pi の設定
  5. Raspberry Pi の設定

今回は、Raspberry Pi におけるNode-RED・スピーカー・赤外線基盤の設定方法をご紹介します。

▼ Raspberry Pi の設定 ▼

< Node-REDのインストール >

1. 左上の黒い四角のアイコンをクリックし、ターミナルを開きます。

※ ターミナルは、コマンドという命令文を用いてRaspberry Pi の操作や設定を行う為のツール です。

2. 「sudo apt-get install nodered」コマンドを実行し、Node-REDをインストールします。

3. 「update-nodejs-and-nodered」コマンドを実行し、Node-REDを最新版にアップデートします。

4. 「sudo systemctl enable nodered.service」コマンドを実行し、Raspberry Pi 起動時に自動でNode-REDも起動するように設定します。

< Node-REDの設定 >

1. ターミナルにて、「cd $HOME/.node-red」「npm install node-red-contrib-scx-ibmiotapp」コマンドを実行し、Node-REDにIBM IoT Platform をインストールします。

※ うまくいかない場合「sudo npm install -g node-red-contrib-scx-ibmiotapp」コマンドを実行します。

以下、参考サイトです。Node-REDに他のパッケージを追加する方法が載っています。

Nodeの追加

2. 左上のラズベリーのアイコン→「プログラミング」 →「 Node-RED 」を選択し 、Node-RED を起動します。

3. ターミナル画面右上のURLをコピーします。

4. Webブラウザで先程のURLを開きます。このとき、開いたページがNode-REDの設定画面になります。

5. Node-RED設定画面の右上メニューより「読み込み」→「クリップボード」をクリックします。

6. 本投稿のページ最後に記載しているテキストをコピーします。

7. 先程のテキストを読み込み枠に貼り付け、「読み込み」をクリックします。

8. 読み込むと以下の画面が表示されます。

9. 「websocket out」をクリックし編集画面を開きます。

「URL」項目の「鉛筆マーク」をクリックします。

第2回 IBM Cloud の設定の際に決めた「ホスト名」を、<ホスト名>部分に入力します。

10. 「IBM IoT」をクリックし、「API Key」項目の「鉛筆マーク」をクリックします。

第2回 IBM Cloud の設定の際に表示された「APIキー」と「認証トークン」をそれぞれ「API Key」と「API Token」欄に入力する。

※ 大文字英語「O」と数字「0」の区別に注意。

11. 右上の「デプロイ」をクリックし、IBM Cloud との接続を確認します。

接続できている場合、「websocket in」,「 websoket out」,「IBM IoT」の下に接続済みが表示されます。

※ 上記の一つでも切断になっている場合は、どこかにエラーがあるので、7のステップからやり直してみてください。

< 音声機器のセットアップ >

1. ターミナルを開き、「sudo apt-get install swig3.0 python-pyaudio python3-pyaudio sox」コマンドを実行します。

2. 「pip install pyaudio」コマンドを実行します。

※ portaudioがないエラーが発生した場合:「sudo apt-get install portaudio19-dev」コマンドを実行し、再び「pip install pyaudio」コマンドを実行します。

3. 「sudo apt-get install libatlas-base-dev」コマンドを実行します。

< 音声機器の動作確認 >

1. 「aplay -l」コマンドを実行し、音声を発生する機器の「card」と「device」の数字をメモする。

2. 「arecord -l」コマンドを実行し、音声を聞き取る機器の「card」と「device」の数字をメモする。

3. 「nano ~/.asoundrc」コマンドを実行し、以下を入力します。

※ 但し、「playback.pcm」項目の「hw:」以降の数字は1で確認したcardとdeviceの値をコンマで区切って入力する。また、「capture..pcm」項目の「hw:」以降の数字は2で確認したcardとdeviceの値コンマで区切って入力する。

pcm.!default{

type asym

playback.pcm{

type plug

slave.pcm “hw:1,0”

}

capture.pcm{

type plug

slave.pcm “hw:1,0”

}

}

4. 「Ctrl」+「x」を入力し終了します。保存画面が開きますので「y」を入力し保存を選択します。保存するファイル名が表示されます。変更せずに「Enter」を入力します。

5. エクスプローラーを開き、piファイルの下にtempファイルを作成します。

※ 録音したデータを保存する場所です。

6. 「arecord –r 32000 –d 3 /home/pi/temp/out.wav」コマンドを実行すると、ターミナルに録音中が表示されます。録音中が表示されている間に音を記録してくれるので、何か音を記録させます。

7. 「aplay /home/pi/temp/out.wav」コマンドを実行し、先程の録音データが再生できることを確認します。

※ 音量調整は「alsamixer」コマンドを実行する。