ทดลอง เขียนโปรแกรม mqtt คุยกัน ระหว่าง java กับ python
java publisher
==========
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
import java.text.*;
import java.util.Date;
public class gr0901 {
    public static void main(String[] args) {
            // String topic        = "MQTT Examples";
            String topic        = "xxencyclopedia/temperature";
            String content      = "Message from MqttPublishSample";
            int qos             = 2;
            String broker       = "tcp://broker.mqttdashboard.com:1883";
            String clientId     = "JavaSample";
            MemoryPersistence persistence = new MemoryPersistence();
            try {
                MqttClient sampleClient = new MqttClient(broker, clientId, persistence);
                MqttConnectOptions connOpts = new MqttConnectOptions();
                connOpts.setCleanSession(true);
                System.out.println("Connecting to broker: "+broker);
                sampleClient.connect(connOpts);
                System.out.println("Connected");
                System.out.println("Publishing message: "+content);
                String pattern = "MM/dd/yyyy HH:mm:ss";
                DateFormat df = new SimpleDateFormat(pattern);
                while (true) {
                    Date today = Calendar.getInstance().getTime();
                    String todayAsString = df.format(today);
                    content = "message at " + todayAsString;
                    MqttMessage message = new MqttMessage(content.getBytes());
                    message.setQos(qos);
                    sampleClient.publish(topic, message);
                    // System.out.println("Message published");
                    System.out.println(content);
                    Thread.sleep(4000);
                }
                
                sampleClient.disconnect();
                System.out.println("Disconnected");
                System.exit(0);
            } catch(MqttException me) {
                System.out.println("reason "+me.getReasonCode());
                System.out.println("msg "+me.getMessage());
                System.out.println("loc "+me.getLocalizedMessage());
                System.out.println("cause "+me.getCause());
                System.out.println("excep "+me);
                me.printStackTrace();
            }
        }
    }

python subscriber
=============
import paho.mqtt.client as paho
def on_subscribe(client, userdata, mid, granted_qos):
    print("Subscribedxx: "+str(mid)+" "+str(granted_qos))
def on_message(client, userdata, msg):
    # print(msg.topic+" <> "+str(msg.qos)+" "+str(msg.payload))    
    print(" <> "+str(msg.qos)+" "+str(msg.payload))    
client = paho.Client()
client.on_subscribe = on_subscribe 
client.on_message = on_message
client.connect('broker.mqttdashboard.com', 1883)
client.subscribe('xxencyclopedia/#', qos=1)
client.loop_forever()

#mqtt #python #java 



Create Date : 10 สิงหาคม 2564
Last Update : 10 สิงหาคม 2564 15:32:20 น.
Counter : 919 Pageviews.

0 comments
ชื่อ : * blog นี้ comment ได้เฉพาะสมาชิก
Comment :
 *ส่วน comment ไม่สามารถใช้ javascript และ style sheet
 

thaiger_u
Location :
  

[ดู Profile ทั้งหมด]
 ฝากข้อความหลังไมค์
 Rss Feed
 Smember
 ผู้ติดตามบล็อก : 3 คน [?]



Dancinga
@ฟรี
โปรแกรมปฏิทิน 2564 - Free android app


@ รับสอน เขียนโปรแกรม Python ระดับมัธยมปลาย
สิงหาคม 2564

1
2
3
4
5
6
7
8
9
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
30
31
 
 
All Blog