使用MQTTBox连接MindSphere IoT Extention
==静态模板==
https://cumulocity.com/guides/device-sdk/mqtt/#mqtt-static-templates
==创建连接==
打开MQTTBox,在Client创建界面中输入相应信息:
【MQTT Client Name】Client识别名
【MQTT Client Id】可使用 “Generate a random ID” 按钮或者自行输入。此ID会成为平台上此网关的ID名称(MQTT ClientId是一个字段,用于唯一标识每个连接的客户端。Cumulocity IoT还使用ClientId将客户端直接链接到设备。一个好的设备标识符可以是网络适配器的MAC地址,移动设备的IMEI或硬件序列号。)
【Protocol】选择mqtt/tcp
【Host】Tenant的URL地址:{TenantName}.mciotextension.cn1.mindsphere-in.cn:1883
【Username】:{TenantName}/{MailAddress}, 例如:cnsocdev/san.zhang@163.com
【Password】登录IoT Extension的密码
其他选项可直接使用默认,点击Save保存。显示Connected,则表示与平台连接成功。如下图所示:
==创建设备==
在Topic to publish中输入s/us,使用此topic发送数据至平台侧。
创建设备,发送100模版消息(100,myDevice,myType),点击发送。如:
1 | 100,QchDevice0403,qchtype |
点击Publish发送。
这样就可以去MindSphere IoT Extention上可以看到注册的设备了。
可以点进进去查看设备信息:
==设置硬件信息==
使用消息模版110(110,serialNumber,model,revision),同样是用s/us topic 发送:
110,202004031044000,DView500边缘控制器,1.0.0
再次查看设备信息,可以看到通过消息模板发送的硬件信息了:
==设置网关设备要求间隔时间==
使用消息模板117(117,requireIntervalInSeconds)
117,60
之后在IoT Extension的设备界面中,及会显示此信息,并且设备状态更新为“在线”
==发送模拟数据==
使用消息模版211(发送温度测量值 211,temperatureValue,timestamp)
之后在此网关页面的“测量”上即可看到此上传数据值
==上传自定义属性==
使用消息模版200。如:
200,QchMeasurement,AR_TEST_VAR1,100,度,
200,QchMeasurement,AR_TEST_VAR2,101,度,
200,QchMeasurement,AR_TEST_VAR3,101,度,
在测量上查看发送的自定义变量。
也可以在payload里写批量的静态模板。如:
200,QchMeasurement,AR_TEST_VAR4,101,度, 200,QchMeasurement,AR_TEST_VAR5,102,度, 200,QchMeasurement,AR_TEST_VAR6,103,度,
在页面上查看结果:
==反向控制(向设备发送控制命令)==
1)网关需接受从云端发送的消息,则需要订阅Topic s/ds。
点击“Subscribe”订阅。
2)向云端申明,支持的下发操作类型。
使用消息模版114
114,c8y_Command,c8y_Restart,c8y_Configuration,c8y_SoftwareList
3)返回设备界面,到“控制”页面中,点击“重新启动设备”。
如果不发送上面的那条申报命令,是看不到“重新启动设备”的按钮的。
在MQTT Box订阅的消息中,则会收到此重启命令,消息模版510
4)使用IoT Extension的API调取实现反向控制操作,下发到设备。
使用Postman工具,调取API:
【url】https://{TenantName}.mciotextension.cn1.mindsphere-in.cn/devicecontrol/operations/
【authorization】使用BasicAuth认证,用户名密码均为登录IoT Extension时所使用的。
【body】使用JSON格式(其中deviceId可以去页面上去找)
{ "deviceId" : "17910", "c8y_Command": { "text": "Machine_Stop" } }
点击send之后,在MQTT Box上订阅的信息会显示此命令:
可在设备的控制页上查看到此使用API调取发送的控制命令:
--END--
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)