查看: 1091|回复: 7

[教程] MQTT之OneNet物联网通信

[复制链接]
本帖最后由 ZeroQin 于 2019-10-30 16:46 编辑

之前介绍了掌控MQTT与Easy IoT平台的联合使用,这里介绍下MQTT与OneNet物联网的简单通信。OneNet平台和Easy IoT之间最大的不同在于它可以支持多个设备同时订阅。也就是说,可以用一个掌控板来控制其他的掌控板。我这里仅用了两块掌控板来进行通信。

用前须知
OneNet平台新增了新版的物联网接入协议,以下教程仅支持旧版协议(Mind+暂未支持新版协议接入)。因此,如果要使用Mind+和OneNet连接,用户必须使用旧版协议创建产品。


mqtt在onenet平台的实现:OneNet灯光控制

进入OneNet云平台注册登录自己的账号,登录之后进入开发者中心,在左上角的“全部产品-基础服务”中选择“多协议接入”。

201910308322..png 201910301250..png

进入页面后,切换到“HTTP”协议页面下,点击“添加产品”
201910304727..png

截图201904291729344041.png
填写完产品信息,点击“确定”之后,可以看到我们的产品创建完成。
截图201904291719055445.png
接下来,我们进入Test这个产品里,可看到一些产品信息。
截图201904291720022355.png

我们再给这个产品添加设备

进入添加设备界面
截图201904291720401149.png

我们给这个产品添加一个pub和sub设备
截图201904291721223714.png
我们进入设备查看,给设备添加APIKey。
截图201904291721508114.png

到这,云平台创建设备就完成了。

接着,我们把设备联网后与云平台的设备连接上。使用两个掌控板,一个用来发送消息给topic0,一个用来接收topic0的消息。
初始化MQTT参数(ONENET的设备的TOPIC是用户自己定义的
截图201904261503553849.png
各个参数:
产品ID
截图201904291723039264.png
APIKEY和设备ID
截图201904291723431790.png

编写程序
[size=12.0000pt](1)发送端:掌控1连接pub设备
使用pub的参数
截图201904261505032789.png 截图201904291724154848.png
[size=12.0000pt](2)接收端:掌控2连接sub设备,这里的Topic_0必须定义成和发送端相同的topic——t0,并且使用扩展板,在P1引脚连接一个LED。
使用sub的参数
截图201904291724416213.png 截图201904291725052522.png
(3)开始通信:将发送端的程序上传的掌控1,接收端的程序上传到掌控2。上传成功后,按下掌控1的A键,掌控2连接的LED点亮;按下掌控1的B键,掌控2连接的LED熄灭。

同时,在OneNet平台可以看到设备处于在线的状态
截图201904291726235412.png 截图201904291726376129.png

在此通信基础上进行改动,甚至可以实现多块掌控板互联,这一部分就要各位看官自行探索了。

截图201904291720257496.png
截图201904291728597658.png
201910302124..png
201910303616..png

OneNet发送.rar

45.21 KB, 下载次数: 18, 下载积分: 创造力 -1

OneNet接收.rar

45.12 KB, 下载次数: 12, 下载积分: 创造力 -1

Forgotten  版主

发表于 2019-11-1 16:12:36

请问楼主添加设备的时候,设备名称和鉴权信息填写原则是什么?为什么要用sub和pub呢?
添加apiKey的原则又是什么?一定要用sub吗?
回复 支持 反对

使用道具 举报

ZeroQin  版主
 楼主|

发表于 2019-11-1 16:16:38

Forgotten 发表于 2019-11-1 16:12
请问楼主添加设备的时候,设备名称和鉴权信息填写原则是什么?为什么要用sub和pub呢?
添加apiKey的原则又 ...

设备名称和设备编号都是自定义的,随便写什么都可以。
sub和pub只是我定义的名称而已。
apiKey是平台生成的,我们只需要点击添加按钮即可。
回复 支持 反对

使用道具 举报

Forgotten  版主

发表于 2019-11-1 16:16:48

另外设备添加apiKey是两个设备都要添加吗?都是填sub还是一个填sub一个填pub呢?


回复 支持 反对

使用道具 举报

Forgotten  版主

发表于 2019-11-1 16:17:29

只能实现板和板的通信吗?可以实现网页或者手机控制板子吗?
回复 支持 反对

使用道具 举报

ZeroQin  版主
 楼主|

发表于 2019-11-1 16:22:58

Forgotten 发表于 2019-11-1 16:17
只能实现板和板的通信吗?可以实现网页或者手机控制板子吗?

OneNet官方有个“应用管理”,看样子是可以自己定义组件,然后监控信息流的,但是好像也没法直接控制板子。你可以研究下。
回复 支持 反对

使用道具 举报

Forgotten  版主

发表于 2019-11-1 16:37:53

ZeroQin 发表于 2019-11-1 16:22
OneNet官方有个“应用管理”,看样子是可以自己定义组件,然后监控信息流的,但是好像也没法直接控制板子 ...

我测试下来通过“设备列表”里面的“下发命令”是不能用的

回复 支持 反对

使用道具 举报

云天  初级技师

发表于 2019-11-5 15:49:17

图和图都不一样呀,协议一会儿是HTTP,一会是MQTT,怎么回事?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2019 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail