示例#1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        // se si richiama la pagina da fuori NON è postback, per cui gli oggetti
        // vengono istanziati TUTTE le volte
        // TODO fare una sessione e vedere se si riesce ad istanziare i sensori all'interno
        //      della sessione una sola volta
        Gor.Common.InitializeCommonVariables();
        Logger logger = new Logger(Gor.Common.LogsPath, false, "events.txt", "errors.txt",
            "debug.txt", "prompts.txt", "data.txt");
        //Logger logger = new Logger(Gor.Common.LogsPath, false, "tutto.txt", "tutto.txt",
        //    "tutto.txt", "tutto.txt", "data.txt");

        Page.EnableViewState = false;
        visualizzazione.EnableViewState = false;
        contenutoStandard.EnableViewState = false;

        logger.Debug("Gor v." + versione); // i file di log si trovano in /home/pi/gor/logs

        // inizializzazione dei sensori
        Trh = new Humidity_Temperature_Air_DHT22("DHT22_Umidita-Temperatura-aria", false, 11, logger);
        logger.Debug("DHT22-inizializzato");
        //T = new Temperature_DS1822("Sonda temperatura", false, "28-0000062196f0", logger);
        T = new Temperature_DS1822("DS1822_Temperatura-sonda", false, logger);
        logger.Debug("DS1822-inizializzato");
        L = new Light_PhotoResistor("Fotoresistore_Luminosità", false, new Adc_MCP3208(), 1, logger);
        logger.Debug("Photoresistor-inizializzato");
        RH = new Humidity_Air_HIH4000("HIH4000_Umidità-aria", false, new Adc_MCP3208(), 1, logger);
        logger.Debug("HIH4000-inizializzato");

        // acquisizione dati
        // HTML per visualizzazione su pagina Web:
        string vis = "Versione " + versione + "<br/>\n";
        // "xml Serri" per scambio dati con programma "Collector":
        string standard = "<cen>Raspberry</cen><br/>\n<ver>" + versione +"</ver><br/>\n";

        T.Measure();
        vis += T.LastMeasurements[0].ToString() + "<br/>";

        L.Measure();
        vis += L.LastMeasurements[0].ToString() + "<br/>";
        standard += "<lum>" + L.LastMeasurements[0].Value.ToString() + "</lum>\n";

        RH.Measure().ToString();
        vis += RH.LastMeasurements[0].ToString() + "<br/>";

        Trh.Measure().ToString();
        vis += Trh.LastMeasurements[0].ToString() + "<br/>";
        standard += "<tem>" + Trh.LastMeasurements[0].Value.ToString() + "</tem>\n";

        vis += Trh.LastMeasurements[1].ToString() + "<br/>";
        standard += "<umi>" + Trh.LastMeasurements[1].Value.ToString() + "</umi>\n";

        standard += "\n";
        visualizzazione.Text = vis;
        contenutoStandard.Text = standard;
    }
示例#2
0
    protected void btnAggiungi_Click(object sender, EventArgs e)
    {
        Sensor s = null;

        if (rdbTemperature.Checked && txtIdCircuitoIntegratoTemp.Text != "" && txtIdDatabaseTemp.Text != "")
        {
            s = new Temperature_DS1822("Temperatura aria", chkInSim.Checked, txtIdCircuitoIntegratoTemp.Text, logger);
            sensori.Add(s);
            s.GotCode = txtIdDatabaseTemp.Text;
        }
        else if (rdbHIH4000.Checked && txtCanaleHIH.Text != "" && txtIdDatabaseHIH.Text != "")
        {
            s = new Humidity_Air_HIH4000("Umidità aria", chkInSim.Checked, converter, int.Parse(txtCanaleHIH.Text), logger);
            sensori.Add(s);
            s.GotCode = txtIdDatabaseHIH.Text;
        }
        else if (rdbLux.Checked && txtCanaleLux.Text != "" && txtIdDatabaseLux.Text != "")
        {
            s = new Light_PhotoResistor("Illuminazione", chkInSim.Checked, converter, int.Parse(txtCanaleLux.Text), logger);
            sensori.Add(s);
            s.GotCode = txtIdDatabaseLux.Text;
        }
        else if (rdbTerrainHumidity.Checked && txtCanaleTerrain.Text != "" && txtIdDatabaseTerrain.Text != "")
        {
            s = new Humidity_Terrain_YL69YL38("Umidità terreno", chkInSim.Checked, converter, int.Parse(txtCanaleTerrain.Text), logger);
            sensori.Add(s);
            s.GotCode = txtIdDatabaseTerrain.Text;
        }

        if (s != null)
        {
            AddRow(s);
            AggiornaFile();
            grdSensori.DataBind();
        }
    }
示例#3
0
        private static void configureFromFile()
        {
            Common.logger.Debug("configureFromFile_00");
            using (FileStream svs = new FileStream(Gor.Common.ConfigurationFile, FileMode.Open,
                FileAccess.Read, FileShare.Read))
            using (StreamReader rd = new StreamReader(svs))
            {
                Common.logger.Debug("configureFromFile_20");
                string s = rd.ReadToEnd();
                string[] righe = s.Replace("\r", "").Split('\n');
                int i = 0;
                foreach (string riga in righe)
                {
                    Common.logger.Debug("configureFromFile_25: riga " + riga);
                    if (i != 0 && riga.Trim() != "")
                    {
                        string[] campi = riga.Split('\t');
                        Common.logger.Debug("configureFromFile_30 " + campi[0]);
                        Sensor sens = null;
                        switch (campi[0])
                        {
                            case "Temperature_DS1822":
                                {
                                    Common.logger.Debug("configureFromFile_32 Temperature_DS1822 " + campi[1] + campi[4] + campi[2]);
                                    // la seguente usa il costruttore che indica l'ID del sensore
                                    //sens = new Temperature_DS1822(campi[1], bool.Parse(campi[4]), campi[2], Common.logger);
                                    // la seguente usa il costruttore che trova automaticamente l'ID del sensore
                                    sens = new Temperature_DS1822(campi[1], bool.Parse(campi[4]), Common.logger);
                                    break;
                                }
                            case "Humidity_Air_HIH4000":
                                {
                                    Common.logger.Debug("configureFromFile_34 Humidity_Air_HIH4000 " + campi[1] + campi[4] + campi[2]);
                                    sens = new Humidity_Air_HIH4000(campi[1], bool.Parse(campi[4]), converter, int.Parse(campi[2]), Common.logger);
                                    break;
                                }
                            case "Light_PhotoResistor":
                                {
                                    Common.logger.Debug("configureFromFile_36 Light_PhotoResistor " + campi[1] + campi[4] + campi[2]);
                                    sens = new Light_PhotoResistor(campi[1], bool.Parse(campi[4]), converter, int.Parse(campi[2]), Common.logger);
                                    break;
                                }
                            case "Humidity_Temperature_Air_DHT22":
                                {
                                    Common.logger.Debug("configureFromFile_37 Humidity_Temperature_Air_DHT22 " + campi[1] + campi[4] + campi[2]);
                                    sens = new Humidity_Temperature_Air_DHT22(campi[1], bool.Parse(campi[4]), int.Parse(campi[2]), Common.logger);
                                    break;
                                }
                        }
                        Common.logger.Debug("configureFromFile_40 " + campi[5]);
                        sens.AlarmMax = double.Parse(campi[5]);
                        Common.logger.Debug("configureFromFile_42 " + campi[6]);
                        sens.AlarmMin = double.Parse(campi[6]);
                        Common.logger.Debug("configureFromFile_44 " + campi[7]);
                        sens.MaxValue = double.Parse(campi[7]);
                        Common.logger.Debug("configureFromFile_46 " + campi[8]);
                        sens.MinValue = double.Parse(campi[8]);
                        Common.logger.Debug("configureFromFile_48 " + campi[9]);
                        sens.Unit = campi[9];
                        Common.logger.Debug("configureFromFile_50");

                        if (sens != null)
                            Sensors.Add(sens);
                        Common.logger.Debug("configureFromFile_60");
                    }
                    i++;
                }
            }
            Common.logger.Debug("configureFromFile_99");
        }
示例#4
0
        private static void fixedConfiguration(bool inSimulation)
        {
            try
            {
                // istanziazione dei sensori
                relativeHumidity = new Humidity_Air_HIH4000("RH%_HIH4000", inSimulation, converter, RELATIVE_HUMIDITY_CHANNEL, Common.logger);
                Sensors.Add(relativeHumidity);
                Common.logger.Debug("Istanziazione: " + relativeHumidity.Measure().ToString());
            }
            catch
            {
                Common.logger.Error("Istanziazione: Humidity_Air_HIH4000");
            }

            try
            {
                light = new Light_PhotoResistor("Light", inSimulation, converter, PHOTO_RESISTOR_CHANNEL, Common.logger);
                Sensors.Add(light);
                Common.logger.Debug("Istanziazione: " + light.Measure().ToString());
            }
            catch
            {
                Common.logger.Error("Istanziazione: Light_PhotoResistor");
            }

            try
            {
                temperature = new Temperature_DS1822("Tair_DS1822", inSimulation, Common.logger);
                Sensors.Add(temperature);
                Common.logger.Debug("Istanziazione: " + temperature.Measure().ToString());
            }
            catch
            {
                Common.logger.Error("Istanziazione: Temperature_DS1822");
            }
            //terrainHumidity = new Humidity_Terrain_YL69YL38(inSimulation, converter, TERRAIN_HUMIDITY_CHANNEL);
        }