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