您的位置:首页 > 运维架构 > Linux

CoAP学习笔记——nodeJS node-coap安装和使用(Linux平台)

2014-09-07 16:14 1006 查看
0 前言

本文说明如果安装和使用node-coap。CoAP是专门为物联网系统开发的面向网络的应用层协议栈,CoAP建立在UDP协议之上尽可能减少网络开销,又具有HTTP Restful类型的特性。node-coap使用nodejs实现了coap的客户端和服务器端。
【测试环境】——ubuntu/Linux
【相关博文】

CoAP协议学习——CoAP基础
CoAP学习笔记——CoAP资源发现
CoAP学习笔记——服务器端繁忙时的处理请求流程
树莓派学习笔记——webiopi安装与入门】webiopi中集成了CoAP Server,可以方便地通过CoAP协议控制树莓派GPIO。

1 nodejs安装
【1】下载nodejs源代码包

【2】Linux安装三部曲,依次输入以下指令:

./configure

make

sudo make install

【3】必要的检查

node --version

2 安装和使用node-coap

【1】新建一个工作目录

mkdir hello-coap

【2】进入该目录安装node-coap

npm install node-coap --save
请注意windows中安装node-coap稍有差异,详见——CoAP学习笔记——nodeJS node-coap安装和使用(windows平台)

3 简单的例子

3.1 服务器代码

const coap    = require('coap') 
    , server  = coap.createServer()

server.on('request', function(req, res) {
      res.end('Hello ' + req.url.split('/')[1] + '\n')
})

server.listen(function() {
      console.log('server started')
})


【说明】

服务器的工程也非常简单,res.end('Hello ' + req.url.split('/')[1] + '\n')从该句程序可以看出,如果请求URL为<Server IP>/<Name>,那么服务器返回Hello <Name>

【后台运行】

node server.js &

【若需要关闭服务器进程】

# 查看 server.js的PID

ps aux | grep server.js

# 杀死进程

kill <pid>

3.2 客户端测试

const coap  = require('coap') 
    , req   = coap.request('coap://localhost/xukai871105')

req.on('response', function(res) {
  res.pipe(process.stdout)
})

req.end()


【说明】

请求的URL为coap://localhost/xukai871105,请注意此处为URL开头为coap而不是http

【运行】

node client.js

【返回】

Hello xukai871105

3.3 浏览器测试
浏览器测试更直观一些,需要在FireFox浏览器中安装CoAP插件。

【1】在浏览器地址栏输入coap://localhost/xukai871105

【2】点击工具栏中的GET

【3】payload一栏中输出Hello xukai871105



图1 浏览器测试



3.4 命令测试

除了使用浏览器和客户端工具测试之外,还可以同时coap命令行测试,这种基于nodeJS的命令行工具和curl工具类似。在使用coap命令行工具之前,需要正确安装coap-cli。

【安装】

(sudo) npm install coap-cli -g

【测试】

coap get coap://localhost/xukai871105

【返回】

(2.05) Hello xukai871105

(2.05)可理解为HTTP中的200 OK。coap的更多指令请阅读参考资料【2】



4 参考资料

【1】node-coap代码仓库

【2】coap-cli coap命令行工具
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: