package com.dy.pipIrrApp.workOrder.mqtt;
|
|
import lombok.extern.slf4j.Slf4j;
|
import org.eclipse.paho.client.mqttv3.MqttClient;
|
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
/**
|
* @author ZhuBaoMin
|
* @date 2024-11-16 11:32
|
* @LastEditTime 2024-11-16 11:32
|
* @Description
|
*/
|
|
@Slf4j
|
@RestController
|
@RequestMapping(path = "mqtt")
|
public class TestController {
|
|
@Value("${mqtt.broker}")
|
private String broker;
|
|
@Value("${mqtt.username}")
|
private String username;
|
|
@Value("${mqtt.password}")
|
private String password;
|
|
@Value("${mqtt.topic}")
|
private String topic;
|
|
@Value("${mqtt.qos}")
|
private Integer qos;
|
|
@GetMapping("/mqtt/{msg}")
|
public String testSendMqttMsg(@PathVariable("msg") String msg){
|
log.info("消息内容:{}.", msg);
|
|
MqttClient mqttClient = MqttClientConnectorPool.connectMQTT(broker, username, password);
|
MqttMsgSender sender = new MqttMsgSender();
|
|
String content = "{" + " \"message\": \"" + msg + "\"," + " \"val\": 100.00" + "}";
|
|
if (null != mqttClient){
|
sender.sendMessage(mqttClient, topic, content, qos);
|
} else {
|
log.info("MqttClient为空,无法发送!");
|
return "失败!";
|
}
|
return "成功!";
|
}
|
|
@GetMapping("/receive")
|
public String receiveMsg() {
|
MqttMsgSubscriber subscriber = new MqttMsgSubscriber();
|
subscriber.readSubscribeTopicMessage();
|
return "success";
|
}
|
}
|