Skip to main content

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

はてなブログから引っ越しました(2019/10/21)

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

事前準備

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

スクリプト作成

オンとオフで違うのは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. インストールにはまったけど、メモを取ってなかった ↩︎