HTTP、CoAP推送消息
针对一些下位机或特殊应用场景中无法使用MQTT客户端情况可使用此功能通过HTTP或CoAP协议推送消息到Coolpy7内核进行消息发布。v7.3.2.6开始支持本功能。
Last updated
针对一些下位机或特殊应用场景中无法使用MQTT客户端情况可使用此功能通过HTTP或CoAP协议推送消息到Coolpy7内核进行消息发布。v7.3.2.6开始支持本功能。
Last updated
通过POST方法调用接口
通过Header中添加Basic Auth信息进行用户名、密码提交(与MQTT连接的UserName,PassWord保持一致
通过URL中的Query参数设置MQTT消息参数
Coolpy7节点收到请求后保持与原用户身份验证功能调用扩展服务进行用户身份验证,验证成功后消息将发布到MQTT网络中
Basic Auth算法, 以半角":"号组合用户名和密码,然后进行Base64进行编码放到http的header中,header 键为Authorization,值以Basic加一个空格为前缀, 然后并上用户名密码的base64值
例如:Basic amFjb2I6cGFzcw==
从7.3.2.9版本开始支持使用JWT进行身分验证,通过配置相关启动参数后,同相关方式可使用JWT为 Basic +jwtToken,测试代码:https://github.com/Coolpy7/coolpy7_benchmark/blob/master/test_http_publish/cp7_http_pub_jwt.go
例如:Basic eyJhbGciOiJIUzI1NiJ9.e30.k1PZfshORXyxbck0bv95juNEBvbPNd2L47bqVsy4ix8
CURL使用示例
性能测试 (WRK压测)
post.lua压测提交测试内容
从7.3.2.9版本开始支持使用JWT进行身分验证,通过配置相关启动参数后,同相关方式可使用JWT为 Basic +jwtToken,测试代码:https://github.com/Coolpy7/coolpy7_benchmark/blob/master/test_coap_publish/cp7_coap_pub_jwt.go
例如:Basic eyJhbGciOiJIUzI1NiJ9.e30.k1PZfshORXyxbck0bv95juNEBvbPNd2L47bqVsy4ix8
通过SetOption的LocationQuery参数设为Basic Auth身份验证信息
通过SetOption的URIQuery参数设置publish参数
消息示例
压力测试源代码:https://github.com/Coolpy7/coolpy7_benchmark/blob/master/test_coap_publish/coap_bench_pub_test.go
性能指标(单个客户端)