NB-IoT 之 CoAP 开源 libcoap 服务器客户端的安装使用 | 学习笔记

简介: 快速学习 NB-IoT 之 CoAP 开源 libcoap 服务器客户端的安装使用

开发者学堂课程【嵌入式之 RFID 开发与应用2020版:NB-IoT 之 CoAP 开源 libcoap 服务器客户端的安装使用】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/665/detail/11197


NB-IoT 之 CoAP 开源 libcoap 服务器客户端的安装使用

内容介绍:

一、Libcoap 安装方法

二、Libcoap 安装过程

三、简单方法补充

 

一、安装方法

讲完 CoAP 协议之后,相信大家肯定是希望能不能够去安装一个 CoAP 的一个客户端或者服务器来体验一下这个协议到底是怎么用的、魅力是怎么样。PPT 里面没有专门讲协议站的安装,这里补充一些内容:
首先到 github 里面去搜,其中 CoAP 的开源软件有很多:比如说马上要使用到的 libcoap ,还有 coapthonPepsi ,后面还会用到的 coopper ,即基于 JS 去做的;还有 icoap 、ecoap 等诸如此类,就简单了解一下,不是每个都需要去熟悉。看一下几个典型示例。

到 github 搜 libcoap ,回车。发现是 RFC 7252。在 PPT 里面讲协议时候就讲过,下方其他这些都不是,不要点错了。点进 RFC 7252,直接去克隆,也可以打包下来。这部分已经提前完成克隆,也安装完毕。

图片8.png

 

二、安装过程:

1.从 github.com 找到 libcoap 源码,克隆下载下来。

2.编译;配置生成 configure 。编译非常简单,这个地方就不进行操作演示。配置其实就是这里面有一个 comfigure 文件。comfigure 的这个版本的并不是一开始就有的,需要执行一个脚本:./autogen.

3.执行 comfigure。配置后面的这个参数并不是必须的,如果后面假设有一些模块确实是编译的时候,提示没有或者提示缺少,他让执行速度 IP get indoor 回去安装一下。如果不安装的话,它会缺失一些东西。所以说这个后面的参数主要是两个方面,一个是安装路径, --prefix=/xx/yy/ 安装路径;另外一个是把那些不用的这些包禁止掉。除此之外的其他的没有必要。

4.make;make install 。之后,在这个目录下查看编译的这个结果。生成的库和命令都在这里,命令呢就这样几个:一个是 CoAP 的服务器,一个是 CoAP 客户端。获取到后就可以运行了。

图片9.png


三、简单安装方法补充

需要到另外一个网站 sourceforge.net/projects。

1. 在网站中搜索一下 libcoap ,在下面找到 libcoap  ,然后直接点 Download 下载。

图片10.png

这个下载的包的编译方法,跟刚才在 github 上的那个编译方法还不太一样,这个更简单一些,下载稍微有点慢。已经提前下了一个,会提供给大家。在相关资料- coap 里。取消掉正在下载的内容,,因为已经下过了, libcoap-4.1.1.tar 的这个版本。其实版本都一样,把它拷到虚拟机里面去。因为一般用的是克隆的,可以直接解压。解压完成之后,直接进到这个 libcoap-4.1.1 里面。进去之后就非常简单了:里面直接就有 configure ,所以直接配置,直接执行就可以了。这个就很简单,可以直接配置, buid 不需要,out 脚本也不需要执行。配置完后直接 make 。Make 完之后很简单,它生成的这些东西就不需要安装了,因为我已经安装了一个,就可以直接去启动终端和客户端来进行测试。

图片11.png

2.测试,自测。

这里有一个比较尴尬的问题:怎么进行测试。因为它既有客户端也有服务的,所以可以进行自测首先点 coap-sever ,让服务器运行起来,然后就可以跟服务器获取一些内容,比如 -m 是 get put。因为它是跟我们的 MQTT 是同属应用,所以要写 coap://192.168.1.13。就相当于请求了这个 server 里面默认的一个文件。包括在请求的时候提示的版本,和请求方式、talking 的长度,以及消息 ID 等。

除此以外,还有另外一种方法,下节课进行介绍,是使用 js,通过浏览器的方式去访问这个服务器的方法。

相关文章
|
1月前
|
网络协议 JavaScript 前端开发
WebSocket:实现客户端与服务器实时通信的技术
WebSocket:实现客户端与服务器实时通信的技术
|
26天前
|
测试技术 PyTorch 算法框架/工具
魔搭开源推理引擎 DashInfer,助力CPU服务器解锁大模型超强推理
ModelScope推出了预训练大语言模型(LLM)推理引擎DashInfer,采用C++ Runtime编写,提供C++和Python语言接口,具有生产级别的高性能表现,适用于多种CPU架构,包括x86和ARMv9。DashInfer支持连续批处理(Continuous Batching)和多NUMA推理(NUMA-Aware),能够充分利用服务器级CPU的算力,为推理14B及以下的LLM模型提供更多的硬件选择。该项工作已开源。
|
26天前
|
存储 弹性计算 固态存储
*PolarDB-PG开源版本 基于ECS+ESSD云盘共享存储的部署测评**
PolarDB-PG在阿里云ECS与ESSD云盘的组合下展现优秀性能,简化部署流程,提供高并发写入时低延迟稳定性。ESSD的高性能IOPS和读取速度优化了数据库表现,只读节点实现近乎实时数据访问。分布式部署保证高可用性,即使面对故障也能快速切换。尽管ESSD初期成本较高,但长期看能降低总体拥有成本,尤其适合高并发、大数据量场景。此解决方案平衡了性能、可用性和成本,是企业级应用的理想选择。
|
28天前
|
移动开发 iOS开发 Perl
iOS客户端和h5页面的互相调用,服务器和客户端间通信方式
iOS客户端和h5页面的互相调用,服务器和客户端间通信方式
25 0
|
29天前
|
网络协议 Python
在python中利用TCP协议编写简单网络通信程序,要求服务器端和客户端进行信息互传。 - 蓝易云
在这个示例中,服务器端创建一个socket并监听本地的12345端口。当客户端连接后,服务器发送一条欢迎消息,然后关闭连接。客户端创建一个socket,连接到服务器,接收消息,然后关闭连接。
74 0
|
1月前
|
网络协议
Socket实现服务器和客户端(手把手教会)
Socket实现服务器和客户端(手把手教会)
|
1月前
|
网络协议 Dubbo Java
【网络编程】理解客户端和服务器并使用Java提供的api实现回显服务器
【网络编程】理解客户端和服务器并使用Java提供的api实现回显服务器
17 0
|
1月前
|
JavaScript 前端开发 搜索推荐
Vue 的服务器端渲染(SSR)和客户端渲染(CSR)在渲染过程、性能、用户体验等方面都存在显著的区别
【5月更文挑战第8天】Vue 的 SSR 和 CSR 在渲染上有明显差异。SSR 服务器端生成 HTML 返回给浏览器,提供更快首屏加载和更好的 SEO,但增加服务器负担。CSR 客户端渲染,首次加载可能较慢,但交互更流畅,开发更简单。两者各有优劣,需根据项目需求权衡选择。
25 2
|
1月前
|
Apache 项目管理 数据安全/隐私保护
Windows安装TortoiseSVN客户端结合Cpolar实现公网提交文件到本地服务器
Windows安装TortoiseSVN客户端结合Cpolar实现公网提交文件到本地服务器
|
1月前
|
Apache 项目管理 数据安全/隐私保护
TortoiseSVN客户端如何安装配置并实现公网访问服务端提交文件到本地服务器
TortoiseSVN客户端如何安装配置并实现公网访问服务端提交文件到本地服务器