Sub Process_Globals
Private mqtt_client As MqttClient
Private serializator As B4XSerializator
Private mqtt_uri As String
Private mqtt_name As String
Public mqtt_connected As Boolean
Public flag_mqtt_connesso As Boolean=True
Type Mqtt_Message (Body As String, From As String)
End Sub
Public Sub SubscribeToTopics
flag_mqtt_connesso=True
ConnectAndReconnect
End Sub
Sub ConnectAndReconnect
mqtt_uri="http://1.2.3.4:63309"
mqtt_name="123456789"
Do While flag_mqtt_connesso
If mqtt_client.IsInitialized Then mqtt_client.Close
Do While mqtt_client.IsInitialized
Sleep(100)
Loop
mqtt_client.Initialize("EventMqtt", mqtt_uri, mqtt_name)
Dim mo As MqttConnectOptions
mo.Initialize("", "")
mo.SetLastWill("smartphone/sconnesso" , serializator.ConvertObjectToBytes(mqtt_name), 0, False)
Log("Trying to connect")
mqtt_client.Connect2(mo)
Wait For mqtt_connected (Success As Boolean)
If Success Then
Log("Mqtt connected")
Do While flag_mqtt_connesso And mqtt_client.Connected
Log ("Ping verso consolle")
mqtt_client.Publish2("launcher_to_consolle" , Array As Byte(0), 1, False)
Sleep(5000)
Loop
Log("Disconnected")
Else
Log("Error connecting.")
End If
Sleep(5000)
Loop
End Sub