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

 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命令行工具

时间: 2024-10-10 11:34:38

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

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

0 前言 本文尝试在windows平台中搭建基于nodeJS的CoAP Server. linux平台搭建和使用过程可参考--CoAP学习笔记--nodeJS node-coap安装和使用(Linux平台) [测试环境]--windows [相关博文] [CoAP协议学习--CoAP基础] [CoAP学习笔记--CoAP资源发现] [CoAP学习笔记--服务器端繁忙时的处理请求流程] [树莓派学习笔记--webiopi安装与入门]webiopi中集成了CoAP Server,可以方便地通过CoA

CoAP学习笔记——nodeJS node-coap返回JSON数据包

0 前言 本文说明如何使用node-coap返回JSON数据包.CoAP是专门为物联网系统开发的面向网络的应用层协议栈,CoAP建立在UDP协议之上尽可能减少网络开销,又具有HTTP Restful类型的特性.node-coap使用nodejs实现了coap的客户端和服务器端. [测试环境]--ubuntu/Linux [相关博文] [CoAP协议文档--The Constrained Application Protocol (CoAP)] [CoAP协议学习--CoAP基础] [CoAP学习

CoAP学习笔记——Libcoap安装和使用

0.CoAP和libcoap CoAP是一种面向网络的协议,采用了与HTTP类似的特征,核心内容为资源抽象.REST交互以及可扩展的头选项等. 为了克服HTTP对于受限环境的劣势,CoAP既考虑到数据报长度的最优化,又考虑到提供可靠通信.一方面,CoAP提供URI,REST 式的方法如GET,POST,PUT和DELETE,以及可以独立定义的头选项以提高可扩展性.另一方面,CoAP基于UDP协议,为了弥补UDP传输的不可靠性,CoAP定义了带有重传机制的事务处理机制. libcoap是CoAP协

CoAP学习笔记——STM32平台上实现CoAP Server

0.前言 CoAP是受限制的应用协议(Constrained Application Protocol)的代名词.在当前由PC机组成的世界,信息交换是通过TCP和应用层协议HTTP实现的.但是对于小型设备而言,实现TCP和HTTP协议显然是一个过分的要求.为了让小设备可以接入互联网,CoAP协议被设计出来.CoAP是一种应用层协议,它运行于UDP协议之上而不是像HTTP那样运行于TCP之上.CoAP协议非常小巧,最小的数据包仅为4字节. 本文将使用STM32平台实现一个CoAP Server D

hadoop学习笔记——基础知识及安装

1.核心 HDFS  分布式文件系统    主从结构,一个namenoe和多个datanode, 分别对应独立的物理机器 1) NameNode是主服务器,管理文件系统的命名空间和客户端对文件的访问操作.NameNode执行文件系统的命名空间操作,比如打开关闭重命名文件或者目录等,它也负责数据块到具体DataNode的映射 2)集群中的DataNode管理存储的数据.负责处理文件系统客户端的文件读写请求,并在NameNode的统一调度下进行数据块的创建删除和复制工作. 3)NameNode是所有

马哥学习笔记七——LAMP编译安装之MYSQL

1.准备数据存放的文件系统 新建一个逻辑卷,并将其挂载至特定目录即可.这里不再给出过程. 这里假设其逻辑卷的挂载目录为/mydata,而后需要创建/mydata/data目录做为mysql数据的存放目录. 2.新建用户以安全方式运行进程: # groupadd -r mysql # useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql # chown -R mysql:mysql /mydata/data 3.安装并初始化my

MongoDB学习笔记(一:安装时出现The default storage engine &#39;wiredTiger&#39; is not available问题解决)

今晚在自己老式笔记本来试了一下MongoDB的安装,由于配置比较低,只能选择32位版本的MongoDB进行安装,在安装过程中碰到了上述标题所示错误,自己也捣鼓了一个小时左右,终于在一篇博客中找到答案,具体原文链接如下:http://blog.csdn.net/u013457382/article/details/50775268 MongoDB学习笔记(一:安装时出现The default storage engine 'wiredTiger' is not available问题解决)

Sharepoint商务智能学习笔记之PowerPviot Service安装与配置(七)

1) PowerPviot Service多服务器部署注意事项 PowerPviot Service不是Sharepoint自带的服务,要想使用PowerPviot Service需要先在sharepoint场中部署PowerPivot for SharePoint.详情请参考在 SharePoint 场中规划 PowerPivot 部署. 如果sharepoint场是多服务器场,可以将PowerPivot for SharePoint以扩展方式部署到多个应用程序服务器上.对于 PowerPiv

马哥学习笔记八——LAMP编译安装之PHP及xcache

1.解决依赖关系: 请配置好yum源(可以是本地系统光盘)后执行如下命令: # yum -y groupinstall "X Software Development" 如果想让编译的php支持mcrypt扩展,此处还需要下载如下两个rpm包并安装之: libmcrypt-2.5.7-5.el5.i386.rpm libmcrypt-devel-2.5.7-5.el5.i386.rpm 2.编译安装php-5.4.13 首先下载源码包至本地目录. # tar xf php-5.4.13