node.js

GoogleHomeとRaspberryPi3で赤外線リモコンを操作する〜ADRSIR

投稿日:

ADRSIR

ADRSIRは、ラズベリーパイ専用の学習リモコン基盤.

動画のとおり、基板上のスイッチでLEARNモードに切り替えて、覚えさせたいボタンを押して、覚えさせたいリモコンのボタンを押せば登録できる.

コマンドラインから操作するには、「ラズパイ赤外線学習リモコン」ソフトウェア アップデートのお知らせからソフトウェアをダウンロードする.

コマンドは3つ.1が対話コマンド型、2がコマンド、3がまとめて操作するコマンド.

まず、raspi-configから、I2Cをenableにする. 参考:PythonでI2Cを使う際のコマンドをまとめた

次に、i2c-toolsをインストールする.

最後に、ライブラリsmbusをインストールする.ソフトウェアはpython3を使うので.

1の対話型コマンドを実行してみる.

rを選択して、memoから対応するボタン番号を選んで、保存するファイル名を指定すれば対応するボタンの赤外線データをファイルに保存できる.

tを選択して、対応するデータを選択すれば、ADRSIRから対応する家電を操作できる.

これを2のコマンドラインで実行するには、こんな感じで.

なお、tokieng/adrsirlibという有志のライブラリもある.

IFTTTとfirebase

IFTTT(If that then this)は、何かのイベント(that)に対して、何か(this)を実行してくれるウェブサービス.
firebaseはgoogle製のデータベースとかのサービス.今回はリアルタイムデータベースとしてだけ使う.
ここでは、Google Assistantのイベントが発火したら、Webhooksを叩く.
そして、Webhooksからfirebaseのリアルタイムデータベースを叩き、RaspberryPiからfirebaseを監視して、firebaseの変更があったら上のコマンドを実行する.

IFTTTとfirebaseの設定は、次のページをそのまま参考にした.
Google Home、IFTTT、Firebase、Node.js、irMagicianを使ってシーリングライトを音声操作する

誰でもfirebaseを書き換えられるのでセキュリティー的にはちょっと問題.

node.js

そして、RaspberryPi3からfirebaseを監視して、必要に応じてADRSIRのコマンドを実行する.

上のページのindex.jsの部分でコマンドを適当に書き換える.ついでにエアコンのオンオフも登録.

pm2

pm2はnode.jsを永続的にサービス化することができるnode.jsのライブラリ.
foreverよりいろいろ機能があるらしい.

pm2をスタートアップに登録するには、次のとおりにすれば、やるべきコマンドを表示してくれる.

Google Home かわいい

-node.js
-, , , , ,

執筆者:

関連記事

Electronでmaterialize

By: Vancouver Film School – CC BY 2.0 目次1 Materialize2 bower3 sass4 browserify5 できた Materializ …

gulpでelectronをlivereloadしながらcoffeeとsassで開発する環境

By: Nrico – CC BY 2.0 目次1 package.json2 gulpfile.coffee3 bower + browserify4 ストップウォッチ package. …

RaspberryPI3のNode-REDでHello World

By: Harry Rose – CC BY 2.0 目次1 Node-RED2 インストール3 Hello World Node-RED Node-REDはハードウェアデバイス/APIお …

Electron+Browserify(debowerify)+jQueryUi

By: Wilson Hui – CC BY 2.0 目次1 bower install2 browserify(debowerify)3 require4 jQueryUIをMarion …

デスクトップアプリを作成できるフレームワークをWindowsで触ってみた~Electron

By: Adam Jenkins – CC BY 2.0 目次1 Electron2 前提3 electronのインストール4 Hello World5 パッケージング6 DevTool7 …