Linux环境下coap协议安装与测试

最近在接触coap协议,一个专门用于受限设备上的物联网协议,于是下载了其源码,欲在linux下安装。又因编程语言繁多,所以就暂且尝试python和nodejs


python源码下载

在README.md文件中,安装方法已经介绍得很好了,不过在执行到sudo pip install dist/CoAPthon-2.0.0.tar.gz -r requirements.txt时,提示缺少Python.h头文件,于是便知开发包没有安,所以安装python2.7-dev

默认情况下,相关可执行文件和coap python库都安在了/usr/local目录下,比如bin下的coapserver.py,coapclient.py

python简单测试

在终端直接执行coapserver.py:

技术分享


在另一终端执行coapclient.py:

技术分享


此时在服务端有如下输出:

技术分享


很显然,服务端收到了客户的请求,皆有相关输出。由于目前只是测试,对相关API不熟悉,所以只能目测结果即可。

如若用浏览器作客户端,即输入域名后,点击GET命令,在Incoming下即有输出,如下图所示:

技术分享


js源码下载

下载完后,文件夹名为node-coap,执行命令:

sudo npm install node-coap --save

即可看到有一大堆东西输出,用npm ls(要在npm install时的目录下执行)命令可检验已经安装

js简单测试

1、进入node-coap/examples目录,修改server.js

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')
})

修改client.js

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

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

req.end()

2、执行

服务端:nodejs server.js &(后台运行)

客户端:nodejs client.js

技术分享


firefox浏览器测试(需安装copper插件,火狐官方下,如果没有自带)

技术分享


即客户端向服务端发送请求后,服务端回送Hello cshi


我们也可以用命令行工具来进行client模拟。下载node-cli

sudo npm install node-cli -g(一定要加-g)

结果在/usr/local的bin和lib/node_modules生成了相关文件,如可执行文件coap

执行:coap get coap://localhost/cshi


以上两个都安装完了,npm ls显示如下:

技术分享


参考链接

npm install用法:http://blog.csdn.net/haidaochen/article/details/8546796

node-coap教程:http://blog.csdn.net/xukai871105/article/details/39213061

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。