在UIFlow中,我们可以使用MQTT功能实现两个或是多个CORE之间的通讯与交互,从而实现强大的远程控制功能
选择MQTT服务
要使用MQTT协议进行数据交互,需要服务器的支持,有很多第三方的服务器平台可以选择,在这里我们演示的平台为CloudMQTT
当你在平台已经创建好了服务支持,你会得到一些配置信息,如服务器地址,用户名,密码等,在UIFlow的MQTT块中将使用这些信息
MQTT功能
在UIFlow的高级功能中,可以找到MQTT功能块,我们可以把MQTT协议简单的理解为两个环节,"发布"(Publish) 与 "订阅"(Subscribe)
当发布者发布消息后,订阅者将获取这一信息,从而实现设备之间的通讯
MQTT配置块
添加一个MQTT配置块,并连接到Setup块上
信息填写
填写你个人或是第三方服务器平台上的服务器信息,为接下来的连接做准备
MQTT Start
在MQTT配置块下方添加Start块,这表示,当配置信息后则开始运行
Publish发布指的是,通讯中发布数据的环节,为发布内容包含两个部分 “主题”(topic),“内容”(msg)
Publish “主题”(topic)
设定一个发布主题,当其他设备想要获取该主题下的内容信息时,则需要订阅相匹配的主题名
Publish “内容”(msg)
设定要发布的内容信息
当程序运行到Publish发布块时,进行消息发布。例: 当按下A按钮时,进行消息发布(主题为"RGB",内容为"open") 当按下B按钮时,进行消息发布(主题为"RGB",内容为"close")
Subscribe订阅指的是,通讯中接收数据的环节,当发布者发布了信息后,订阅者将自动接收已订阅的主题(topic),消息内容(msg)
Subscribe “主题”(topic)
设定要订阅的主题
Get topic data “内容”(msg)
获取该订阅下的消息内容
添加Subscribe块,并填写要订阅的主题(topic),使用Get topic data块获取,并处理分析,例:
当从Publish那获取了一个"open",点亮RGB bar,当获取到"close",则熄灭RGB bar
用一个CORE编程一个简单的使用案例来验证功能,它即使发布者(Publish),也是订阅者(Subscribe)
完整程序
当按下A按钮时,进行消息发布(主题为"RGB",内容为"open"),RGB bar点亮
当按下B按钮时,进行消息发布(主题为"RGB",内容为"close"), RGB bar熄灭