상속: IDisposable
예제 #1
0
 public Humidity_Air_HIH4000(string Name, bool Simulation, Adc_MCP3208 Adc, int Channel, string CalibrationFile, Logger Logger)
     : this(Name, Simulation, Adc, Channel, Logger)
 {
     //Load the calibration file
     calibration = Calibration_2Points.Load(CalibrationFile);
     Initialization();
 }
예제 #2
0
        public Humidity_Air_HIH4000(string Name, bool Simulation, Adc_MCP3208 adc, int channel, Logger Logger)
            : base(Name, Simulation, Logger)
        {
            logger.Debug("Humidity_Air_HIH4000-Constructor_00");
            logger = Logger;

            logger.Debug("Humidity_Air_HIH4000-Constructor_10");

            this.Adc = adc;
            logger.Debug("Humidity_Air_HIH4000-Constructor_11");

            MinValue = 0;
            MaxValue = 100;

            AlarmMin = MinValue;
            AlarmMax = MaxValue;

            voltage = 3.3;

            Channel = channel;
            firstValue = true;

            if (Simulation)
                SetFirstValue();

            Initialization();
            logger.Debug("Humidity_Air_HIH4000-Constructor_99");
        }
예제 #3
0
        public Light_PhotoResistor(string Name, bool Simulation, Adc_MCP3208 Adc, int Channel, Logger Logger)
            : base(Name, Simulation, Logger)
        {
            this.Adc = Adc;
            this.Channel = Channel;

            MinValue = 0;
            MaxValue = 1000;

            AlarmMin = MinValue;
            AlarmMax = MaxValue;

            voltage = 3.3;

            firstValue = true;

            if (Simulation)
                SetFirstValue();

            Initialization();
        }
예제 #4
0
        static void Main(string[] args)
        {
            Adc_MCP3208 converter = new Adc_MCP3208();
            Logger l = new Logger();
            Light_PhotoResistor sensore = new Light_PhotoResistor("Luciometro", false, converter, 1, l);
            //int lux = 12345;
            DateTime data = DateTime.Now;

            Measurement m = sensore.Measure()[0];
               // string riga = (data + "\t" + "Letto: Lux" + "\t" + m.Value);
            System.IO.StreamWriter file = new System.IO.StreamWriter(@"test.txt", true);

               // Console.WriteLine(riga);
            string temp;
            // do
            {
                temp = Console.ReadLine();
                if (temp != "")
                    file.WriteLine(m.Value + "\t" + "Campionatura: Lux" + "\t" + temp);
                // file.WriteLine(temp);
            }
            // while (temp != "");
            // file.WriteLine(temp + riga );
            file.Close();
            string b = Console.ReadLine();
            int a = int.Parse(b);
            switch(a)
            {
                case 1:
                    Console.WriteLine("Letto: Lux" + m.Value + "\t" + "Campionatura: Lux" + "\t" + temp);
                    break;
                case 2:
                    Console.WriteLine("Letto: Lux" + "\t" + m.Value);
                    break;
                case 3:
                    Console.WriteLine("coming soon");
                    break;
            }
        }
        public Humidity_Terrain_YL69YL38(string Name, bool Simulation, Adc_MCP3208 Adc, int Channel, Logger Logger)
            : base(Name, Simulation, Logger)
        {
            LastMeasurements[0] = new Measurement();

            int channel;
            Initialization();
            this.Adc = Adc;

            MinValue = 0;
            MaxValue = 100;

            AlarmMin = MinValue;
            AlarmMax = MaxValue;

            voltage = 3.3;

            channel = Channel;
            firstValue = true;

            if (Simulation)
                SetFirstValue();
        }
예제 #6
0
    protected void Page_Load(object sender, EventArgs e)
    {
        logger = new Logger();
        logger.LoggingData = false;
        logger.LoggingDebug = false;
        logger.LoggingErrors = false;
        logger.LoggingEvents = false;
        logger.LoggingPrompts = false;

        converter = null;
        sensori = new List<Sensor>();
        dt = new DataTable();

        dt.Columns.Add("GrandezzaFisica");
        dt.Columns.Add("InSimulazione");
        dt.Columns.Add("Dato");
        dt.Columns.Add("IdDatabase");

        try
        {
            sensori = new List<Sensor>();

            //using (StreamReader sr = new StreamReader(pathProgramma + "configuration.tsv"))
            using (StreamReader sr = new StreamReader(pathProgramma + "configurazione.tsv"))
            {
                while (sr.Peek() >= 0)
                {
                    string[] dati = sr.ReadLine().Split('\t');
                    switch (dati[0])
                    {
                        case "Temperature_DS1822":
                            sensori.Add(new Temperature_DS1822(dati[1], bool.Parse(dati[4]), dati[2], logger));
                            sensori[sensori.Count - 1].GotCode = dati[3];
                            break;
                        case "Humidity_Air_HIH4000":
                            sensori.Add(new Humidity_Air_HIH4000(dati[1], bool.Parse(dati[4]), converter, int.Parse(dati[2]), logger));
                            sensori[sensori.Count - 1].GotCode = dati[3];
                            break;
                        case "Light_PhotoResistor":
                            sensori.Add(new Light_PhotoResistor(dati[1], bool.Parse(dati[4]), converter, int.Parse(dati[2]), logger));
                            sensori[sensori.Count - 1].GotCode = dati[3];
                            break;
                        case "Humidity_Terrain_YL69YL38":
                            sensori.Add(new Humidity_Terrain_YL69YL38(dati[1], bool.Parse(dati[4]), converter, int.Parse(dati[2]), logger));
                            sensori[sensori.Count - 1].GotCode = dati[3];
                            break;
                    }
                }
            }
        }
        catch (Exception ex)
        {
            this.Alert("Errore nel caricamento dei sensori" + ex.Message);
        }

        foreach (Sensor s in sensori)
            AddRow(s);

        grdSensori.DataSource = dt;
        grdSensori.DataBind();
    }
예제 #7
0
        private static void Initialize(bool inSimulation)
        {
            Common.logger.Debug("Initialize_00");

            converter = null; // per default il convertitore è null
            if (!inSimulation)
            {
                // acquisizione reale, convertitore
                converter = new Adc_MCP3208();
            }
            Common.logger.Debug("Initialize_10");

            if (readConfigFromFile)
            {   // lettura della configurazione da file
                configureFromFile();
                // intestazione del file dei dati: appende nel file .tsv l'intestazione
                string rigaIntestazione = "Istante campionamento";
                Common.logger.Debug("Initialize_20");
                foreach(Sensor s in Sensors)
                {
                    foreach (Measurement m in s.LastMeasurements)
                    {
                        rigaIntestazione += "\t" + m.Name + " " + m.Unit;
                    }
                }
                Common.logger.Debug("Initialize_30");
                textFileAppend(rigaIntestazione, Gor.Common.DatalogFile);
                Common.logger.Debug("Initialize_40");
            }
            else
            {
                // configurazione fissa
                Common.logger.Debug("Initialize_50");
                fixedConfiguration(inSimulation);
                Common.logger.Debug("Initialize_60");
            }

            //Rtc_PCF8563 rtc = new Rtc_PCF8563(RTC_ADDRESS);

            // mette zero nel file che stabilisce se il programma deve fermarsi
            putZeroInControlFile(Common.CloseCommandFile);
            putZeroInControlFile(Common.AcquireCommandFile);

            Common.logger.Debug("Initialize_99");

            return;
        }
예제 #8
0
        private static void Initialize(bool inSimulation)
        {
            logger.Debug("Initialize_01");

            if (inSimulation)
            {
                // inizializzazioni per la parte di simulazione
                // convertitore
                converter = null;
            }
            else
            {
                // inizializzazioni per la parte di acquisizione reale
                // convertitore
                converter = new Adc_MCP3208();
            }

            // istanziazione dei sensori
            //relativeHumidity = new Humidity_Air_HIH4000(inSimulation, converter, RELATIVE_HUMIDITY_CHANNEL);
            airHumidityAndTemperature = new Humidity_Temperature_Air_DHT22("Umidita", inSimulation, DHT22_IO_PIN, logger);
            //log.Test(airHumidityAndTemperature.AlarmMax.ToString());
            //Sensors.Add(airHumidityAndTemperature);

            logger.Debug("Initialize_10");

            light = new Light_PhotoResistor("Luce", inSimulation, converter,
                PHOTO_RESISTOR_CHANNEL, logger);
            logger.Debug(light.Measure().ToString());
            Sensors.Add(light);

            logger.Debug("Initialize_20");

            try {
                T1 = new Temperature_DS1822("T1", inSimulation, idT1, logger);
                Sensors.Add(T1);
            }
            catch (Exception ex)
            {
                logger.Error("Initialize_T1" + ex.Message);
            }
            try
            {
                T2 = new Temperature_DS1822("T2", inSimulation, idT2, logger);
                Sensors.Add(T2);
            }
            catch (Exception ex)
            {
                logger.Error("Initialize_T2" + ex.Message);
            }
            try
            {
                T3 = new Temperature_DS1822("T3", inSimulation, idT3, logger);
                Sensors.Add(T3);
            }
            catch (Exception ex)
            {
                logger.Error("Initialize_T3" + ex.Message);
            }
            try
            {
                T4 = new Temperature_DS1822("T4", inSimulation, idT4, logger);
                Sensors.Add(T4);
            }
            catch (Exception ex)
            {
                logger.Error("Initialize_T4" + ex.Message);
            }

            //terrainHumidity = new Humidity_Terrain_YL69YL38(inSimulation, converter, TERRAIN_HUMIDITY_CHANNEL);

            //TODO legge la lista Sensori: le linee precedenti  devono essere sostituite
            // Sensori =
            ////////////dbWriter = new GorDbWriter(Sensori);

            // appende nel file .tsv l'intestazione
            string intestazione = "Istante\tUmidita'\tTemper. aria\tTemper. sonda 1\t" +
            "Temper. sonda 2\tTemper. sonda 3\tTemper. sonda 4\tPunti ADC sens. illum.\t" +
            "Punti ADC sens. umid.\n"; // #+ socket.gethostname() +"\n"
            logger.DataLog(intestazione);

            //using (StreamWriter sw = File.AppendText(progamPath + dataLogFile))
            //{
            //    string intestazione = "Istante\tUmidita'\tTemper. aria\tTemper. sonda 1\t" +
            //    "Temper. sonda 2\tTemper. sonda 3\tTemper. sonda 4\tPunti ADC sens. illum.\t" +
            //    "Punti ADC sens. umid.\n"; // #+ socket.gethostname() +"\n"
            //    sw.WriteLine(intestazione);
            //}

            //Rtc_PCF8563 rtc = new Rtc_PCF8563(RTC_ADDRESS);

            // mette zero nel file che stabilisce se il programma deve fermarsi
            zeroInClose();

            logger.Debug("Initialize_99");

            return;
        }