我可以使用Node.js编程Raspberry Pi吗?

时间:2013-08-25 02:03:57

标签: node.js raspberry-pi raspbian

我想学习编程Raspberry Pi,并且我对Node.js非常满意。近五年来我还没有触及过C ++。我知道我可以在Pi上加载Linux,但是如何在Node中进行编程?

如果是这样,我该如何处理输入/输出等事情?例如,如果我想制作一个检测到运动并发出嘟嘟声的简单设备,这是否可以通过Pi上的Node.js来实现?

4 个答案:

答案 0 :(得分:13)

就像Dave Swersky在评论中所说,是的,你可以,这里有一个完整的教程: http://blog.rueedlinger.ch/2013/03/raspberry-pi-and-nodejs-basic-setup/

我会添加它很好,但你需要使用Leafpad(如果是GUI)或nano来编辑你的代码,它们是很好的文本编辑器,但没有语法着色。

编辑:对于那些不想看到链接的人,这里有一个简短的简历:

为节点创建新目录:

sudo mkdir /opt/node

获取Raspbian的包:(vX.XX.X将被最新版本替换)

wget http://nodejs.org/dist/vX.XX.X/node-vX.XX.X-linux-arm-pi.tar.gz
tar xvzf node-vX.XX.X-linux-arm-pi.tar.gz
sudo cp -r node-vX.XX.X-linux-arm-pi/* /opt/node

将node.js添加到PATH:

nano /etc/profile

在'export'

之前添加
NODE_JS_HOME="/opt/node"
PATH="$PATH:$NODE_JS_HOME/bin"
export PATH

如链接中所述,它是node.js基本安装的一部分,我没有写过,但是在两个Raspberry上成功测试了它。

有关为何命令以及如何正确配置RPi的更多信息,请转到链接,真正的作者值得信任。

编辑3(在EDIT2之前插入,因为与问题更相关)

对于带有RPi的硬件​​io,你可以使用流行的socket.io包,或者使用一些特殊模块作为pi-gpio。

编辑2: 对于nano语法着色,请在名为js.nanorc的文件中复制this,在此示例中为〜/ 然后使用此命令:

cp /etc/nanorc ~/.nanorc
nano ~/.nanorc

创建用户nano配置文件并进行编辑。

阅读所有选项并取消注释您想要的选项,我建议激活:

set autoindent
set tabspace 4
set tabstospace
set whitespace " °"

所以你有自动缩进,标签由4个空格组成,通过输入alt + P,你会看到所有的空格都被°替换(只有视觉,它们不能在文件中替换)

然后,在文件末尾输入

include "~/js.nanorc"

所以你现在也有javascript着色。

答案 1 :(得分:5)

我认为您需要一些C端口模块来控制硬件,但我不知道 如果有的话。

但是,您可以查看嵌入式Tessel 专门用于JavaScript的开发硬件,因此可以运行Node.js 你的Pi上的应用程序来编程。

答案 2 :(得分:2)

没有使用它,但也许这就是你需要的:https://npmjs.org/package/pi-gpio

答案 3 :(得分:1)

在Linux系统上,只需与安装在/proc的{​​{3}},procfssysfs文件系统上的文件进行交互,就可以做很多有趣的事情,分别为/sys/sys/kernel/config个挂载点。

这些允许您观察系统的状态和配置,并且在许多情况下还提供通过将特定数据写入文件来更改该配置的机制。不需要C / C ++原生插件 - 标准configfs模块就足够了。

例如,看看fs库,它允许您通过读取和写入sysfs挂载点上LED配置端点的数据来控制LED(免责声明:我是模块的作者)。

如果您想使用Raspberry PI上提供的GPIO引脚与您的自定义设备进行交互,那么Node {j}可以ledctl提供一个很好的JavaScript API来发送和接收特定引脚上的信号。

因此,要创建一个检测运动并发出蜂鸣声的设备,您可以将运动检测器和蜂鸣器连接到GPIO(最有可能),使用您选择的GPIO模块控制引脚并开始监听传入信号。当您收到信号时,您会向蜂鸣器发出另一个信号。