Raspberry PIでIoT製品のプロトタイプをしてると、ディスプレイに繋げずにラズパイを操作したい状況が出てきます。
そんな時のために使えるお手軽Webリモコンを実装できるnpm形式のpackage「rcjs」を開発して、webリモコンを作ってみました。
※npmには既にrcjsというパッケージが存在していますが、今回作ったものは僕のGithubからでのみnpm installできます。
使い方
Install
npm install --save TakutoYoshikai/rcjs
index.js
const Remocon = require("rcjs");
const remocon = new Remocon();
remocon.addButton("button title", function() {
//do something
});
remocon.start(3000);
do somethingのところに好きな処理を実装します。shellコマンドをexecしても良いし、JavaScriptで実装しても良いです。
ラズベリーパイだと、電源コードを抜いてシャットダウンする方法をあまり使いたくないと思うので、shutdownコマンドを遠隔で実行できるようにしてみたいと思います。
index.js
const Remocon = require("rcjs");
const remocon = new Remocon();
const execSync = require("child_process").execSync;
remocon.addButton("シャットダウン", function() {
execSync("shutdown -h now");
});
remocon.start(3000);
実行
# shutdownコマンドはroot権限が必要なのでsudoをつける
sudo node index.js
ローカルIPアドレスを調べて、http://<local ip address>:3000/
にアクセス
このボタンを押したらシャットダウンされる。
同じLAN内だったらローカルネットワーク通信で遠隔操作可能。