一、概述
凯亚 (Kayak)开通了MQTT端口425,以便给感兴趣的同僚进行测试,下面将在此篇文章讲解平台如何接入设备进行MQTT通信
凯亚 (Kayak) 是什么?
凯亚(Kayak)是基于.NET6.0软件环境下的surging微服务引擎进行开发的, 平台包含了微服务和物联网平台。支持异步和响应式编程开发,功能包含了物模型,设备,产品,网络组件的统一管理和微服务平台下的注册中心,服务路由,模块,中间服务等管理。还有多协议适配(TCP,MQTT,UDP,CoAP,HTTP,Grpc,websocket,rtmp,httpflv,webservice,等),通过灵活多样的配置适配能够接入不同厂家不同协议等设备。并且通过设备告警,消息通知,数据可视化等功能。能够让你能快速建立起微服务物联网平台系统。
凯亚物联网平台:http://117.72.121.2:3100(用户名:fanly 密码:123456)
链路跟踪Skywalking V8:http://117.72.121.2:8080/
surging 微服务引擎开源地址:https://github.com/fanliang11/surging(后面surging 会移动到microsurging进行维护)
二、工具下载和使用
下载
如果没有设备,可以通过以下链接下载Mqttclient 测试工具。
链接: https://pan.baidu.com/s/1lf6DsAuF8BDCor0F3kUukg?pwd=tisp 提取码: tisp 复制这段内容后打开百度网盘手机App,操作更方便哦
设备连接服务器如何配置
可以通过以下配置参数进行配置:
服务器IP:117.72.121.2
端口:425
用户名:secureId+"|"+timestamp
密码:md5(secureId+"|"+timestamp+"|"+secureKey)
secureId和secureId在 设备实例信息-》MQTT认证配置

timestamp可以在线生成个时间戳,比如通过这个链接进行生成:http://www.daokeyou.top/
md5密码生成可以通过这个链接进行生成:https://www.jyshare.com/crypto/md5/
效果如下:

设备订阅如何配置
可以通过以下配置参数进行配置:
用户ID:设备标识
订阅主题:可以订阅多个主题,以产品接入说明为主
如: 事件上报(/*/event/*),属性上报(/*/properties/report)
效果如下图

大家可以通过已有设备DJI-Mavic-v332x12,yuneec-v3ghr,Ehang-4g33f进行测试,也可以创建基于MQTT网关的产品设备接入。
三、产品
可以在产品中配置设备接入

四、设备
配置MQTT认证配置

五、测试
通过MQTT客户端工具事件上报,
发布主题:/game-123/DJI-Mavic-v332x12/event/locate(/{产品编码}/{设备编码}/event/事件标识)
发布内容:
"Data":{
"deviceId":"DJI-Mavic-v231x12",
"level":"alarm",
"alarmTime":"2024-11-07 19:47:00",
"from":"device",
"alarmType":"设备告警",
"coordinate":"33.345,566.33",
"createTime":"2025-04-27 19:47:00",
"desc":"指标超过阈值"
}
}
通过MQTT客户端工具属性上报,
发布主题:/game-123/DJI-Mavic-v332x12/properties/report(/{产品编码}/{设备编码}/properties/report)
发布内容:
{
"Properties":{
"temp":1.5,
"Lat":335.344,
"lon":234.566
}
}
效果如下图

通过HTTP 事件上报,
URL:http://117.72.121.2:281/Device/MQTTDeviceData/Publish
Header: Authorization , (平台登录后用开发者工具获取请求头Authorization)
Body:
{
"deviceId": "DJI-Mavic-v332x12",
"productCode":"game-123",
"message": {
"topic": "/game-123/DJI-Mavic-v332x12/event/locate",
"message": "{\"Data\":{\"deviceId\":\"DJI-Mavic-v231x12\",\"level\":\"alarm\",\"alarmTime\":\"2024-11-07 19:47:00\",\"from\":\"device\",
\"alarmType\":\"设备告警\",
\"coordinate\":\"33.345,566.33\",
\"createTime\":\"2025-4-27 17:17:00\",
\"desc\":\"坐标超过阈值\"
}
}",
"willRetain": false,
"qos": 0
}
}
测试结果:

通过HTTP 属性上报,
URL:http://117.72.121.2:281/Device/MQTTDeviceData/Publish
Header: Authorization , (平台登录后用开发者工具获取请求头Authorization)
Body:
{
"deviceId": "DJI-Mavic-v332x12",
"productCode":"game-123",
"message": {
"topic": "/game-123/DJI-Mavic-v332x12/properties/report",
"message": "{\"Properties\":{\"temp\":12.5,\"Lat\":234.666,\"lon\":134.623}}",
"willRetain": false,
"qos": 0
}
}
测试结果

设备日志

属性上报

事件上报
