コード例 #1
0
ファイル: ViewPlant.xaml.cs プロジェクト: kasdin/PlantApp
        private void PlantList_OnItemSelected(object sender, SelectedItemChangedEventArgs e)
        {
            var tappedItem = e.SelectedItem;

            PlantGrid.IsVisible = true;
            PlantList.IsVisible = false;
            Console.WriteLine("Dette er imageUrl: " + ((Plant)tappedItem).imageUrl);
            if ((((Plant)tappedItem).imageUrl) != null)
            {
                PlantPicture.Source = (((Plant)tappedItem).imageUrl);
            }



            plantName.Text = "Navn: " + (((Plant)tappedItem).name);
            plantId.Text   = "ID: " + (((Plant)tappedItem).id);
            plantType.Text = "Type: " + (((Plant)tappedItem).type);
            Console.WriteLine("Jeg er blevet klikket");
            Console.WriteLine(((Plant)tappedItem).id);
            List <AirHumidity> airList = ctr.GetAirHumidity();

            AirHumidity airhums = airList.FindLast(item => item.plantId.Equals(((Plant)tappedItem).id));

            Console.WriteLine("Dette er airhums: " + airhums);
            if (airhums != null)
            {
                plantAirHum.Text = "Air Humidity: " + airhums.humidity;
            }

            List <Temperature> TempList = ctr.GetAirTemperature();
            Temperature        airTemp  = TempList.FindLast(item => item.plantId.Equals(((Plant)tappedItem).id));

            Console.WriteLine("Dette er air Temperature: " + airTemp);
            if (airTemp != null)
            {
                plantAirTemp.Text = "Air Temperature: " + airTemp.temp;
            }

            List <SoilHumidity> soilHumList = ctr.GetSoilHumidity();
            SoilHumidity        soilHum     = soilHumList.FindLast(item => item.plantId.Equals(((Plant)tappedItem).id));

            Console.WriteLine("Dette er air Temperature: " + soilHum);
            if (soilHum != null)
            {
                plantSoilHum.Text = "Soil Humidity: " + soilHum.humidity;
            }
        }
コード例 #2
0
        static public async Task InitParam()
        {
            NUMBER_SPRINKLERS = 3;
            SprDuration       = 20;
            SprinklerPrograms = new ArrayList();

            FileStream fileToRead = null;

            try
            {
                //fileToRead = new FileStream(strDefaultDir + "\\" + strFileProgram, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
                fileToRead = new FileStream(await GetFilePathAsync(strFileProgram), FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
                long fileLength = fileToRead.Length;

                byte[] buf = new byte[fileLength];
                //string mySetupString = "";

                // Reads the data.
                fileToRead.Read(buf, 0, (int)fileLength);
                //await str.ReadAsync(buf,  )
                // convert the read into a string

                List <Param> Params  = Param.decryptParam(new String(Encoding.UTF8.GetChars(buf)));
                int          mSpr    = -1;
                int          mDur    = -1;
                bool         mReboot = false;
                if (Params != null)
                {
                    MySecurityKey = Param.CheckConvertString(Params, paramSecurityKey);
                    mSpr          = Param.CheckConvertInt32(Params, paramSpr);
                    mDur          = Param.CheckConvertInt32(Params, paramDuration);
                    mReboot       = Param.CheckConvertBool(Params, paramReboot);
                }
                //write the last time a boot has happened and initialize the next reboot
                if (mReboot)
                {
                    //MyRebootManager = new Timer(new TimerCallback(RebootManager), null, (mReboot* 3600000), (mReboot* 3660000));
                }
                if (mDur > 0)
                {
                    SprDuration = mDur;
                }
                securityKey = paramSecurityKey + Param.ParamEqual + MySecurityKey;
                if (mSpr != -1)
                {
                    NUMBER_SPRINKLERS = mSpr;
                    // Initiate Sprinklers (3 by default)
                    Sprinklers = new Sprinkler[NUMBER_SPRINKLERS];
                    for (int i = 0; i < Sprinklers.Length; i++)
                    {
                        bool isinvert = Param.CheckConvertBool(Params, paramInv + i);
                        Sprinklers[i] = new Sprinkler(i, isinvert);
                    }
                    for (int i = 0; i < NUMBER_SPRINKLERS; i++)
                    {
                        Sprinklers[i].Name = Param.CheckConvertString(Params, paramSprName + i);
                    }
                }
            }
            catch (Exception e)
            {
                if (fileToRead != null)
                {
                    fileToRead.Dispose();
                }
            }
            soilHumidity = new SoilHumidity();
            await InitIoTHub();
            await InitPrograms();
            await InitTypicalProgam();
            await InitFuzzyLogic();
            await InitPredictions();

            //initialize the relay output
            var gpio = GpioController.GetDefault();

            EnableOutput = gpio.OpenPin(GPIO_PIN);
            EnableOutput.SetDriveMode(GpioPinDriveMode.Output);
            EnableOutput.Write(GpioPinValue.High);
            //init the timer that will ruin every minute to check when to stop/start
            InitTimer();
            //SendDataToAzure("{\"info\":\"Sprinkler system started\",\"DeviceID\":\""+ DeviceId +"\"}");
            LogToAzure("Sprinkler system started");
            ReceiveDataFromAzure();
        }