Пример #1
0
        public PhotonsViewModel(Pages.Photons page)
        {
            mainPage = page;

            messagesTimer          = new DispatcherTimer();
            messagesTimer.Tick    += messagesTimer_Tick;
            messagesTimer.Interval = new TimeSpan(0, 0, 0, 0, HANDLE_RECEIVED_EVENTS_PERIOD_IN_MILLISECONDS);

            messagesTimer.Start();

            IpAddress  = App.Current.Resources["IpAddress"].ToString();
            PortNumber = 11000;

            PhotonAModel  = new PhotonModel(Devices.PHOTON_A);
            PhotonBModel  = new PhotonModel(Devices.PHOTON_B);
            PhotonCModel  = new PhotonModel(Devices.PHOTON_C);
            PibrellaModel = new PibrellaModel();

            deviceModels.Add(new DeviceModel(Devices.PHOTON_A));
            deviceModels.Add(new DeviceModel(Devices.PHOTON_B));
            deviceModels.Add(new DeviceModel(Devices.PHOTON_C));

            deviceModels.Add(new DeviceModel(Devices.RASPBERRY_PI_B));
            deviceModels.Add(new DeviceModel(Devices.ANDROID_PHONE));

            deviceModels.Add(new DeviceModel(Devices.WINDOWS_PHONE));
            deviceModels.Add(new DeviceModel(Devices.WINDOWS_SURFACE));

            deviceModels.Add(new DeviceModel(Devices.SERVER));
        }
Пример #2
0
        private void HandlePhotonsMessage(MessageEventArgs e)
        {
            PhotonModel model      = SelectModel(e.FromDevice);
            string      objectName = e.Name;
            string      parameter  = e.Parameter.ToString();

            if (objectName.Equals(Photon.OBJECT_SENSOR))
            {
                if (parameter.Equals(Photon.DATA_SENSOR_TEMPERATURE))
                {
                    model.Temperature = e.Content.ToString();
                }
                else if (parameter.Equals(Photon.DATA_SENSOR_HUMIDITY))
                {
                    model.Humidity = e.Content.ToString();
                }
            }
            else if (objectName.Equals(Photon.OBJECT_BOARD_LED))
            {
                model.BoardLED = e.Content.ToString().Equals(Photon.CONTENT_LED_STATUS_ON);
            }
            else if (objectName.Equals(Photon.OBJECT_RGB_LED))
            {
                if (parameter.Equals(Photon.DATA_RGB_RED))
                {
                    model.RGBRed = Int32.Parse(e.Content.ToString());
                }
                else if (parameter.Equals(Photon.DATA_RGB_GREEN))
                {
                    model.RGBGreen = Int32.Parse(e.Content.ToString());
                }
                else if (parameter.Equals(Photon.DATA_RGB_BLUE))
                {
                    model.RGBBlue = Int32.Parse(e.Content.ToString());
                }
            }
            else if (objectName.Equals(Photon.OBJECT_GREEN_LED))
            {
                model.GreenLED = e.Content.ToString().Equals(Photon.CONTENT_LED_STATUS_ON);
            }
            else if (objectName.Equals(Photon.OBJECT_RED_LED))
            {
                model.RedLED = e.Content.ToString().Equals(Photon.CONTENT_LED_STATUS_ON);
            }
        }