您的位置:首页 > Web前端 > Node.js

树莓派开机运行node.js脚本的方法

2014-07-04 02:07 453 查看
http://gyzx.swjtu.edu.cn/icsites/devzone/node/352

一、配置Raspberry Pi无线网络。

插上无线网卡

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

然后增加类似这样的一段:

network={

ssid="gyzx-wifi1"

psk="password"

id_str="gyzx"

}

保存,然后ifdown wlan0 ,然后ifup wlan0.

这时候执行ifconfig发现,pi的wlan0已经DHCP到了IP。

此时可以使用ssh来远程连接到Raspberry Pi,这样就可以看文章,粘贴复制~~

二、安装node.js

node.js是基于google chrome v8 架构的一个事件驱动的js运行平台,有非常优秀的实时性能,很方便用来做控制。关于node.js,可移步http://nodejs.org/做更深入的研究。

pc上面

下载http://nodejs.org/download/

安装完成后,用文本编辑器(推荐everedit)、cmd即可开始开发了。

Raspberry pi上

ssh连接到raspberry pi上。

首先创建一个nodejs的安装目录:

sudo mkdir /opt/node

然后下载安装

wget http://nodejs.org/dist/v0.11.1/node-v0.11.1-linux-arm-pi.tar.gz

tar xvzf node-v0.10.2-linux-arm-pi.tar.gz

sudo cp -r node-v0.10.2-linux-arm-pi/* /opt/node

配置环境变量

把nodejs的路径输出到系统path里面。编辑 “/etc/profile”

nano /etc/profile

在 “export”命令之前添加两行内容,最后应该是这样的:

...

NODE_JS_HOME="/opt/node"

PATH="$PATH:$NODE_JS_HOME/bin"

export PATH

...

这个时候logout,然后再login,环境变量就生效了。

执行node命令,是不是看到了熟悉的界面。

三、将应用添加为服务

建个目录用来放应用:

mkdir ~/app

首先写一个helloword的http应用:

nano server.js

输入:

var http = require('http');

http.createServer(function(req,resp) {

resp.writeHead(200, {"Content-Type": "text/plain"});

resp.write("Hello World");

resp.end();

console.log("sample output to console");

}).listen(8080);

这个应用就是监听8080端口,输出hello word。

创建一个服务管理脚本

nano nodejs.sh

然后输入:

#!/bin/bash

NODE=/opt/node/bin/node

SERVER_JS_FILE=/home/pi/app/server.js

USER=pi

OUT=/home/pi/nodejs.log

case "$1" in

start)

echo "starting node: $NODE $SERVER_JS_FILE"

sudo -u $USER $NODE $SERVER_JS_FILE > $OUT 2>$OUT &

;;

stop)

killall $NODE

;;

*)

echo "usage: $0 (start|stop)"

esac

exit 0

修改权限为可执行

chmod 755 nodejs.sh、

复制到/etc/init.d

sudo cp nodejs.sh /etc/init.d

注册为开机启动

sudo update-rc.d nodejs.sh defaults

四、测试

/etc/init.d/nodejs.sh start 启动服务 (stop是关闭服务)

然后http://raspberrypi--ip:8080 怎么样,是不是看到Hello Word.

重启后,测试,还是可以看到,说明自动启动也正常了。

五、其它

sodu:

使用sudo来执行node,npm的时候,注意要加上“-i”参数,这样是告诉系统,你要使用root的环境。比如全局安装express框架

sudo -i npm install express -g

升级node.js

升级node.js可按照一下步骤:

1、检查是否有新版的arm包下载。

2、删除旧版本:

# sudo rm /opt/node -r

3、重建文件夹

# sudo mkdir /opt/node

解压缩新版文件包

# tar xvzf node-v0.10.x-linux-arm-pi.tar.gz

# sudo cp -r node-v0.10.x-linux-arm-pi/* /opt/node

查看版本:

# node -v

v0.10.2

另有英文资料参考
http://weworkweplay.com/play/raspberry-pi-nodejs/ http://www.kitware.com/blog/home/post/433
ps:下一篇文章:树莓派 通过串口与单片机连接,并提供网络功能,开机自动运行nodejs
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: