29087| 21
|
[教程] MQTT之OneNet物联网通信 |
本帖最后由 ZeroQin 于 2021-6-28 10:45 编辑 之前介绍了掌控MQTT与Easy IoT平台的联合使用,这里介绍下MQTT与OneNet物联网的简单通信。OneNet平台和Easy IoT之间最大的不同在于它可以支持多个设备同时订阅。也就是说,可以用一个掌控板来控制其他的掌控板。我这里仅用了两块掌控板来进行通信。 用前须知 OneNet平台新增了新版的物联网接入协议,以下教程仅支持旧版协议。因此,如果要使用Mind+和OneNet连接,用户必须使用旧版协议创建产品。 mqtt在onenet平台的实现:OneNet灯光控制 进入OneNet云平台注册登录自己的账号,登录之后进入开发者中心,在左上角的“全部产品-基础服务”中选择“多协议接入”。 进入页面后,切换到“HTTP”协议页面下,点击“添加产品” 填写完产品信息,点击“确定”之后,可以看到我们的产品创建完成。 接下来,我们进入Test这个产品里,可看到一些产品信息。 我们再给这个产品添加设备 进入添加设备界面 我们给这个产品添加一个pub和sub设备 我们进入设备查看,给设备添加APIKey。 到这,云平台创建设备就完成了。 接着,我们把设备联网后与云平台的设备连接上。使用两个掌控板,一个用来发送消息给topic0,一个用来接收topic0的消息。 初始化MQTT参数(ONENET的设备的TOPIC是用户自己定义的) 各个参数: 产品ID APIKEY和设备ID 编写程序 [size=12.0000pt](1)发送端:掌控1连接pub设备 使用pub的参数 [size=12.0000pt](2)接收端:掌控2连接sub设备,这里的Topic_0必须定义成和发送端相同的topic——t0,并且使用扩展板,在P1引脚连接一个LED。 使用sub的参数 (3)开始通信:将发送端的程序上传的掌控1,接收端的程序上传到掌控2。上传成功后,按下掌控1的A键,掌控2连接的LED点亮;按下掌控1的B键,掌控2连接的LED熄灭。 同时,在OneNet平台可以看到设备处于在线的状态 在此通信基础上进行改动,甚至可以实现多块掌控板互联,这一部分就要各位看官自行探索了。 |
Forgotten 发表于 2019-11-1 16:12 设备名称和设备编号都是自定义的,我使用sub和pub只是为了表示这两个设备分别作为发布端和订阅端(publish subscribe),便于自己理解。 OneNet在升级之前,添加APIKey都是平台自动生成的默认Master-APIKey,拥有对所有设备的访问控制权限,我文章中使用的也是这种APIKey。现在升级后的OneNet,添加APIKey会让用户自己设置,按照平台要求的格式设置就好,会默认关联当前设备,提交添加的APIKey后,平台回对数据进行处理,并不是显示设定的APIKey的原格式,但是应该不影响使用,这种新方式我最近几天找个时间研究一下,更新到文章中。 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed