当前位置: 首页 > article >正文

物联网:七天构建一个闭环的物联网DEMO

我计划用七天的时间, 基于开源物联网平台, 打造一款物联网案例的闭环。

为了增加感观体验,欢迎大家与我保持亲密的沟通。 我们来看一段代码:

@Slf4j
@Component
public class MqttSendManager {

    @Resource
    private MqttSendHandler mqttSendHandler;

    public void sendToMqtt(String topic, String data) {
        mqttSendHandler.sendToMqtt(topic, data);
    }

    public void sendToMqtt(String topic, Integer qos, String data) {
        log.debug("下发网关的qos: {}", qos);
        log.info("下发网关的消息: {}", "topic: " + topic  + "; "+ data);
        mqttSendHandler.sendToMqtt(topic, qos, data);
    }
}

以上消息发送管理类可以实现向 mqtt 发送消息, 主要是借用了 MqttSendHandler 的能力,MqttSendHandler 是一个接口, 托管给了 spring 容器实例化,我们看看它的代码:

@MessagingGateway(defaultRequestChannel = "mqttOutputChannel")
public interface MqttSendHandler {

    /**
     * 使用 自定义 Topic & Default Qos 发送数据
     *
     * @param topic 自定义 Topic
     * @param data  string
     */
    void sendToMqtt(@Header(MqttHeaders.TOPIC) String topic, String data);

    /**
     * 使用 自定义 Topic & 自定义 Qos 发送数据
     *
     * @param topic 自定义 Topic
     * @param qos   自定义 Qos
     * @param data  string
     */
    void sendToMqtt(@Header(MqttHeaders.TOPIC) String topic, @Header(MqttHeaders.QOS) Integer qos, String data);
}

这样两个类就封装了与 mqtt 的消息发送接口。

欢迎三连,或者有需要进一步交流的欢迎留言,评论区见。


http://www.kler.cn/a/470193.html

相关文章:

  • sunrays-framework(太阳射线框架搭建)
  • Apache Celeborn 在B站的生产实践
  • 基于transformer的目标检测:DETR
  • 鸿蒙操作系统(HarmonyOS)
  • unity学习11:地图相关的一些基础
  • VSCode编辑+GCC for ARM交叉编译工具链+CMake构建+OpenOCD调试(基于STM32的标准库/HAL库)
  • 【Golang 面试题】每日 3 题(二十)
  • Java基础 注解
  • C#版OpenCv常用函数大全
  • 手写RPC笔记
  • [Qt] 万字详解 | 常用控件 | Button | Label | LCD | ProgressBar
  • Redis(三)单线程架构介绍
  • QT:控件属性及常用控件(2)-----按钮类控件及显示类控件
  • Rtemis解题过程
  • 基于人脸识别和 MySQL 的考勤管理系统实现
  • 庐山派K230学习日记5 UART
  • LabVIEW软件侵权分析与应对
  • element组件el-select、el-tree-select有值,不渲染lable
  • GitLab创建用户,设置访问SSH Key
  • 数造科技荣获 2024 年“年度数据资源创新开发企业”
  • 软件体系结构与设计模式
  • 解决GitHub上的README.md文件的图片内容不能正常显示问题
  • Springboot启动报错:Failed to start bean ‘documentationPluginsBootstrapper‘
  • 软件项目体系建设文档,项目开发实施运维,审计,安全体系建设,验收交付,售前资料(word原件)
  • mybatisX插件的使用,以及打包成配置
  • 阿里云 Pod介绍