凯亚IOT平台在线测试MQTT接入设备
一、概述
凯亚 (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
}
}
测试结果

设备日志

属性上报

事件上报

凯亚IOT平台在线测试MQTT接入设备的更多相关文章
- .Net Core下使用MQTT协议直连IoT平台
[摘要] .Net平台通过原生MQTT接口,作为南向设备对接OceanConnect平台 因为种种历史原因吧,目前华为平台上对.net的支持案例SDK确实比较少,当看到各种语言的SDK和Demo,唯独 ...
- 聊聊如何在华为云IoT平台进行产品开发
摘要:华为云物联网平台承载着南北向数据互通的功能职责. 本文分享自华为云社区<如何基于华为云IoT物联网平台进行产品开发>,作者: Super.雯 . 华为云物联网平台承载着南北向数据互通 ...
- 通过阿里云的IOT平台控制ESP8266
通过阿里云的IOT平台控制ESP8266 #include <ESP8266WiFi.h> /* 依赖 PubSubClient 2.4.0 */ #include <PubSubC ...
- iot平台异构对接文档
iot平台异构对接文档 准备工作 平台提供的XAgent开发指南.pdf demo程序xagent-ptp-demo 平台上添加产品得到产品id和key 部署时需要插件的基础程序<xlink-x ...
- IoT协议LwM2M MQTT与CoAP
IoT协议LwM2M MQTT与CoAP 一.MQTT 1.概述: MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议, ...
- iot平台
iot平台 iot平台卓岚云是一个免费的物联网云平台,用户只需按步骤完成注册即可免费使用卓岚云 .支持PC.Android.iOS多平台终端.用户可以在任何地方远程访问任何地方的串口设备,并对远程设备 ...
- 学习STM32F769DK-OTA例程之百度云平台建立MQTT服务器
@2019-04-17 [小记] 百度云平台建立MQTT服务器时需要设置权限组,否则连接失败
- 阿里云 IOT 对接设备开发 C# 开发设备对接阿里云 IOT平台
一,创建阿里云 IOT 产品.设备 目前阿里云每月赠送 100 万条流量,可以免费使用基础版.高级版,开通后即可免费使用. 阿里云 IOT 平台地址 https://iot.console.aliyu ...
- 玩转OneNET物联网平台之MQTT服务④ —— 远程控制LED(设备自注册)+ Android App控制
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- 玩转OneNET物联网平台之MQTT服务③ —— 远程控制LED(设备自注册)
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
随机推荐
- 将VSCode设置为中文(汉化)
1.VSCode安装好后默认语言为英文,此汉化过程的VSCode版本为1.42.1,如下图所示: 2.下载安装完成后,打开VSCode,使用快捷键Ctrl+Shift+P,然后在出现的输入框中输入co ...
- 从 Windows Forms 到微服务的经验教训
Photo by Dan Counsell on Unsplash 如果说软件开发中有什么不变的东西,那就是变化. 在 .NET 生态系统中摸爬滚打的这二十年里,我见证了各种框架的起起落落,目睹了容器 ...
- 发那科FANUC机器人A06B-0652-B212电机维修基本流程
发那科FANUC机器人以其卓越的性能和可靠性赢得了广泛的认可.然而,就像其他任何机械设备一样,长时间的运行和复杂的工作环境都可能使伺服电机面临维修的需求.为了确保您的发那科FANUC机器人A06B-0 ...
- Markdown 语法深度详解与实战演示
一.引言 在当今数字化的时代,高效地处理和呈现文本信息变得至关重要.Markdown 作为一种轻量级标记语言,因其简洁.易读.易写的特点,受到了广大开发者.写作者和内容创作者的喜爱.无论您是撰写博客. ...
- Memcached深度剖析:解锁高性能分布式内存缓存的秘密
引言 在当今快节奏的互联网世界中,应用程序的响应速度往往是用户体验的关键.为了提升性能,减轻数据库的压力,Memcached作为一种高性能的分布式内存对象缓存系统,被广泛应用于加速动态Web应用程序. ...
- 大数据之路Week10_day07 (JavaAPI 操作Redis 模拟将redis当作缓存,从Mysql数据库中查询数据)
在现实生活中,当很多人去访问一个数据的时候,Mysql会很慢,甚至会挂掉,如果这里之间存在一个缓存的话,直接从内存中查询数据将会快很多. 这里就去模拟将redis看作是一个缓存,因为redis就是基于 ...
- 面试题32 - II. 从上到下打印二叉树 II
地址:https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu-ii-lcof/ <?php /** 面试题32 ...
- VUE-CLI 创建VUE3项目
前言 第一篇当然是如何安装vue3 安装步骤 第一步安装vue-cli npm install -g @vue/cli // vue --version 第二步创建项目 vue create hell ...
- 【问题解决】Jenkins使用File的exists()方法判断文件存在,一直提示不存在的问题
小剧场 最近为了给项目组提供一个能给Java程序替换前端.后端的增量的流水线,继续写上了声明式流水线. 替换增量是根据JSON配置文件去增量目录里去取再替换到对应位置的,替换前需要判断增量文件是否存在 ...
- linux shell用expect实现在scp时自动输入密码
文章目录 linux shell用expect自动输入密码 按行读取文件 expect 其他 linux shell用expect自动输入密码 最近有东西需要部署到很多服务器上去,一个服务器一个服务器 ...