下面所有的内容我们都可以在OneNET云平台的文档中心查取到,
遇到问题是可以多去看看 ONENET物联网平台官方文档
链接: ONENET物联网平台
注:个人用户学习使用是免费的。
我们注册登录后点击进入右上角的“开发者中心”,然后进入“产品开发”,点击“创建产品”
然后就是填写相关参数了,大致如下图所示:
填写完成后,我们点击确定即可。
接下来就要创建物模型了。
物模型指的是将传感器、设备和系统中的数据整合在一起形成的虚拟模型,可以通过云平台进行管理、监控、控制和分析。
我们在产品开发界面,点击我们创建的“演示”产品的“产品开发选项”。
接着点击设置物模型。
会出现如下界面,我们点击添加自定义功能点。
我在这里创建如下三个功能点:
下一步就是创建设备了,我们返回设备开发界面,点击设备管理。
接下来就是添加设备,填写下设备名称,点击确定
这样我们就创建了一个具体的设备。
我们还可以通过点击“详情”,“属性”来查看我们所创建产品能传输的数据。
MQTT.fx是一款基于Eclipse Paho,使用Java语言编写的MQTT客户端工具。支持通过Topic订阅和发布消息,用来前期和物理云平台调试非常方便。
MQTT.fx的安装可以看这个博客mqtt.fx | 一款超级好用的Mqtt客户端软件(下载、安装、使用详解)
OneNET-token计算工具下载点这个
双击打开MQTT.fx客户端,
我们点击上图的小齿轮,设置配置文件
其中,服务器域名为:
mqtts.heclouds.com
端口号为1883
设置好上面的内容我们点击“User Credentials”,配置用户验证信息:
设备名称、产品ID在上面步骤1.5中我们可以得到。
密码就需要借助上面2.1提到的OneNET-token计算工具来生成了。
参数 | 描述 |
---|---|
res | products/dafdfadfafdaf/devices/che1 ,其中的dafdfadfafdaf需要替换为你自己的产品ID,che1 替换为你自己的设备名称 |
et | 访问过期时间。这里填一个Unix 时间戳,作用就是限制了这个密钥能连接到设备的时间范围(有效期),可以在链接: 时间戳转换自动生成一个 |
key | key指的是设备密钥,我们在前面1.5已经提及过了 |
填写完上面的相关信息,就可以点击Generate生成密码了,将生成的密码复制到MQTT.fx中,就完成了我们的配置文件。
配置文件生成好后,我们就可以点击Connect连接服务器了。
连接成功后我们可以看到上图右边有绿色指示灯,在ONENET平台,设备也显示在线了。
在发布消息之前,可以先订阅系统 topic 获取属性上报结果消息(即订阅下属性上报的反馈信息)
属性上报回复topic为:
$sys/{pid}/{device-name}/thing/property/post/reply
//{pid}:替换为自己的产品ID
//{device-name}:替换为自己的设备名称
按下图进行操作订阅系统 topic 获取属性上报结果消息
然后再设置属性上报的topic
$sys/{pid}/{device-name}/thing/property/post
//{pid}:替换为自己的产品ID
//{device-name}:替换为自己的设备名称
并上报信息。
按下图进行操作,
上报数据的编写,上报数据和我的物模型也是相互对应的(注意标识符)
{
"id": "123",
"version": "1.0",
"params": {
"temp": {
"value": 23
},
"humi": {
"value": 36
} ,
"led": {
"value": true
}
}
}
上报数据成功后,订阅的属性上报会返回success
我们在OneNET云平台上也可以看到我们发布的数据信息。
设备侧需要收到平台下发的数据,需要订阅:
$sys/{pid}/{device-name}/thing/property/set
//{pid}:替换为自己的产品ID
//{device-name}:替换为自己的设备名称
按上面订阅属性上报结果消息的步骤操作即可,
然后我们在云平台上下发信息
然后我们在MQTT.fx上就可以看到平台下发的信息了。