From 4f3a98f19143865cdc1de4791e8a95d96bd40c65 Mon Sep 17 00:00:00 2001 From: maven <2163098428@qq.com> Date: 星期五, 01 八月 2025 13:27:59 +0800 Subject: [PATCH] yys 密码已重置 --- cnas-device/src/main/java/com/ruoyi/device/mqtt/MQPublic.java | 69 ++++++++++++++++++++++++++++++++++ 1 files changed, 69 insertions(+), 0 deletions(-) diff --git a/cnas-device/src/main/java/com/ruoyi/device/mqtt/MQPublic.java b/cnas-device/src/main/java/com/ruoyi/device/mqtt/MQPublic.java new file mode 100644 index 0000000..78c26d7 --- /dev/null +++ b/cnas-device/src/main/java/com/ruoyi/device/mqtt/MQPublic.java @@ -0,0 +1,69 @@ +package com.ruoyi.device.mqtt; + +import lombok.extern.slf4j.Slf4j; +import org.eclipse.paho.client.mqttv3.*; +import org.springframework.stereotype.Component; + +@Component +@Slf4j +public class MQPublic { + + /** + * 閫氫俊璐ㄩ噺qos涓�0锛氳〃绀篧EB鏈嶅姟鍣ㄥ悜MQTT鏈嶅姟鍣ㄥ彧鍙戦�佷竴娆★紝涓嶇MQTT鏈嶅姟鍣ㄦ湁娌℃湁鏀跺埌 + * WEB鏈嶅姟鍣ㄥ悜MQTT鏈嶅姟鍣ㄥ彂甯冩暟鎹紝姝ゆ柟娉曞皝瑁呬簡publish鍑芥暟 + * @param topic 鍚戝簳灞傜綉鍏冲彂閫佹暟鎹紝瀹樻柟璇濓細绉版涓轰富棰橈紝鍚戦偅涓富棰樺彂閫佹暟鎹� 缃戝叧锛氬嵆涓婚锛岃澶囧敮涓�鏍囪瘑 + * @param pushMessage WEB鏈嶅姟鍣ㄥ悜MQTT鏈嶅姟鍣ㄥ彂閫佺殑鏁版嵁 + */ + public void publish_0(int qos, String topic, byte[] pushMessage) { + publish(0, false, topic, pushMessage); + } + + /** + * 閫氫俊璐ㄩ噺qos涓�1锛氳〃绀篧EB鏈嶅姟鍣ㄥ悜MQTT鏈嶅姟鍣ㄥ彂閫佹暟鎹紝MQTT鏈嶅姟鍣ㄤ竴瀹氫細鏀跺埌涓�娆℃暟鎹紝濡傛灉MQTT鏈嶅姟鍣ㄦ病鏈夊搷搴斺�滄敹鍒版暟鎹�濓紝閭d箞WEB鏈嶅姟鍣ㄥ氨浼氫竴鐩村彂閫佹暟鎹� + * WEB鏈嶅姟鍣ㄥ悜MQTT鏈嶅姟鍣ㄥ彂甯冩暟鎹紝璋冪敤姝ゅ嚱鏁帮紝姝ゆ柟娉曞皝瑁呬簡publish鍑芥暟锛岄�氫俊璐ㄩ噺qos涓�1 + * @param topic 鍚戝簳灞傜綉鍏冲彂閫佹暟鎹紝瀹樻柟璇濓細绉版涓轰富棰橈紝鍚戦偅涓富棰樺彂閫佹暟鎹� 缃戝叧锛氬嵆涓婚锛岃澶囧敮涓�鏍囪瘑 + * @param pushMessage WEB鏈嶅姟鍣ㄥ悜MQTT鏈嶅姟鍣ㄥ彂閫佺殑鏁版嵁 + */ + public void publish_1(String topic, byte[] pushMessage) { + publish(1, false, topic, pushMessage); + } + + /** + *閫氫俊璐ㄩ噺qos涓�2锛氳〃绀篧EB鏈嶅姟鍣ㄥ悜MQTT鏈嶅姟鍣ㄥ彂閫佹暟鎹紝涓よ�呬細杩涜鑷冲皯涓ゆ璇锋眰/鍝嶅簲娴佺▼锛岄伩鍏嶆暟鎹湪浼犺緭涓殑涓㈠け锛屼絾鏄浉搴旂殑涔熶細娑堣�楄绠楁満涓殑璧勬簮 + * WEB鏈嶅姟鍣ㄥ悜MQTT鏈嶅姟鍣ㄥ彂甯冩暟鎹紝姝ゆ柟娉曞皝瑁呬簡publish鍑芥暟锛岄�氫俊璐ㄩ噺锛�2 + * @param topic 鍚戝簳灞傜綉鍏冲彂閫佹暟鎹紝瀹樻柟璇濓細绉版涓轰富棰橈紝鍚戦偅涓富棰樺彂閫佹暟鎹� 缃戝叧锛氬嵆涓婚锛岃澶囧敮涓�鏍囪瘑 + * @param pushMessage WEB鏈嶅姟鍣ㄥ悜MQTT鏈嶅姟鍣ㄥ彂閫佺殑鏁版嵁 + */ + public void publish_2(String topic, byte[] pushMessage) { + publish(2,false, topic, pushMessage); + } + + /** + * 鍙戝竷鍑芥暟锛歐EB鏈嶅姟鍣ㄥ悜MQTT鏈嶅姟鍣ㄥ彂閫佹暟鎹� + * + * @param qos 閫氫俊璐ㄩ噺 + * @param retained 榛樿锛歠alse-闈炴寔涔呭寲锛堟槸鎸囦竴鏉℃秷鎭秷璐瑰畬锛屽氨浼氳鍒犻櫎锛涙寔涔呭寲锛屾秷璐瑰畬锛岃繕浼氫繚瀛樺湪鏈嶅姟鍣ㄤ腑锛屽綋鏂扮殑璁㈤槄鑰呭嚭鐜帮紝缁х画缁欐柊璁㈤槄鑰呮秷璐癸級 + * @param topic 鍚戝簳灞傜綉鍏冲彂閫佹暟鎹紝瀹樻柟璇濓細绉版涓轰富棰橈紝鍚戦偅涓富棰樺彂閫佹暟鎹� 缃戝叧锛氬嵆涓婚锛岃澶囧敮涓�鏍囪瘑 + * @param pushMessage WEB鏈嶅姟鍣ㄥ悜MQTT鏈嶅姟鍣ㄥ彂閫佺殑鏁版嵁 + */ + public void publish(int qos, boolean retained, String topic, byte[] pushMessage) { + MqttMessage message = new MqttMessage(); + message.setQos(qos); + message.setRetained(retained); + // 灏哠tring[]鏁扮粍杞崲涓篵yte鏁扮粍鍙戦�� + message.setPayload(pushMessage); + MqttTopic mTopic = MQClient.getClient().getTopic(topic); + if (null == mTopic) { + log.error("===============>>>MQTT {} 涓嶅瓨鍦�<<=======================",topic); + } + MqttDeliveryToken token; + try { + token = mTopic.publish(message); + token.waitForCompletion(); + } catch (MqttPersistenceException e) { + e.printStackTrace(); + } catch (MqttException e) { + e.printStackTrace(); + } + } +} -- Gitblit v1.9.3