HTTP、CoAP推送消息

针对一些下位机或特殊应用场景中无法使用MQTT客户端情况可使用此功能通过HTTP或CoAP协议推送消息到Coolpy7内核进行消息发布。v7.3.2.6开始支持本功能。

架构

HTTP协议发布消息

  1. 通过POST方法调用接口

  2. 通过Header中添加Basic Auth信息进行用户名、密码提交(与MQTT连接的UserName,PassWord保持一致

  3. 通过URL中的Query参数设置MQTT消息参数

  4. Coolpy7节点收到请求后保持与原用户身份验证功能调用扩展服务进行用户身份验证,验证成功后消息将发布到MQTT网络中

Basic Auth算法, 以半角":"号组合用户名和密码,然后进行Base64进行编码放到http的header中,header 键为Authorization,值以Basic加一个空格为前缀, 然后并上用户名密码的base64值

例如:Basic amFjb2I6cGFzcw==

CURL使用示例

性能测试 (WRK压测)

post.lua压测提交测试内容

CoAP协议发布消息

  1. 通过SetOption的LocationQuery参数设为Basic Auth身份验证信息

  2. 通过SetOption的URIQuery参数设置publish参数

消息示例

压力测试源代码:https://github.com/Coolpy7/coolpy7_benchmark/blob/master/test_coap_publish/coap_bench_pub_test.go

性能指标(单个客户端)

Last updated

Was this helpful?