一、概述

凯亚 (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)

secureIdsecureId在 设备实例信息-》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接入设备的更多相关文章

  1. .Net Core下使用MQTT协议直连IoT平台

    [摘要] .Net平台通过原生MQTT接口,作为南向设备对接OceanConnect平台 因为种种历史原因吧,目前华为平台上对.net的支持案例SDK确实比较少,当看到各种语言的SDK和Demo,唯独 ...

  2. 聊聊如何在华为云IoT平台进行产品开发

    摘要:华为云物联网平台承载着南北向数据互通的功能职责. 本文分享自华为云社区<如何基于华为云IoT物联网平台进行产品开发>,作者: Super.雯 . 华为云物联网平台承载着南北向数据互通 ...

  3. 通过阿里云的IOT平台控制ESP8266

    通过阿里云的IOT平台控制ESP8266 #include <ESP8266WiFi.h> /* 依赖 PubSubClient 2.4.0 */ #include <PubSubC ...

  4. iot平台异构对接文档

    iot平台异构对接文档 准备工作 平台提供的XAgent开发指南.pdf demo程序xagent-ptp-demo 平台上添加产品得到产品id和key 部署时需要插件的基础程序<xlink-x ...

  5. IoT协议LwM2M MQTT与CoAP

    IoT协议LwM2M MQTT与CoAP 一.MQTT 1.概述: MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议, ...

  6. iot平台

    iot平台 iot平台卓岚云是一个免费的物联网云平台,用户只需按步骤完成注册即可免费使用卓岚云 .支持PC.Android.iOS多平台终端.用户可以在任何地方远程访问任何地方的串口设备,并对远程设备 ...

  7. 学习STM32F769DK-OTA例程之百度云平台建立MQTT服务器

    @2019-04-17 [小记] 百度云平台建立MQTT服务器时需要设置权限组,否则连接失败

  8. 阿里云 IOT 对接设备开发 C# 开发设备对接阿里云 IOT平台

    一,创建阿里云 IOT 产品.设备 目前阿里云每月赠送 100 万条流量,可以免费使用基础版.高级版,开通后即可免费使用. 阿里云 IOT 平台地址 https://iot.console.aliyu ...

  9. 玩转OneNET物联网平台之MQTT服务④ —— 远程控制LED(设备自注册)+ Android App控制

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  10. 玩转OneNET物联网平台之MQTT服务③ —— 远程控制LED(设备自注册)

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

随机推荐

  1. 卸载CentOS7自带的jdk

    卸载CentOS7自带的jdk 问题描述 在安装完centOS 7虚拟机后,执行 java -version,发现系统自带jdk8.因为我想使用jdk11,安装并配置环境变量后,环境变量仍显示为jdk ...

  2. Kali 安装并配置 Nessus

    Kali 安装并配置 Nessus 安装 Nessus 创建nessus文件夹 sudo mkdir /opt/nessus 下载 Nessus ( https://www.tenable.com/d ...

  3. 深入解析NoSQL数据库:从文档存储到图数据库的全场景实践

    title: 深入解析NoSQL数据库:从文档存储到图数据库的全场景实践 date: 2025/2/19 updated: 2025/2/19 author: cmdragon excerpt: 通过 ...

  4. VMware与宿主机文件夹共享的方法

    首先,在打开的虚拟机的主界面中点选我的电脑上的虚拟机系统,再点击右侧的编辑虚拟机设置. 然后,在弹出的虚拟机设置中点击"选项"标签栏目 点选在"选项"标签栏目中 ...

  5. CF2029C New Rating

    思路(二分 + 数据结构优化DP) 大致题意为:一个值 \(x\) 初始为 \(0\),然后有一个数组 \(a\),遍历一次数组. 如果 \(a_i > x\),则 \(x + 1\). 如果 ...

  6. npm淘宝镜像证书过期

    前言 使用 npm 报错: npm ERR! request to https://registry.npm.taobao.org/xxx failed, reason: certificate ha ...

  7. MySQL REPLACE INTO语句

    介绍 在向表中插入数据时,我们经常会:首先判断数据是否存在:如果不存在,则插入:如果存在,则更新. 但在 MySQL 中有更简单的方法,replace into(insert into 的增强版),当 ...

  8. Golang 入门 : 变量

    变量 Go语言是静态强类型语言,所以变量是有明确类型的.变量实质上就是在内存中的一小块空间,用来存储特定类型的可变数据.如果没有变量我们的程序只能将数值写死都是静态的数据,无法更改,变量可以让我们进行 ...

  9. Ansible创建逻辑卷

    环境: 受控主机清单文件: [dev] 192.168.10.129 [all:vars] ansible_ssh_user=root ansible_ssh_pass=123 磁盘: 受控主机需要存 ...

  10. 工作日记-storm集群业务崩溃和解决方案

    背景 昨天公司业务部门报告业务崩溃,查看各个业务节点后,定位问题到storm集群. 打开storm ui查看下任务状态,发现可以加载页面元素,但是无法加载数据,分析是nimbus挂掉了,重启nimbu ...