From 1d42efe4cbd6b1028a28ff7f3ef2b3d721051c2f Mon Sep 17 00:00:00 2001 From: kongdeqiang <123456> Date: 星期四, 26 九月 2024 13:58:24 +0800 Subject: [PATCH] fix : 新增修改车数日志 --- src/main/java/com/boying/controller/car/MqttSample.java | 66 +++++++++++++++++++++++++++++++++ 1 files changed, 66 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/boying/controller/car/MqttSample.java b/src/main/java/com/boying/controller/car/MqttSample.java new file mode 100644 index 0000000..8c05fd7 --- /dev/null +++ b/src/main/java/com/boying/controller/car/MqttSample.java @@ -0,0 +1,66 @@ +package com.boying.controller.car; + +import org.eclipse.paho.client.mqttv3.*; +import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence; + +/** + * @author kdq + * @version 1.0.0 + * @ClassName MqttSample.java + * @Description TODO + * @createTime 2024骞�03鏈�19鏃� 16:56:00 + */ +public class MqttSample { + + public static void main(String[] args) throws MqttException{ + MqttSample client = new MqttSample(); + client.start(); + } + //MQTT瀹夎鐨勬湇鍔″櫒鍦板潃鍜岀鍙e彿锛堟湰鏈虹殑ip锛� + public static final String HOST = "tcp://39.96.92.240:9092"; + //瀹氫箟涓�涓富棰� + public static final String TOPIC = "/device/message/up/keep_alive"; + //瀹氫箟MQTT鐨処D锛屽彲浠ュ湪MQTT鏈嶅姟閰嶇疆涓寚瀹� + private static final String clientid = "client-2"; + private MqttClient client; + private MqttConnectOptions options; + private String userName = "mqtt"; + private String passWord = "mqtt"; + +// private ScheduledExecutorService scheduler; + + private void start() { + try { + // host涓轰富鏈哄悕锛宑lientid鍗宠繛鎺QTT鐨勫鎴风ID锛屼竴鑸互鍞竴鏍囪瘑绗﹁〃绀猴紝MemoryPersistence璁剧疆clientid鐨勪繚瀛樺舰寮忥紝榛樿涓轰互鍐呭瓨淇濆瓨 + client = new MqttClient(HOST, clientid, new MemoryPersistence()); + // MQTT鐨勮繛鎺ヨ缃� + options = new MqttConnectOptions(); + // 璁剧疆鏄惁娓呯┖session,杩欓噷濡傛灉璁剧疆涓篺alse琛ㄧず鏈嶅姟鍣ㄤ細淇濈暀瀹㈡埛绔殑杩炴帴璁板綍锛岃繖閲岃缃负true琛ㄧず姣忔杩炴帴鍒版湇鍔″櫒閮戒互鏂扮殑韬唤杩炴帴 + options.setCleanSession(false); + // 璁剧疆杩炴帴鐨勭敤鎴峰悕 + options.setUserName(userName); + // 璁剧疆杩炴帴鐨勫瘑鐮� + options.setPassword(passWord.toCharArray()); + // 璁剧疆瓒呮椂鏃堕棿 鍗曚綅涓虹 + options.setConnectionTimeout(10); + // 璁剧疆浼氳瘽蹇冭烦鏃堕棿 鍗曚綅涓虹 鏈嶅姟鍣ㄤ細姣忛殧1.5*20绉掔殑鏃堕棿鍚戝鎴风鍙戦�佷釜娑堟伅鍒ゆ柇瀹㈡埛绔槸鍚﹀湪绾匡紝浣嗚繖涓柟娉曞苟娌℃湁閲嶈繛鐨勬満鍒� + options.setKeepAliveInterval(20); + // 璁剧疆鍥炶皟,client.setCallback灏卞彲浠ヨ皟鐢≒ushCallback绫讳腑鐨刴essageArrived()鏂规硶 + client.setCallback(new PushCallback()); + MqttTopic topic = client.getTopic(TOPIC); + + int qos = 2; + + //setWill鏂规硶锛屽鏋滈」鐩腑闇�瑕佺煡閬撳鎴风鏄惁鎺夌嚎鍙互璋冪敤璇ユ柟娉曘�傝缃渶缁堢鍙g殑閫氱煡娑堟伅 + options.setWill(topic, "This is yizhu...".getBytes(), qos, true); + client.connect(options); + //璁㈤槄娑堟伅 + int[] Qos = {qos}; + String[] topic1 = {TOPIC}; + client.subscribe(topic1, Qos); + + } catch (Exception e) { + e.printStackTrace(); + } + } +} -- Gitblit v1.9.1