Exemplo n.º 1
0
 private void lstDispositivos_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     ActualizarDatos();
     topico = $"SolucionIoTKobra/{model.DispositivoSeleccionado.Id}";
     MqttService.Suscribir(topico);
     btnActualizar.IsEnabled = true;
 }
Exemplo n.º 2
0
        public DispositivoTabbedPage(PanelUsuarioModel model)
        {
            InitializeComponent();
            r                            = new Random();
            log                          = new List <string>();
            this.model                   = model;
            this.BindingContext          = model;
            model.LecturasDelDispositivo = FactoryManager.LecturaManager().LecturasDelDispositivo(model.DispositivoSeleccionado.Id).ToList();
            MqttService.Conectar("SolucionIoTMovil" + r.Next(0, 1000).ToString(), "broker.hivemq.com");
            MqttService.Conectado       += MqttService_Conectado;
            MqttService.Error           += MqttService_Error;
            MqttService.Mensaje         += MqttService_Mensaje;
            MqttService.MensajeRecibido += MqttService_MensajeRecibido;
            model.LecturasDelDispositivo = FactoryManager.LecturaManager().LecturasDelDispositivo(model.DispositivoSeleccionado.Id).OrderBy(e => e.FechaHora).ToList();
            lstLecturas.ItemsSource      = null;
            lstLecturas.ItemsSource      = model.LecturasDelDispositivo;
            topico = "SolucionIoTKobra/" + model.DispositivoSeleccionado.Id;
            LlenarComandos();
            Graficar();
            mensajeRecibido = null;

            Device.StartTimer(TimeSpan.FromMilliseconds(100), () =>
            {
                lstLog.ItemsSource = null;
                lstLog.ItemsSource = log;
                if (mensajeRecibido != null)
                {
                    if (mensajeRecibido.Topico == topico)
                    {
                        log.Add($"<{ mensajeRecibido.Mensaje}");
                        if (mensajeRecibido.Mensaje.Contains("="))
                        {
                            string[] parte = mensajeRecibido.Mensaje.Split('=');
                            switch (parte[0])
                            {
                            case "B":
                                lblEB.Text = parte[1] == "1" ? "Encendido" : "Apagado";
                                break;

                            case "R1":
                                lblER1.Text = parte[1] == "1" ? "Encendido" : "Apagado";
                                break;

                            case "R2":
                                lblER2.Text = parte[1] == "1" ? "Encendido" : "Apagado";
                                break;

                            case "R3":
                                lblER3.Text = parte[1] == "1" ? "Encendido" : "Apagado";
                                break;

                            case "R4":
                                lblER4.Text = parte[1] == "1" ? "Encendido" : "Apagado";
                                break;

                            case "R":
                                lblER1.Text = parte[1][0] == '1' ? "Encendido" : "Apagado";
                                lblER2.Text = parte[1][1] == '1' ? "Encendido" : "Apagado";
                                lblER3.Text = parte[1][2] == '1' ? "Encendido" : "Apagado";
                                lblER4.Text = parte[1][3] == '1' ? "Encendido" : "Apagado";
                                break;

                            case "M":
                                lblEM.Text = DateTime.Now.ToShortTimeString();
                                break;

                            default:
                                break;
                            }
                        }
                    }
                    mensajeRecibido = null;
                }
                return(true);
            });
            Thread.Sleep(2000);
            MqttService.Suscribir("SolucionIoTKobra/" + model.DispositivoSeleccionado.Id);
        }