スイッチでAlexa定型アクションを起動~ラズベリーパイ編~

ラズベリーパイをセットアップします。

Step1:OSのインストール

ラズベリーパイのホームページ(https://www.raspberrypi.com/software/)からimagerをダウンロードします。imagerはOSのバージョンが固定されているようなのでOSがバージョンアップされるとimagerもダウンロードしなければならないようです。v.1.7.2で説明します。
imagerを起動し、OSを書き込みます。
CLI版を使用するのでOSは[Raspberry Pi OS(other)]-[Raspberry Pi OS Lite(32bit)]を選択します。
書き込みが終わったらSDをラズベリーパイに差し替え、電源を入れます。
キーボードの設定画面(Configuring Keyboard-Configuration)が現れます。日本語の普通のキーボードの場合、[Other]-[Japanese]-[Japanese – Japanese(OADG 109A)]を選択します。
ユーザー名とパスワード入力します。
コマンドプロンプトが出来たら設定を行います。
$ sudo raspi-config⏎

wifi設定:[1 System Options]-[S1 Wireless LAN]-[JP Japan]-[SSIDの入力]-[パスワードの入力]
SSH設定:[3 Interface Options]-[I2 SSH]-[YES]
ファイルシステムの拡張:[6 Advanced Options]-[A1 Expand Filesystem]

最新バージョンへアップデートします。
$ sudo apt update⏎
$ sudo apt upgrade⏎ Y/nでY

Step2:ファイルの転送

スキルテスト編で作成したpythonプログラム(alexa_trigger.py)とシェルスクリプトをラズベリーパイのホームディレクトリに転送します。
シェルスクリプトは全く単純です。
ファイル名はalexa_key.shとしました。

#!/usr/bin/bash

while :
do
  read CMD
  case "$CMD" in
  "0") python alexa_trigger.py 0;;
  "1") python alexa_trigger.py 1;;
  "2") python alexa_trigger.py 2;;
  "3") python alexa_trigger.py 3;;
  "4") python alexa_trigger.py 4;;
  "5") python alexa_trigger.py 5;;
  "6") python alexa_trigger.py 6;;
  "7") python alexa_trigger.py 7;;
  "8") python alexa_trigger.py 8;;
  "9") python alexa_trigger.py 9;;
esac
done

シェルスクリプトに実行権限を与えます。
$ chmod 777 alexa_key.sh
試しにテストしてみます。
$ ./alexa_key.sh
0⏎
success

成功したら、起動時にシェルスクリプトが起動されるようにします。
ホームディレクトリにある.profileファイルを編集します。
$ nano .profile⏎
最後の行に1行追加します。
./alexa_key.sh

Ctrl + O⏎
Ctrl + W⏎
で保存します。

キーボードをテンキーに付け替え、再起動します。
これで完了です。

定型アクションを作成すれば10個のアクションがキーで動作します。
Lambda関数とシェルスクリプトに少し修正を加えれば動作するアクションを増やすことができるはずです。

.profileに変更を加えたことでSSH接続時にもシェルスクリプトalexa_key.shが実行された状態になっています。まず最初にCtrl+C⏎でシェルスクリプトを終了させる必要があります。