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; }
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"); }
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; }