Node.js控制树莓派GPIO

虽然不完美,但监控程序基本功能还是用Python写完了来着,但这颗爱折腾的心停不下来呀。

前两天看了个网站管理面板,风格甚是喜欢,想拿来用在监控程序,把后端写完没了再去写IOS APP。

安装Node.js

1
2
sudo wget http://node-arm.herokuapp.com/node_latest_armhf.deb
sudo dpkg -i node_latest_armhf.deb

安装完成后运行node -v查看是否安装成功

安装pi-gpio

1
sudo apt-get install nodejs npm

树莓派的GPIO接口要求ROOT权限,这个操作即不安全也不方便。为了解决这个问题,可以用一下方式解决此问题。

1
2
3
4
5
git clone git://github.com/quick2wire/quick2wire-gpio-admin.git
cd quick2wire-gpio-admin
make
sudo make install
sudo adduser $USER gpio

然后打开自己项目(需要控制GPIO的代码)所在目录,运行

1
npm install pi-gpio

示例

1
2
3
4
5
6
7
8
var gpio = require("pi-gpio");

gpio.open(16, "output", function(err) { // Open pin 16 for output
gpio.write(16, 1, function() { // Set pin 16 high (1)
gpio.close(16); // Close pin 16
});
});

GPIO口编号
table here

参考