TsgcWSPClient_MQTT | Client MQTT verbinden

Om verbinding te maken met een MQTT-server, moet u eerst een TsgcWebSocketClient en een TsgcWSPClient_MQTT aanmaken. Vervolgens moet u de MQTT-component koppelen aan de WebSocket-client.

 

Basisgebruik

Maak verbinding met de Mosquitto MQTT-server via het websocket-protocol. Abonneer op onderwerp "topic1" na verbinding.

 


oClient := TsgcWebSocketClient.Create(nil);
oClient.Host := 'test.mosquitto.org';
oClient.Port := 8080;
oMQTT := TsgcWSPClient_MQTT.Create(nil);
oMQTT.Client := oClient;
oClient.Active := True;
 
procedure OnMQTTConnect(Connection: TsgcWSConnection; const Session: Boolean; const ReasonCode: Integer; 
  const ReasonName: string; const ConnectProperties: TsgcWSMQTTCONNACKProperties);
begin
  oMQTT.Subscribe('topic1');
end;

 

Clientidentificatie

MQTT vereist een client-ID om de clientverbinding te identificeren. De component stelt automatisch een willekeurige waarde in, maar u kunt uw eigen client-ID instellen als dat nodig is. Verwerk daarvoor het evenement OnBeforeConnect en stel uw waarde in via de parameter aClientIdentifier.

 


procedure OnMQTTBeforeConnect(Connection: TsgcWSConnection; var aCleanSession: Boolean; 
  var aClientIdentifier: string);
begin
  aClientIdentifier := 'your client id';
end;

Authenticatie

Sommige servers vereisen een gebruiker en wachtwoord voor het autoriseren van MQTT-verbindingen. Gebruik de eigenschap Authentication om de waarde voor gebruikersnaam en wachtwoord in te stellen voordat u verbinding maakt met de server.

 


oMQTT := TsgcWSPClient_MQTT.Create(nil);
oMQTT.Authentication.Enabled := True;
oMQTT.Authentication.UserName := 'your user';
oMQTT.Authentication.Password := 'your password';