From 7d3fde44c5ee31070e5eb5863832c51e7bcc68b6 Mon Sep 17 00:00:00 2001 From: Julian Todd Date: Tue, 16 Jul 2024 21:00:46 +0100 Subject: [PATCH] code in the mqtt user and password --- addons/mqtt/mqtt.gd | 20 ++++++++++++++------ mqttexample.gd | 11 +++++++++-- mqttexample.tscn | 14 ++++++++++++++ 3 files changed, 37 insertions(+), 8 deletions(-) diff --git a/addons/mqtt/mqtt.gd b/addons/mqtt/mqtt.gd index cafdbde..6c1adc7 100644 --- a/addons/mqtt/mqtt.gd +++ b/addons/mqtt/mqtt.gd @@ -189,6 +189,14 @@ func set_last_will(stopic, smsg, retain=false, qos=0): if verbose_level: print("LASTWILL%s topic=%s msg=%s" % [ " " if retain else "", stopic, smsg]) +func set_user_pass(suser, spswd): + if suser != null: + self.user = suser.to_ascii_buffer() + self.pswd = spswd.to_ascii_buffer() + else: + self.user = null + self.pswd = null + func firstmessagetoserver(): var clean_session = true var msg = PackedByteArray() @@ -227,12 +235,12 @@ func firstmessagetoserver(): msg.append(len(self.lw_msg) & 0xFF) msg.append_array(self.lw_msg) if self.user != null: - msg.append(self.user.length() >> 8) - msg.append(self.user.length() & 0xFF) - msg.append_array(self.user.to_ascii_buffer()) - msg.append(self.pswd.length() >> 8) - msg.append(self.pswd.length() & 0xFF) - msg.append_array(self.pswd.to_ascii_buffer()) + msg.append(len(self.user) >> 8) + msg.append(len(self.user) & 0xFF) + msg.append_array(self.user) + msg.append(len(self.pswd) >> 8) + msg.append(len(self.pswd) & 0xFF) + msg.append_array(self.pswd) return msg func cleanupsockets(retval=false): diff --git a/mqttexample.gd b/mqttexample.gd index 2a3c373..010af35 100644 --- a/mqttexample.gd +++ b/mqttexample.gd @@ -20,15 +20,22 @@ func _on_button_connect_toggled(button_pressed): $VBox/HBoxLastwill/lastwillretain.button_pressed) else: $MQTT.set_last_will("", "", false) - + + if $VBox/HBoxBroker/brokeruser.text: + $MQTT.set_user_pass($VBox/HBoxBroker/brokeruser.text, + $VBox/HBoxBroker/brokerpswd.text) + else: + $MQTT.set_user_pass(null, null) + $VBox/HBoxBrokerControl/status.text = "connecting..." var brokerurl = $VBox/HBoxBroker/brokeraddress.text var protocol = $VBox/HBoxBroker/brokerprotocol.get_item_text($VBox/HBoxBroker/brokerprotocol.selected) $MQTT.connect_to_broker("%s%s:%s" % [protocol, brokerurl, $VBox/HBoxBroker/brokerport.text]) else: - $VBox/HBoxBrokerControl/status.text = "disconnecting..." + #$VBox/HBoxBrokerControl/status.text = "disconnecting..." $MQTT.disconnect_from_server() + func brokersettingsactive(active): $VBox/HBoxBroker/brokeraddress.editable = active diff --git a/mqttexample.tscn b/mqttexample.tscn index 40af813..c867530 100644 --- a/mqttexample.tscn +++ b/mqttexample.tscn @@ -81,6 +81,20 @@ layout_mode = 2 size_flags_horizontal = 3 text = "broker.hivemq.com" +[node name="Label4" type="Label" parent="VBox/HBoxBroker"] +layout_mode = 2 +text = "User:" + +[node name="brokeruser" type="LineEdit" parent="VBox/HBoxBroker"] +layout_mode = 2 + +[node name="Label5" type="Label" parent="VBox/HBoxBroker"] +layout_mode = 2 +text = "Pswd:" + +[node name="brokerpswd" type="LineEdit" parent="VBox/HBoxBroker"] +layout_mode = 2 + [node name="Label2" type="Label" parent="VBox/HBoxBroker"] layout_mode = 2 text = "Port: "