wxbit最新MQTT组件之比较及测试

2019-04-231.2万
AI 快速预览详细 收起
本文比较了App Inventor中的两种MQTT组件:MqttTCP和WxBit MQTT客户端。WxBit MQTT客户端具有更丰富的事件处理和set/get属性,连接设置更加简单,无需端口设置,直接在URI中填写地址即可。两者运行结果基本一致,但WxBit MQTT客户端提供了更好的用户体验。
前几天,wxbit App Inventor平台开放了MQTT的测试,测试网址:https://dev.wxbit.com,该平台专用于测试。进入之后在“通信连接”里会多出一个“MQTT客户端”wxbit最新MQTT组件之比较及测试图6

本人前面使用App Inventor扩展做了物联网应用,现将两个扩展做比较:
1. 添加组件:
MqttTCP扩展,需要在“扩展”中导入,导入后方可使用; WxBit MQTT客户端,已经集成在“通信连接”中,可直接使用

2. 事件处理:

wxbit最新MQTT组件之比较及测试图1        wxbit最新MQTT组件之比较及测试图2
左:MqttTCP,比较简单,只有3个事件;右:WxBit MQTT事件处理比较完整丰富

3. 方法

wxbit最新MQTT组件之比较及测试图3               wxbit最新MQTT组件之比较及测试图4
左:MqttTCP,右:WxBit MQTT客户端
两边的方法基本完全一样,但是WxBit的参数设置使用set,然后直接调用“连接”方法即可。

4. set 和 get。下图为MQTT客户端的set和get语句块,比较丰富,因为其连接属性都要进行设置。MqttTCP没有任何set和get属性,它的连接设置都是在方法中直接赋值的。
wxbit最新MQTT组件之比较及测试图5

5.实例对比:App Inventor通过物联网与掌控板互动

MqttTCP因为没有连接成功的事件,只有方法,所以使用了计时器,延时若干秒,判断是否连接成功。这样做有个问题,延时多少算合适,时间短了可能还没有连接成功就报错了,时间长了等待的时间太长用户体验不好。

wxbit最新MQTT组件之比较及测试图9


而MQTT客户端有连接成功的事件,在初始化时将连接属性设置好,点击连接按钮进行连接,然后使用“已连接”的事件处理订阅:

wxbit最新MQTT组件之比较及测试图7

wxbit最新MQTT组件之比较及测试图8

可以看到WxBit的设置更加简单,无需端口设置,直接在uri中填写地址就可以了。

5. 运行结果
两者运行结果基本一样,依赖于IoT的处理,在网络顺畅的时候都比较稳定。后续会继续测试WxBit,看看是否有bug。






创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
Fang3
Fang3
但是在mqtt模块里面没有 IDDevice
- 没有更多了 -