tatata’s blog(備忘録)

自分の備忘録として書いています。

Amazon Echoで照明をオン・オフする 2(Raspberry Pi編)

今回は、Raspberry Pi前回作成したArduinoに接続して、Raspbery PiからArduinoに照明のオン・オフを命令する処理を作る。

事前準備

  1. Raspberry PiArduinoをUSBで接続
  2. node.jsをインストール
  3. Node Serialportをインストール *1

www.npmjs.com

スクリプト作成

オンとオフで違うのはport.writeの引数(1または0)のみ

  • on.js (照明オン)
var SerialPort = require('serialport');
var port = new SerialPort('/dev/ttyACM0');

setTimeout(function() {
  port.write("1\n", function(err) {
    if (err) {
      return console.log('Error on write: ', err.message);
    }
    console.log('message written');
  });
}, 2000);


port.on('error', function(err) {
  console.log('Error: ', err.message);
})
  • off.js (照明オフ)
var SerialPort = require('serialport');
var port = new SerialPort('/dev/ttyACM0');

setTimeout(function() {
  port.write("0\n", function(err) {
    if (err) {
      return console.log('Error on write: ', err.message);
    }
    console.log('message written');
  });
}, 2000);


port.on('error', function(err) {
  console.log('Error: ', err.message);
})

動作確認

コマンドを実行して、照明をオン・オフできることを確認

# 照明オン
$ node on.js

# 照明オフ
$ node off.js

コードがイケてないけど、Raspberry Piから操作できるようになったのでよしとする。 次回は、SQSからメッセージを取得して、照明をオン・オフ。

*1:インストールにはまったけど、メモを取ってなかった