Exemplo n.º 1
0
 public Startup(IConfiguration configuration)
 {
     Configuration = configuration;
     MqttService.Conectar("WEBKobra" + r.Next(0, 10000), "broker.hivemq.com");
     MqttService.Conectado       += MqttService_Conectado;
     MqttService.MensajeRecibido += MqttService_MensajeRecibido;
 }
Exemplo n.º 2
0
        public PanelUsuario(Usuario usuario)
        {
            InitializeComponent();

            this.SizeChanged += PanelUsuario_SizeChanged;
            timer             = new DispatcherTimer
            {
                Interval = new TimeSpan(0, 0, 0, 0, 100)
            };
            timer.Start();
            timer.Tick += Timer_Tick;
            r           = new Random();
            MqttService.Conectar("SolucionIoTWPF" + r.Next(0, 100000).ToString(), "broker.hivemq.com");
            MqttService.Conectado       += MqttService_Conectado;
            MqttService.MensajeRecibido += MqttService_MensajeRecibido;
            MqttService.Error           += MqttService_Error;
            MqttService.Mensaje         += MqttService_Mensaje;
            model                       = this.DataContext as PanelUsuarioModel;
            model.Usuario               = usuario;
            model.Dispositivos          = FactoryManager.DispositivoManager().DispositivosDeUsuarioPorId(usuario.Id).ToList();
            lstDispositivos.ItemsSource = null;
            lstDispositivos.ItemsSource = model.Dispositivos;
            topico                      = "";
        }
Exemplo n.º 3
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);
        }