forked from eclipse-sparkplug/sparkplug
-
Notifications
You must be signed in to change notification settings - Fork 0
/
edge_session_establishment.py
50 lines (41 loc) · 1.46 KB
/
edge_session_establishment.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import paho.mqtt.client as mqtt
import time
"""
"""
broker = "localhost"
port = 1883
host_application_id = "testing"
group_id = "test_group"
edge_node_id = "test_edge"
device_id1 = "test_device1"
device_id2 = "test_device2"
def control_on_message(client, userdata, msg):
if msg.topic == "SPARKPLUG_TCK/RESULT":
print("*** Result ***", msg.payload)
def control_on_connect(client, userdata, flags, rc):
print("Control client connected with result code "+str(rc))
client.subscribe("SPARKPLUG_TCK/#")
def control_on_subscribe(client, userdata, mid, granted_qos):
print("Control client subscribed")
rc = client.publish("SPARKPLUG_TCK/TEST_CONTROL", "NEW_TEST edge SessionEstablishment %s %s %s %s %s" % (host_application_id, group_id, edge_node_id, device_id1, device_id2), qos=1)
published = False
def control_on_publish(client, userdata, mid):
print("Control client published")
global published
published = True
control_client = mqtt.Client("sparkplug_control")
control_client.on_connect = control_on_connect
control_client.on_subscribe = control_on_subscribe
control_client.on_publish = control_on_publish
control_client.on_message = control_on_message
control_client.connect(broker, port)
control_client.loop_start()
test = False
# infinite sleep
while test == False:
time.sleep(0.1)
published = False
control_client.publish("SPARKPLUG_TCK/TEST_CONTROL", "END TEST")
while published == False:
time.sleep(0.1)
control_client.loop_stop()