【物联网系列】springboot + rabbitmq 做智能家居以及web显示未读消息

前言:这里讲的比较简单的应用:还没有涉及到物联网的过程,总体来说就是模拟物联网,接收订阅消息,我们知道的rabbitmq可以做消息队列处理(后面也会用到,做并发),这是rabbitmq的另外一种物联网通讯的应用——mqtt协议,我们开发人员要显示数据主要就是开发一个服务器,我这里用的是rabbitmq,下次也会尝试搭建EMQ服务器来尝试mqtt整合。

在这里插入图片描述

mqtt协议

rabbitmq安装mqtt协议

在rabbitmq安装路径下sbin

shift+右击打开命令窗口

在这里插入图片描述

1、开启 mqtt 协议

rabbitmq-plugins enable rabbitmq_mqtt
rabbitmq-service stop
rabbitmq-service start

在这里插入图片描述

在这里插入图片描述

web 端实时消息推送

yml

iot:
  mqtt:
    clientId: ${random.value}
    defaultTopic: topic
    serverClientId: server-1
    servers: tcp://127.0.0.1:1883
    username: guest
    password: guest
server:
  port: 8082
spring:
  main:
    allow-bean-definition-overriding: true


      <!--lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-integration</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.integration</groupId>
            <artifactId>spring-integration-stream</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.integration</groupId>
            <artifactId>spring-integration-mqtt</artifactId>
        </dependency>

在这里插入图片描述

package com.shbykj.mqtt_test.mqtt.config;

import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.integration.annotation.ServiceActivator;
import org.springframework.integration.channel.DirectChannel;
import org.springframework.integration.mqtt.core.DefaultMqttPahoClientFactory;
import org.springframework.integration.mqtt.core.MqttPahoClientFactory;
import org.springframework.integration.mqtt.outbound.MqttPahoMessageHandler;
import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.MessageHandler;


@Configuration
public class IotMqttProducerConfig {

    @Autowired
    private MqttConfig mqttConfig;
    /*
     *
     *  MQTT连接器选项
     * *
     */


    @Bean(value = "getMqttConnectOptions")
    public MqttConnectOptions getMqttConnectOptions1() {
        MqttConnectOptions mqttConnectOptions = new MqttConnectOptions();
        // 设置是否清空session,这里如果设置为false表示服务器会保留客户端的连接记录,这里设置为true表示每次连接到服务器都以新的身份连接
        mqttConnectOptions.setCleanSession(true);
        // 设置超时时间 单位为秒
       
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值