Push Agent come subscriber
Per impostazione predefinita, Push Agent può inviare i dati al cloud. È possibile modificare il codice del Push Agent perché riceva anche i dati dal cloud.
Funzione di ricezione dati
La funzione nell'esempio seguente viene richiamata ogni volta che si riceve un messaggio. La funzione elabora il messaggio ricevuto in base alla logica definita nella funzione, quindi aggiorna il valore della variabile
messageVariable
.private Task SubscribeClientMqttMsgPublishReceived(MqttApplicationMessageReceivedEventArgs e) { var message = e.ApplicationMessage.ConvertPayloadToString(); var messageVariable = Project.Current.GetVariable("Model/Message"); messageVariable.Value = Newtonsoft.Json.Linq.JObject.Parse(message)["Rows"][0]["Variables"][0]["Value"].ToString(); return Task.CompletedTask; }
Parametro di configurazione del Subscriber
L'esempio seguente mostra la funzione di ricezione dati che viene passata come parametro di configurazione del Subscriber. Oltre alla configurazione di base del Publisher, il metodo Subscriber viene configurato nel metodo
Start()
.public override void Start() { // PushAgent Default configuration // Add subscriber mqttClientConnector.AddSubscriberAsync("my_custom_subscriber_topic", 1, SubscribeClientMqttMsgPublishReceived); } public async void AddSubscriberAsync(string topic, int qosLevel, Func<MqttApplicationMessageReceivedEventArgs, Task> subscribeClientMqttMsgPublishReceived) { mqttClient.ApplicationMessageReceivedAsync += subscribeClientMqttMsgPublishReceived; await mqttClient.SubscribeAsync(topic, GetQoSLevel(qosLevel)).ConfigureAwait(false); }
ricezione dati
abbonato
Fornire un feedback