#APPINVENTOR扩展插件之MQTT

1.APPINVENTOR网址:

http://code.appinventor.mit.edu/icon-default.png?t=N7T8http://code.appinventor.mit.edu/
对应AI伴侣下载地址:
http://code.appinventor.mit.edu/companions/MITAI2Companion.apkicon-default.png?t=N7T8http://code.appinventor.mit.edu/companions/MITAI2Companion.apk

2.MQTT插件:

IOT: 存放一些本科阶段做的IOT项目代码 - Gitee.comicon-default.png?t=N7T8https://gitee.com/lovefoolnotme/iot/tree/master/APPINVENTOR%E6%8F%92%E4%BB%B6/MQTT%E6%8F%92%E4%BB%B6

3.创建一个新的工程将MQTT插件导入,同时设计界面以及代码

我们选择的是一个公网MQTT服务器,所以订阅主题时一定要取一个特别的名字,避免与其他人互相干扰。

服务器地址:broker.mqttdashboard.com

端口:1883

订阅主题:0513GFS(随便取,这个是今天的日期加名字首字母,不要与其他人重复)

由于这是公网服务器,所以没有名字密码之类的,自己随便取就行。

4.测试效果:

5.注意:

由于订阅了同一个主题,客户端发布消息时也会收到自己发出的消息。因为MQTT服务器会将消息转发给所有订阅这个主题的客户端。有两种解决办法:

(1)添加标识,比如添加客户端前缀。

(2)订阅两个主题,一个专门用于收一个专门用于发。 

6.代码:

(1)自定义连接MQTT服务器:

(2)定义一个字符串:

(3)订阅输入的主题以及发布主题:

这里注意用到了一个下拉框,下拉框的元素是用逗号隔开的,我们每次订阅一个主题之后都会将主题记录在下拉框中,方便我们发布主题时直接下拉选择。

(4)收到消息时,将主题和消息显示到标签:

### 如何在App Inventor中集成MQTT协议 为了实现在App Inventor中集成MQTT协议的功能,可以采用扩展组件的方式。具体来说,通过使用由社区开发并维护的第三方MQTT客户端库来实现这一目标。 #### 使用MQTT Extension Component 1. **下载MQTT扩展** 需要先从可靠的资源获取适用于App InventorMQTT扩展文件(通常为`.aix`格式)。这些文件可以从GitHub或其他开源平台找到[^1]。 2. **导入MQTT扩展至项目** 打开App Inventor设计视图,在“媒体”标签页点击上传按钮并将之前下载好的MQTT扩展文件加载进来。成功添加后可以在设计师界面看到新的MQTT组件选项。 3. **配置MQTT连接参数** 利用新加入的MQTT组件设置必要的属性,比如服务器地址、端口号以及认证信息等。确保所填写的信息与实际使用的MQTT代理服务相匹配。 4. **编写逻辑处理程序** 进入块编辑器定义当应用程序尝试建立连接时的行为模式;例如订阅特定主题的消息监听事件,并指定接收到消息后的响应动作。同样地,也需要设定发布消息给其他设备的方法。 ```blockly when Screen1.Initialize call MQTTClient.Connect "mqtt.example.com", 1883, "username", "password" end when MQTTClient.Connected call MQTTClient.Subscribe "/topic/test" end when MQTTClient.MessageArrived topic message set Label1.Text to joinTexts ["Received Message:", message] end when ButtonSend.Click call MQTTClient.Publish "/topic/test", TextBoxMessage.Text end ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值