App Inventor 2 MQTT拓展入门(保姆级教程)

简介: 本文演示的是App和一个测试客户端进行消息交互的案例,实际应用中,我们的测试客户端可以看着是任意的、支持MQTT协议的硬件,通过订阅及发布消息,联网硬件与我们的App进行双向数据通信,以实现万物互联的智能控制效果。

本文通过一个零门槛的MQTT入门级测试案例,带大家熟悉一下MQTT的开发步骤,让大家对MQTT通信模型有一个比较直观的认识。

准备工作

  • 中文平台推荐:bemfa.com 界面简洁,对入门者友好。当然也可以选择稍复杂的,大厂平台如:阿里云、华为云、中国移动OneNET平台等都提供物联网云平台。
  • 英文平台推荐:HiveMQ(https://www.mqtt-dashboard.com/)、EMQX(broker.emqx.io) 等。有一定基础的可以考虑用英文平台。
    其实,使用哪个平台都可以,甚至自己搭建MQTT服务器,使用自己的平台。不过初学者还是建议用国内中文平台进行测试,熟悉之后可以研究一下其他的或者自己搭建。
  • 这里以 bemfa.com 为例,账号注册请自行完成,如果看到的是TCP云,请切换到MQTT云:

    输入名称(例如:APPMQTT),新建一个订阅主题:

  • MQTT客户端测试工具,下载地址:https://mqttx.app/zh/downloads
    启动MQTTX客户端测试工具,设置语言为中文:

    配置和App一样的连接参数:

    往指定主题发布一个测试消息,效果如下:

App设计及代码

服务器地址:bemfa.com

端口:9501

客户端ID:(MQTT云控制台获取)

订阅主题:APPMQTT

新建项目,导入MQTT拓展,可在“界面设计”的拓展属性中进行服务器通信基本设置:

也可以在“程序设计”视图中,屏幕初始化时使用代码块进行设置:

完整代码如下:

测试效果

App端测试发布消息,效果如下:

App与测试客户端联动测试,效果如下:

云平台服务器端可以查看订阅设备的数量,以及消息的发送历史:

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

(1)添加标识,比如添加客户端前缀,再根据前缀进行过滤。

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

IoT物联网

以上演示的是App和一个测试客户端进行消息交互的案例,实际应用中,我们的测试客户端可以看着是任意的、支持MQTT协议的硬件,通过订阅及发布消息,联网硬件与我们的App进行双向数据通信,以实现万物互联的智能控制效果。

.aia 源码下载

见原文:https://www.fun123.cn/reference/iot/MQTTGuide.html

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
9天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
41 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
1月前
|
小程序 JavaScript 前端开发
uni app 入门
uni app 入门
30 2
|
1月前
|
消息中间件 存储 JSON
rabbitmq基础教程(ui,java,springamqp)
本文提供了RabbitMQ的基础教程,包括如何使用UI创建队列和交换机、Java代码操作RabbitMQ、Spring AMQP进行消息发送和接收,以及如何使用不同的交换机类型(fanout、direct、topic)进行消息路由。
22 0
rabbitmq基础教程(ui,java,springamqp)
|
3月前
|
小程序 前端开发 Java
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
JavaDog Chat v1.0.0 是一款基于 SpringBoot、MybatisPlus 和 uniapp 的简易聊天软件,兼容 H5、小程序和 APP,提供丰富的注释和简洁代码,适合初学者。主要功能包括登录注册、消息发送、好友管理及群组交流。
104 0
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
|
1月前
|
消息中间件 Java Kafka
RabbitMQ 入门
RabbitMQ 入门
|
3月前
|
消息中间件 存储 Java
分享一下rocketmq入门小知识
分享一下rocketmq入门小知识
51 0
分享一下rocketmq入门小知识
|
4月前
|
消息中间件
云消息队列RabbitMQ版入门训练营 打卡领好礼
云消息队列RabbitMQ版入门训练营 打卡领好礼
55 3
|
3月前
|
消息中间件 监控 Ubuntu
RabbitMQ安装配置,超详细版教程
以上步骤为您提供了在Linux环境下安装RabbitMQ的详细过程。安装Erlang作为基础,然后通过添加官方源并安装RabbitMQ本身,最后对服务进行配置并启用Web管理界面。这些步骤操作简单直观,只需要跟随上述指南,即可在短时间内将RabbitMQ服务器运行起来,并进行进一步的配置和管理。不要忘记硬件和网络资源对性能的影响,确保RabbitMQ能够满足您的应用需求。
246 0
|
3月前
|
消息中间件
快来体验 消息队列RabbitMQ版入门训练营 打卡学习领好礼
快来体验 消息队列RabbitMQ版入门训练营 打卡学习领好礼
62 0
|
4月前
|
存储 物联网 数据库
App Inventor 2 低功耗蓝牙 BlueToothLE 拓展中文文档(完整翻译加强版)
低功耗蓝牙,也称为蓝牙LE 或简称 BLE,是一种类似于经典蓝牙的新通信协议,不同之处在于它旨在消耗更少的功耗和成本,同时保持同等的功能。 因此,低功耗蓝牙是与耗电资源有限的物联网设备进行通信的首选。
154 0