我可以用Node.js编程一个树莓派吗?

我想学习编程树莓派,我很擅长Node.js 我近五年来没有碰过c++ 。 我知道我可以在Pi上加载Linux,但是如何才能在Node中进行编程?

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

       

网上收集的解决方案 "我可以用Node.js编程一个树莓派吗?"

我想你需要一些C端口模块来控制硬件,但是我不知道有没有。

不过,您可以看看Tessel ,这是一个专门用于JavaScript的embedded式开发硬件,因此可以在您的Pi上运行Node.js应用程序对其进行编程。

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

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

编辑:对于那些不想看到链接的人来说,这里简单介绍一下:

为节点创build一个新的目录:

 sudo mkdir /opt/node 

获取Raspbian的包:(vX.XX.X将被最新的一个replace)

 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 

在“导出”之前添加

 NODE_JS_HOME="/opt/node" PATH="$PATH:$NODE_JS_HOME/bin" export PATH 

这是链接中解释的node.js的基本安装的一个裂口,我没有编写它,而是在两个树莓上成功地testing了它。

有关为什么input命令以及如何正确configurationRPi的更多信息,请转到链接,真正的作者应该得到信任。

编辑3(插入编辑之前,因为更多的相关的问题)

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

编辑2:对于纳米语法着色,复制这个名为js.nanorc,在〜/在这个例子中的文件然后使用这个命令:

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

创build用户nanoconfiguration文件并编辑它。

阅读所有的选项,并取消你想要的,我build议激活:

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

所以你有自动缩进,制表符是由4个空格组成的,通过inputalt + P,你可以看到所有的空白被replace为°(只有可视的,它们在文件中不被replace)

然后,在文件末尾键入

 include "~/js.nanorc" 

所以,你现在也有JavaScript的着色。

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

在Linux系统上,只需通过与procfs , sysfs和configfs文件系统上的文件交互,就可以完成很多有趣的事情,这些文件分别安装在/proc/sys/sys/kernel/config挂载点。

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

作为一个例子,看看ledctl库,它允许你简单地通过在sysfs挂载点上读写数据到LEDs的configuration端点( 免责声明:我是模块的作者 )来控制你的指示灯。

如果您想使用Raspberry PI上提供的GPIO引脚与自定义设备进行交互,那么Node.js上有很多本地插件 ,它们提供了一个很好的JavaScript API来在特定引脚上发送和接收信号。

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