AmazonEcho から Ubuntu のコマンドを実行する方法です。
アレクサ、に続けて「○○オン」や「○○オフ」で、Ubuntu上のコマンドを実行できます。
Raspberry Pi や Windows上のコマンドを実行する場合は、次の記事を参照してください。
AmazonEchoからRaspberryPiのコマンドを実行する(node-red-contrib-amazon-echo): パソコン鳥のブログ
AmazonEchoからWindowsマシンのコマンドを実行する(node-red-contrib-amazon-echo): パソコン鳥のブログ
本記事では、上の RaspberryPi での設定をベースに、Ubuntu での設定方法を説明します。
AmazonEchoからRaspberryPiのコマンドを実行する(node-red-contrib-amazon-echo) の「準備」の「Raspberry Piでの設定」が、Ubuntu では次のようにします。
nodejs をインストールします。
sudo apt install nodejs
Node-REDをインストールします。
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
次の表示が出たら y を入力します。
Are you really sure you want to install as root ? (y/N) ? y
次の表示が出たら N を入力します。
Would you like to install the Pi-specific nodes ? [y/N] ? N
Ubuntu起動時に Node-RED が自動実行されるようにします。
ここでは一般ユーザで起動するようにします。一般ユーザでの起動でも問題ありません。
crontab(crontab -e を実行) で次を追加します。
@reboot node-red-start
続けて、ポートフォワーディングの設定を行います。
お使いのシステムのファイアウォール iptables / ufw によって、以下の iptablesの場合/ufwの場合 の作業をします。
作業は sudo または rootで行ってください。
以下の –to-port 8111 で Ubuntu で使用していないポート番号を指定します。
この例の通り、8111 で通常は問題ありません。
iptablesの場合
次のコマンドを実行します。
iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT iptables -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8111
この設定は再起動すると消えてしまうので、設定が消えないようにします。
次のコマンドを実行してください。
apt-get install iptables-persistent
現在のIpv4ルールを保存しますか?
現在のIpv6ルールを保存しますか?
と出た場合は、はい を選択します。
続けて次のコマンドを実行してください。
/sbin/iptables-save > /etc/iptables/rules.v4
後は、AmazonEchoからRaspberryPiのコマンドを実行する(node-red-contrib-amazon-echo) の「Node-REDでの設定」以降の作業を行ってください。
なお、Raspberry Pi となっているところは、適宜 Ubuntu と読み替えてください。
ufwの場合
次のコマンドを実行します。
ufw allow 80
/etc/ufw/before.rules の *nat ~ COMMIT の間に記述を追加します。
*nat : -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8111 : COMMIT
設定を反映します。
ufw reload
後は、AmazonEchoからRaspberryPiのコマンドを実行する(node-red-contrib-amazon-echo) の「Node-REDでの設定」以降の作業を行ってください。
なお、Raspberry Pi となっているところは、適宜 Ubuntu と読み替えてください。
コメント