<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ca">
	<id>https://energia.canfugarolas.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Enric</id>
	<title>Comissió Energia Can Fugarolas - Contribucions de l&#039;usuari [ca]</title>
	<link rel="self" type="application/atom+xml" href="https://energia.canfugarolas.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Enric"/>
	<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Especial:Contribucions/Enric"/>
	<updated>2026-10-24T02:56:16Z</updated>
	<subtitle>Contribucions de l&amp;#039;usuari</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=LlistaMaterial&amp;diff=71</id>
		<title>LlistaMaterial</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=LlistaMaterial&amp;diff=71"/>
		<updated>2015-10-29T08:28:38Z</updated>

		<summary type="html">&lt;p&gt;Enric: /* Node Mestre */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Node esclau=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Placa d’adquisició de dades:&#039;&#039;&#039;&lt;br /&gt;
**Arduino Nano &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Etapa de transducció:&#039;&#039;&#039;&lt;br /&gt;
**Sensor transformador de corrent (sensor CT) (x3) &lt;br /&gt;
**Transformador de tensió AC-AC / 9 V &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Shield casolà sobre placa perforada lineal:&#039;&#039;&#039;&lt;br /&gt;
**Etapa de condicionament corrent: &lt;br /&gt;
***Resistència 33 Ω (x3) &lt;br /&gt;
***Resistència 470 kΩ (x6) &lt;br /&gt;
***Condensador electrolític 10 μF &lt;br /&gt;
***Connector minijack femella &lt;br /&gt;
**Etapa de condicionament tensió: &lt;br /&gt;
***Resistència 100 kΩ &lt;br /&gt;
***Resistència 10 kΩ &lt;br /&gt;
***Resistència 470 kΩ (x2) &lt;br /&gt;
***Condensador electrolític 10 μF &lt;br /&gt;
**Comunicacions: &lt;br /&gt;
***Tira pins femella llargs&lt;br /&gt;
***Zocal 16 pins&lt;br /&gt;
&lt;br /&gt;
=Node Mestre=&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Servidor debian sobre Proxmox&#039;&#039;&#039;&lt;br /&gt;
** Apache, mysql, php5&lt;br /&gt;
** Programari Emoncms.org &lt;br /&gt;
** Script que demana la info a cada arduino i ho passa al programari emoncms&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Comissi%C3%B3_d%27Energia_de_Can_Fugarolas&amp;diff=70</id>
		<title>Comissió d&#039;Energia de Can Fugarolas</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Comissi%C3%B3_d%27Energia_de_Can_Fugarolas&amp;diff=70"/>
		<updated>2015-10-29T08:27:59Z</updated>

		<summary type="html">&lt;p&gt;Enric: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aquest wiki pretén ser un espai per anar posant les diferents experiències que anem tenint a la hora de tirar endavant el projecte de la Comissió d&#039;Energia de Can Fugarolas.&lt;br /&gt;
&lt;br /&gt;
Aquesta comissió té l&#039;objectiu de desenvolupar un sistema de monitorització de baix cost sense que es comprometin criteris de fiabilitat i escalabilitat. El sistema es basa en tecnologies lliures i/o de codi obert amb el que es pretén  reduir  tant  els  costos  del  propi  sistema  com  els  que  en  deriven  del  seu desenvolupament. Mitjançant la potencialitat de les TIC es pretén augmentar la flexibilitat del sistema. &lt;br /&gt;
&lt;br /&gt;
Can Fugarolas és un espai molt gran, on ara mateix hi estant convivint més de 13 col·lectius. És un espai autogestionat, i com a tal, cal fer el mateix amb els consums.&lt;br /&gt;
&lt;br /&gt;
Podeu tenir més informació de l&#039;espai [http://canfugarolas.org aquí].&lt;br /&gt;
&lt;br /&gt;
[[Fitxer:LogoFuga_2.png|center|Can Fugarolas|link=http://canfugarolas.org]]&lt;br /&gt;
&lt;br /&gt;
==Documentació==&lt;br /&gt;
&lt;br /&gt;
*[[LlistaMaterial|Llista de Material]]&lt;br /&gt;
*[[Maquinari|Maquinari]]&lt;br /&gt;
*[[Programari|Programari]]&lt;br /&gt;
*[[Esquema|Distribució dels Arduinos]]&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Fitxer:LogoFuga_2.png&amp;diff=69</id>
		<title>Fitxer:LogoFuga 2.png</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Fitxer:LogoFuga_2.png&amp;diff=69"/>
		<updated>2015-10-29T08:22:51Z</updated>

		<summary type="html">&lt;p&gt;Enric: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Esquema&amp;diff=68</id>
		<title>Esquema</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Esquema&amp;diff=68"/>
		<updated>2015-10-29T08:19:37Z</updated>

		<summary type="html">&lt;p&gt;Enric: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Si voleu veure les dimensions de l&#039;espai i de com, més o menys estant repartits els col·lectius, podeu veure aquest vídeo:&lt;br /&gt;
[http://vimeo.com/83439023]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ACTIU: #2ecc71 | NO ACTIU: #e74c3c | Per configurar: #3498db --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;10&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|+ align=&amp;quot;bottom&amp;quot; style=&amp;quot;color:#252525;&amp;quot; |&#039;&#039;Taula Resum dels Arduinos&#039;&#039;&lt;br /&gt;
!PLANTA&lt;br /&gt;
!DENOMINACIÓ&lt;br /&gt;
!SHIELD&lt;br /&gt;
!NODE&lt;br /&gt;
!IP&lt;br /&gt;
!PINCES&lt;br /&gt;
!CANALS&lt;br /&gt;
!MESURA&lt;br /&gt;
!CAIXA&lt;br /&gt;
!FASE REAL&lt;br /&gt;
|-&lt;br /&gt;
| 2a || Coworking || III || 3 || 192.168.130.3 || A || L1 || Coworking || 1 nou || L1&lt;br /&gt;
|-&lt;br /&gt;
| 2a || Coworking || III || 3 || 192.168.130.3 || B || L2 || Fugart || 1 nou || L2&lt;br /&gt;
|-&lt;br /&gt;
| 2a || Coworking || III || 3 || 192.168.130.3 || C || L3 || Comú || 1 nou || L3&lt;br /&gt;
|-&lt;br /&gt;
| 1a || Estudi i Mig || V || 3 || 192.168.130.5 || A || L1 || Estudi i Mig || 2 nou || L2&lt;br /&gt;
|-&lt;br /&gt;
| 1a || Estudi i Mig || V || 3 || 192.168.130.5 || B || L2 || Taller de Cosir || 2 nou || L2&lt;br /&gt;
|-&lt;br /&gt;
| 1a || Estudi i Mig || V || 3 || 192.168.130.5 || C || L3 || LAC || 2 nou || L2&lt;br /&gt;
|-&lt;br /&gt;
| 1a || Cronopis || VI || 6 || 192.168.130.6 || A || L1 || Cronopis || 3 || L1 Estrella&lt;br /&gt;
|-&lt;br /&gt;
| 1a || Cronopis || VI || 6 || 192.168.130.6 || B || L2 || Cronopis || 3 || L2 Estrella&lt;br /&gt;
|-  &lt;br /&gt;
| 1a || Cronopis || VI || 6 || 192.168.130.6 || C || L3 || Cronopis || 3 || L3 Estrella&lt;br /&gt;
|-&lt;br /&gt;
| Baixa || Cooperatives || IV || 4 || 192.168.130.4 || A || L1 || Cooperatives || 4 || L1&lt;br /&gt;
|-&lt;br /&gt;
| Baixa || Cooperatives || IV || 4 || 192.168.130.4 || B || L2 || Comú || 4 ||&lt;br /&gt;
|-&lt;br /&gt;
| Baixa || Cooperatives || IV || 4 || 192.168.130.4 || C || L3 || Regleta Exterior || 4 ||&lt;br /&gt;
|-&lt;br /&gt;
| Baixa || Taller || II || 2 || 192.168.130.2 || A || L1 || Taller || 4 || L1 Estrella&lt;br /&gt;
|-&lt;br /&gt;
| Baixa || Taller || II || 2 || 192.168.130.2 || B || L2 || Taller || 4 || L2 Estrella&lt;br /&gt;
|-&lt;br /&gt;
| Baixa || Taller || II || 2 || 192.168.130.2 || C || L3 || Taller || 4 || L3 Estrella&lt;br /&gt;
|-&lt;br /&gt;
| 1a || General || I || 1 || 192.168.130.1 || A || L1 || General || 3 || L1 Estrella&lt;br /&gt;
|-&lt;br /&gt;
| 1a || General || I || 1 || 192.168.130.1 || A || L2 || General || 3 || L2 Estrella&lt;br /&gt;
|-&lt;br /&gt;
| 1a || General || I || 1 || 192.168.130.1 || A || L3 || General || 3 || L3 Estrella&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Comissi%C3%B3_d%27Energia_de_Can_Fugarolas&amp;diff=67</id>
		<title>Comissió d&#039;Energia de Can Fugarolas</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Comissi%C3%B3_d%27Energia_de_Can_Fugarolas&amp;diff=67"/>
		<updated>2015-10-29T08:09:31Z</updated>

		<summary type="html">&lt;p&gt;Enric: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aquest wiki pretén ser un espai per anar posant les diferents experiències que anem tenint a la hora de tirar endavant el projecte de la Comissió d&#039;Energia de Can Fugarolas.&lt;br /&gt;
&lt;br /&gt;
Aquesta comissió té l&#039;objectiu de desenvolupar un sistema de monitorització de baix cost sense que es comprometin criteris de fiabilitat i escalabilitat. El sistema es basa en tecnologies lliures i/o de codi obert amb el que es pretén  reduir  tant  els  costos  del  propi  sistema  com  els  que  en  deriven  del  seu desenvolupament. Mitjançant la potencialitat de les TIC es pretén augmentar la flexibilitat del sistema. &lt;br /&gt;
&lt;br /&gt;
Can Fugarolas és un espai molt gran, on ara mateix hi estant convivint més de 13 col·lectius. És un espai autogestionat, i com a tal, cal fer el mateix amb els consums.&lt;br /&gt;
&lt;br /&gt;
Podeu tenir més informació de l&#039;espai [http://canfugarolas.org aquí].&lt;br /&gt;
&lt;br /&gt;
==Documentació==&lt;br /&gt;
&lt;br /&gt;
*[[LlistaMaterial|Llista de Material]]&lt;br /&gt;
*[[Maquinari|Maquinari]]&lt;br /&gt;
*[[Programari|Programari]]&lt;br /&gt;
*[[Esquema|Distribució dels Arduinos]]&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=TrifasicEthernetEthercard&amp;diff=63</id>
		<title>TrifasicEthernetEthercard</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=TrifasicEthernetEthercard&amp;diff=63"/>
		<updated>2015-10-27T20:13:51Z</updated>

		<summary type="html">&lt;p&gt;Enric: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;   &lt;br /&gt;
   &lt;br /&gt;
   #include &amp;lt;EtherCard.h&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
   // ethernet interface mac address, must be unique on the LAN&lt;br /&gt;
   static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x06 };&lt;br /&gt;
   static byte myip[] = { 192,168,130,6 };&lt;br /&gt;
   static byte gwip[] = { 192,168,130,1 };&lt;br /&gt;
   byte Ethernet::buffer[500];&lt;br /&gt;
   BufferFiller bfill;&lt;br /&gt;
   &lt;br /&gt;
   &lt;br /&gt;
   // The Animation loop is to provide some bling to the LCD diaplay&lt;br /&gt;
   &lt;br /&gt;
   #define FILTERSETTLETIME 5000                                                   //  Time (ms) to allow the filters to settle before sending data&lt;br /&gt;
   #define SERIALPRINT								// include print statement for commissioning - comment this line to exclude&lt;br /&gt;
   #define PHASE2 8								//  Number of samples delay for L2&lt;br /&gt;
   #define PHASE3 17								//  Number  of samples delay for L3, also size of array&lt;br /&gt;
   #define RF69_COMPAT 0                                                           // set to 1 to use RFM69CW &lt;br /&gt;
   &lt;br /&gt;
   const int UNO = 0;&lt;br /&gt;
   &lt;br /&gt;
   int inPinV = 6;&lt;br /&gt;
   int inPinI1 = 1;&lt;br /&gt;
   int inPinI2 = 4;&lt;br /&gt;
   int inPinI3 = 7;&lt;br /&gt;
   //Calibration coefficients - see http://openenergymonitor.org/emon/modules/emontx/firmware/calibration%20&lt;br /&gt;
   //These need to be set in order to obtain accurate results&lt;br /&gt;
   double Vcal = 163.8;							// Calibration - constant for voltage input - for ideal power voltage adapter &lt;br /&gt;
   double Ical1 = 60.6;							// Calibration constant for current transformer 1&lt;br /&gt;
   double Ical2 = 60.6;							// Calibration constant for current transformer 2&lt;br /&gt;
   double Ical3 = 60.6;							// Calibration constant for current transformer 3&lt;br /&gt;
   double Phasecal1 = 1.0;						// Calibration constant for phase shift L1&lt;br /&gt;
   double Phasecal2 = 1.6;						// Calibration constant for phase shift L2&lt;br /&gt;
   double Phasecal3 = 1.0;						// Calibration constant for phase shift L3&lt;br /&gt;
   &lt;br /&gt;
   //--------------------------------------------------------------------------------------&lt;br /&gt;
   // Variable declaration for filters, phase shift, voltages, currents &amp;amp; powers&lt;br /&gt;
   //--------------------------------------------------------------------------------------&lt;br /&gt;
   int lastSampleV,sampleV;						//sample_ holds the raw analog read value, lastSample_ holds the last sample&lt;br /&gt;
   int lastSampleI1,sampleI1;&lt;br /&gt;
   int lastSampleI2,sampleI2;&lt;br /&gt;
   int lastSampleI3,sampleI3;&lt;br /&gt;
   &lt;br /&gt;
   double lastFilteredV,filteredV;					//Filtered_ is the raw analog value minus the DC offset&lt;br /&gt;
   double lastFilteredI1, filteredI1;&lt;br /&gt;
   double lastFilteredI2, filteredI2;&lt;br /&gt;
   double lastFilteredI3, filteredI3;&lt;br /&gt;
   &lt;br /&gt;
   double phaseShiftedV1;							//Holds the calibrated delayed &amp;amp; phase shifted voltage.&lt;br /&gt;
   double phaseShiftedV2;&lt;br /&gt;
   double phaseShiftedV3;&lt;br /&gt;
   &lt;br /&gt;
   double sqV,sumV,sqI1,sumI1,sqI2,sumI2,sqI3,sumI3;&lt;br /&gt;
   double instP1,sumP1,instP2,sumP2,instP3,sumP3;	//sq = squared, sum = Sum, inst = instantaneous&lt;br /&gt;
   &lt;br /&gt;
   int startV;										//Instantaneous voltage at start of sample window.&lt;br /&gt;
   int Vrms2;&lt;br /&gt;
   &lt;br /&gt;
   double realPower1,								// The final data&lt;br /&gt;
          apparentPower1,&lt;br /&gt;
          powerFactor1,&lt;br /&gt;
          Irms1,&lt;br /&gt;
   	   realPower2,&lt;br /&gt;
          apparentPower2,&lt;br /&gt;
          powerFactor2,&lt;br /&gt;
          Irms2,&lt;br /&gt;
   	   realPower3,&lt;br /&gt;
          apparentPower3,&lt;br /&gt;
          powerFactor3,&lt;br /&gt;
          Irms3,&lt;br /&gt;
          Vrms;	   &lt;br /&gt;
   &lt;br /&gt;
   	&lt;br /&gt;
   typedef struct { int power1, power2, power3, Vrms; } PayloadTX;		// neat way of packaging data for RF comms&lt;br /&gt;
   																	// (Include all the variables that are desired,&lt;br /&gt;
   																	// ensure the same struct is used to receive)&lt;br /&gt;
   &lt;br /&gt;
   PayloadTX emontx;													// create an instance&lt;br /&gt;
   &lt;br /&gt;
   const int LEDpin = 9;												// On-board emonTx LED &lt;br /&gt;
   &lt;br /&gt;
   boolean settled = false;&lt;br /&gt;
   &lt;br /&gt;
   void calcVI3Ph(int cycles, int timeout)&lt;br /&gt;
   {&lt;br /&gt;
   	int SupplyVoltage = readVcc();&lt;br /&gt;
   	int crossCount = 0;										// Used to measure number of times threshold is crossed.&lt;br /&gt;
   	int numberOfSamples = 0;								// This is now incremented  &lt;br /&gt;
   	int numberOfPowerSamples = 0;							// Needed because 1 cycle of voltages needs to be stored before use&lt;br /&gt;
   	boolean lastVCross, checkVCross;						// Used to measure number of times threshold is crossed.&lt;br /&gt;
   	double storedV[PHASE3];									// Array to store &amp;gt;120 degrees of voltage samples&lt;br /&gt;
   	&lt;br /&gt;
   	//-------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
   	// 1) Waits for the waveform to be close to &#039;zero&#039; (500 adc) part in sin curve.&lt;br /&gt;
   	//-------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
   	boolean st=false;							        // an indicator to exit the while loop&lt;br /&gt;
   &lt;br /&gt;
   	unsigned long start = millis();							// millis()-start makes sure it doesnt get stuck in the loop if there is an error.&lt;br /&gt;
   &lt;br /&gt;
   	while(st==false)								// Wait for first zero crossing...&lt;br /&gt;
   	{&lt;br /&gt;
   		startV = analogRead(inPinV);						// using the voltage waveform&lt;br /&gt;
   		if ((startV &amp;lt; 550) &amp;amp;&amp;amp; (startV &amp;gt; 440)) st=true;		                // check it&#039;s within range&lt;br /&gt;
   		if ((millis()-start)&amp;gt;timeout) st = true;&lt;br /&gt;
   	}&lt;br /&gt;
     &lt;br /&gt;
   	//-------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
   	// 2) Main measurment loop&lt;br /&gt;
   	//------------------------------------------------------------------------------------------------------------------------- &lt;br /&gt;
   	start = millis(); &lt;br /&gt;
   &lt;br /&gt;
   	while ((crossCount &amp;lt; cycles * 2) &amp;amp;&amp;amp; ((millis()-start)&amp;lt;timeout)) &lt;br /&gt;
   	{&lt;br /&gt;
   &lt;br /&gt;
   		lastSampleV=sampleV;								// Used for digital high pass filter - offset removal&lt;br /&gt;
   		lastSampleI1=sampleI1;&lt;br /&gt;
   		lastSampleI2=sampleI2;&lt;br /&gt;
   		lastSampleI3=sampleI3;&lt;br /&gt;
       &lt;br /&gt;
   		lastFilteredV = filteredV;&lt;br /&gt;
   		lastFilteredI1 = filteredI1;  &lt;br /&gt;
   		lastFilteredI2 = filteredI2; &lt;br /&gt;
   		lastFilteredI3 = filteredI3;&lt;br /&gt;
       &lt;br /&gt;
   		//-----------------------------------------------------------------------------&lt;br /&gt;
   		// A) Read in raw voltage and current samples&lt;br /&gt;
   		//-----------------------------------------------------------------------------&lt;br /&gt;
   		sampleV = analogRead(inPinV);						// Read in raw voltage signal&lt;br /&gt;
   		sampleI1 = analogRead(inPinI1);						// Read in raw current signal&lt;br /&gt;
   		sampleI2 = analogRead(inPinI2);						// Read in raw current signal&lt;br /&gt;
   		sampleI3 = analogRead(inPinI3);						// Read in raw current signal&lt;br /&gt;
   &lt;br /&gt;
   		//-----------------------------------------------------------------------------&lt;br /&gt;
   		// B) Apply digital high pass filters to remove 2.5V DC offset (to centre wave on 0).&lt;br /&gt;
   		//-----------------------------------------------------------------------------&lt;br /&gt;
   		filteredV = 0.996*(lastFilteredV+sampleV-lastSampleV);&lt;br /&gt;
   		filteredI1 = 0.996*(lastFilteredI1+sampleI1-lastSampleI1);&lt;br /&gt;
   		filteredI2 = 0.996*(lastFilteredI2+sampleI2-lastSampleI2);&lt;br /&gt;
   		filteredI3 = 0.996*(lastFilteredI3+sampleI3-lastSampleI3);&lt;br /&gt;
      &lt;br /&gt;
   		storedV[numberOfSamples%PHASE3] = filteredV;		// store this voltage sample in circular buffer&lt;br /&gt;
   &lt;br /&gt;
   		if (crossCount &amp;gt; 2)									// one complete cycle has been stored, so can use delayed &lt;br /&gt;
   		{													//    voltage samples to calculate instantaneous powers&lt;br /&gt;
   			//-----------------------------------------------------------------------------&lt;br /&gt;
   			// C) Root-mean-square method voltage&lt;br /&gt;
   			//-----------------------------------------------------------------------------  &lt;br /&gt;
   			sqV= filteredV * filteredV;					        //1) square voltage values&lt;br /&gt;
   			sumV += sqV;								        //2) sum&lt;br /&gt;
   &lt;br /&gt;
   			//-----------------------------------------------------------------------------&lt;br /&gt;
   			// D) Root-mean-square method current&lt;br /&gt;
   			//-----------------------------------------------------------------------------   &lt;br /&gt;
   			sqI1 = filteredI1 * filteredI1;				        //1) square current values&lt;br /&gt;
   			sumI1 += sqI1;								        //2) sum &lt;br /&gt;
   			sqI2 = filteredI2 * filteredI2;&lt;br /&gt;
   			sumI2 += sqI2;&lt;br /&gt;
   			sqI3 = filteredI3 * filteredI3;&lt;br /&gt;
   			sumI3 += sqI3;&lt;br /&gt;
   &lt;br /&gt;
   			//-----------------------------------------------------------------------------&lt;br /&gt;
   			// E) Phase calibration - for Phase 1: shifts V1 to correct transformer errors&lt;br /&gt;
   			//	for phases 2 &amp;amp; 3 delays V1 by 120 degrees &amp;amp; 240 degrees respectively &lt;br /&gt;
   			//	and shifts for fine adjustment and to correct transformer errors.&lt;br /&gt;
   			//-----------------------------------------------------------------------------&lt;br /&gt;
   			phaseShiftedV1 = lastFilteredV + Phasecal1 * (filteredV - lastFilteredV);&lt;br /&gt;
   			phaseShiftedV2 = storedV[(numberOfSamples-PHASE2-1)%PHASE3] &lt;br /&gt;
   				+ Phasecal2 * (storedV[(numberOfSamples-PHASE2)%PHASE3] &lt;br /&gt;
   							 - storedV[(numberOfSamples-PHASE2-1)%PHASE3]);&lt;br /&gt;
   			phaseShiftedV3 = storedV[(numberOfSamples+1)%PHASE3] &lt;br /&gt;
   				+ Phasecal3 * (storedV[(numberOfSamples+2)%PHASE3]&lt;br /&gt;
   							 - storedV[(numberOfSamples+1)%PHASE3]);&lt;br /&gt;
   			&lt;br /&gt;
       &lt;br /&gt;
   			//-----------------------------------------------------------------------------&lt;br /&gt;
   			// F) Instantaneous power calc&lt;br /&gt;
   			//-----------------------------------------------------------------------------   &lt;br /&gt;
   			instP1 = phaseShiftedV1 * filteredI1;			//Instantaneous Power&lt;br /&gt;
   			sumP1 +=instP1;									//Sum  &lt;br /&gt;
   			instP2 = phaseShiftedV2 * filteredI2;&lt;br /&gt;
   			sumP2 +=instP2;&lt;br /&gt;
   			instP3 = phaseShiftedV3 * filteredI3;&lt;br /&gt;
   			sumP3 +=instP3;&lt;br /&gt;
   			&lt;br /&gt;
   			numberOfPowerSamples++;							//Count number of times looped for Power averages.&lt;br /&gt;
   &lt;br /&gt;
   		}&lt;br /&gt;
   		&lt;br /&gt;
   		//-----------------------------------------------------------------------------&lt;br /&gt;
   		// G)  Find the number of times the voltage has crossed the initial voltage&lt;br /&gt;
   		//    	- every 2 crosses we will have sampled 1 wavelength &lt;br /&gt;
   		//   	 - so this method allows us to sample an integer number of half wavelengths which increases accuracy&lt;br /&gt;
   		//-----------------------------------------------------------------------------       &lt;br /&gt;
   		lastVCross = checkVCross;                     &lt;br /&gt;
   		if (sampleV &amp;gt; startV) &lt;br /&gt;
   			checkVCross = true; &lt;br /&gt;
   		else &lt;br /&gt;
   			checkVCross = false;&lt;br /&gt;
   		if (numberOfSamples==1)&lt;br /&gt;
   			lastVCross = checkVCross;                  &lt;br /&gt;
                       &lt;br /&gt;
   		if (lastVCross != checkVCross)&lt;br /&gt;
   			crossCount++;&lt;br /&gt;
   		&lt;br /&gt;
   		numberOfSamples++;									//Count number of times looped.&lt;br /&gt;
   			&lt;br /&gt;
   	}&lt;br /&gt;
    &lt;br /&gt;
   	//-------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
   	// 3) Post loop calculations&lt;br /&gt;
   	//------------------------------------------------------------------------------------------------------------------------- &lt;br /&gt;
   	//Calculation of the root of the mean of the voltage and current squared (rms)&lt;br /&gt;
   	//Calibration coefficients applied. &lt;br /&gt;
     &lt;br /&gt;
   	double V_Ratio = Vcal *((SupplyVoltage/1000.0) / 1023.0);&lt;br /&gt;
   	Vrms = V_Ratio * sqrt(sumV / numberOfPowerSamples); &lt;br /&gt;
     &lt;br /&gt;
   	double I_Ratio1 = Ical1 *((SupplyVoltage/1000.0) / 1023.0);&lt;br /&gt;
   	Irms1 = I_Ratio1 * sqrt(sumI1 / numberOfPowerSamples); &lt;br /&gt;
   	double I_Ratio2 = Ical2 *((SupplyVoltage/1000.0) / 1023.0);&lt;br /&gt;
   	Irms2 = I_Ratio2 * sqrt(sumI2 / numberOfPowerSamples); &lt;br /&gt;
   	double I_Ratio3 = Ical3 *((SupplyVoltage/1000.0) / 1023.0);&lt;br /&gt;
   	Irms3 = I_Ratio3 * sqrt(sumI3 / numberOfPowerSamples); &lt;br /&gt;
   &lt;br /&gt;
   	//Calculation power values&lt;br /&gt;
   	realPower1 = V_Ratio * I_Ratio1 * sumP1 / numberOfPowerSamples;&lt;br /&gt;
   	apparentPower1 = Vrms * Irms1;&lt;br /&gt;
   	powerFactor1 = realPower1 / apparentPower1;&lt;br /&gt;
   &lt;br /&gt;
   	realPower2 = V_Ratio * I_Ratio2 * sumP2 / numberOfPowerSamples;&lt;br /&gt;
   	apparentPower2 = Vrms * Irms2;&lt;br /&gt;
   	powerFactor2 = realPower2 / apparentPower2;&lt;br /&gt;
   &lt;br /&gt;
   	realPower3 = V_Ratio * I_Ratio3 * sumP3 / numberOfPowerSamples;&lt;br /&gt;
   	apparentPower3 = Vrms * Irms3;&lt;br /&gt;
   	powerFactor3 = realPower3 / apparentPower3;&lt;br /&gt;
   &lt;br /&gt;
   	//Reset accumulators&lt;br /&gt;
   	sumV = 0;&lt;br /&gt;
   	sumI1 = 0;&lt;br /&gt;
   	sumI2 = 0;&lt;br /&gt;
   	sumI3 = 0;&lt;br /&gt;
   	sumP1 = 0;&lt;br /&gt;
   	sumP2 = 0;&lt;br /&gt;
   	sumP3 = 0;&lt;br /&gt;
   	//--------------------------------------------------------------------------------------       &lt;br /&gt;
   &lt;br /&gt;
   // Include these statements for development/debugging only. Not used Gerard&lt;br /&gt;
   /*#ifdef DEBUGGING&lt;br /&gt;
   		&lt;br /&gt;
   	Serial.print(&amp;quot;Total Samples: &amp;quot;); Serial.print(numberOfSamples);&lt;br /&gt;
   	Serial.print(&amp;quot; Power Samples: &amp;quot;); Serial.print(numberOfPowerSamples);&lt;br /&gt;
   	Serial.print(&amp;quot; Time: &amp;quot;); Serial.print(millis() - start);&lt;br /&gt;
   	Serial.print(&amp;quot; Crossings: &amp;quot;); Serial.println(crossCount);&lt;br /&gt;
   &lt;br /&gt;
   	for (int j=0; j&amp;lt;PHASE3; j++)&lt;br /&gt;
   	{&lt;br /&gt;
   		Serial.print(storedV[j]); Serial.print(&amp;quot; &amp;quot;);&lt;br /&gt;
   		Serial.println();&lt;br /&gt;
   	}&lt;br /&gt;
   #endif*/&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   //*********************************************************************************************************************&lt;br /&gt;
   &lt;br /&gt;
   long readVcc() &lt;br /&gt;
   {&lt;br /&gt;
     long result;&lt;br /&gt;
     ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);&lt;br /&gt;
     delay(2);&lt;br /&gt;
     ADCSRA |= _BV(ADSC);&lt;br /&gt;
     while (bit_is_set(ADCSRA,ADSC));&lt;br /&gt;
     result = ADCL;&lt;br /&gt;
     result |= ADCH&amp;lt;&amp;lt;8;&lt;br /&gt;
     result = 1126400L / result;&lt;br /&gt;
     return result;&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   &lt;br /&gt;
   // Setup - bring Ethernet, LCD and DHT11 live&lt;br /&gt;
   void setup () {&lt;br /&gt;
     Serial.begin(9600);&lt;br /&gt;
     if (ether.begin(sizeof Ethernet::buffer, mymac, 10) == 0)&lt;br /&gt;
       Serial.println( &amp;quot;Failed to access Ethernet controller&amp;quot;);&lt;br /&gt;
     ether.staticSetup(myip, gwip);&lt;br /&gt;
   }&lt;br /&gt;
   &lt;br /&gt;
   &lt;br /&gt;
   //  Here we build a web page and pass the t and h values into it&lt;br /&gt;
   static word homePage() {&lt;br /&gt;
     //ReadDHT11();&lt;br /&gt;
   &lt;br /&gt;
     bfill = ether.tcpOffset();&lt;br /&gt;
     bfill.emit_p(PSTR(&lt;br /&gt;
     &amp;quot;HTTP/1.0 200 OK\r\n&amp;quot;&lt;br /&gt;
       &amp;quot;Content-Type: text/html\r\n&amp;quot;&lt;br /&gt;
       &amp;quot;\r\n&amp;quot;&lt;br /&gt;
       &amp;quot;$T L1 $T $T $T $T L2 $T $T $T $T L3 $T $T $T $T&amp;quot;),&lt;br /&gt;
     Vrms, Irms1, realPower1, apparentPower1, powerFactor1, realPower2, apparentPower2, powerFactor2, Irms2, realPower3, apparentPower3, powerFactor3, Irms3);&lt;br /&gt;
     return bfill.position();&lt;br /&gt;
   }&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Maquinari&amp;diff=62</id>
		<title>Maquinari</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Maquinari&amp;diff=62"/>
		<updated>2015-10-27T20:11:09Z</updated>

		<summary type="html">&lt;p&gt;Enric: /* Shield */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Shield=&lt;br /&gt;
Aquest esquema permet llegir tres entrades de tensió i tres d&#039;intensitat. També permet afegir un transceptor 252 i enviar les dades a la raspberry a través de protocol Modbus.&lt;br /&gt;
Finalment, però, només llegim una entrada de tensió i enviem les dades a un servidor a través d&#039;un shield etherned.&lt;br /&gt;
La lectura de les entrades i els càlculs els realitza un arduino nano que connectem a la placa.&lt;br /&gt;
&lt;br /&gt;
* [[Hardware|Esquema del Shield]][[Fitxer:ShieldFugaroles.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[Hardware|Shield Acabat ]] [[Fitxer:shield_Acabat.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
=Arduino=&lt;br /&gt;
&lt;br /&gt;
S&#039;utilitza un arduino nano per poder integrar-lo a la mateixa placa.&lt;br /&gt;
&lt;br /&gt;
* [[ArduinoNano| Arduino nano]][[Fitxer:ArduinoNano.jpeg|150px]]&lt;br /&gt;
&lt;br /&gt;
=Connector RJ-45 de l&#039;Arduino=&lt;br /&gt;
S&#039;utilitza la versió del shield ethernet de l&#039;encapsulat 28J60 per encaixar al nano. Aquest shield és menys potent que el wiznet, però més econòmic i petit. Per recollir els valors i enviar-los al servidor quan ens els demani és suficient.&lt;br /&gt;
&lt;br /&gt;
* [[ENC28j60|ENC28j60]][[Fitxer:ENC28j60.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
Degut a que la placa estava dissenyada inicialment per comunicar-se a través de modbus, s&#039;ha d&#039;afegir uns adaptados per afegir el shield ethernet.&lt;br /&gt;
&lt;br /&gt;
* Adaptador de pins [[Fitxer:AdaptadorPins.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
=Cable de Xarxa=&lt;br /&gt;
[[Fitxer:CableXarxa.jpg|150px]]&lt;br /&gt;
=Switch=&lt;br /&gt;
[[Fitxer:Switch.jpg|150px]]&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Comissi%C3%B3_d%27Energia_de_Can_Fugarolas&amp;diff=46</id>
		<title>Comissió d&#039;Energia de Can Fugarolas</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Comissi%C3%B3_d%27Energia_de_Can_Fugarolas&amp;diff=46"/>
		<updated>2015-10-20T17:46:28Z</updated>

		<summary type="html">&lt;p&gt;Enric: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aquest wiki pretén ser un espai per anar posant les diferents experiències que anem tenint a la hora de tirar endavant el projecte de la Comissió d&#039;Energia de Can Fugarolas.&lt;br /&gt;
&lt;br /&gt;
Aquesta comissió té l&#039;objectiu de desenvolupar un sistema de monitorització de baix cost sense que es comprometin criteris de fiabilitat i escalabilitat. El sistema es basa en tecnologies lliures i/o de codi obert amb el que es pretén  reduir  tant  els  costos  del  propi  sistema  com  els  que  en  deriven  del  seu desenvolupament. Mitjançant la potencialitat de les TIC es pretén augmentar la flexibilitat del sistema. &lt;br /&gt;
&lt;br /&gt;
Can Fugarolas és un espai molt gran, on ara mateix hi estant convivint més de 13 col·lectius. És un espai autogestionat, i com a tal, cal fer el mateix amb els consums.&lt;br /&gt;
&lt;br /&gt;
Podeu tenir més informació de l&#039;espai [http://canfugarolas.org aquí].&lt;br /&gt;
&lt;br /&gt;
==Documentació==&lt;br /&gt;
&lt;br /&gt;
*[[Esquema|Distribució dels Arduinos]]&lt;br /&gt;
*[[Maquinari|Maquinari]]&lt;br /&gt;
*[[Programari|Programari]]&lt;br /&gt;
*[[LlistaMaterial|Llista de Material]]&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=ScriptServidor&amp;diff=45</id>
		<title>ScriptServidor</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=ScriptServidor&amp;diff=45"/>
		<updated>2015-10-20T17:41:14Z</updated>

		<summary type="html">&lt;p&gt;Enric: Enric ha mogut ScriptServidor a Scripts del Servidor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Scripts del Servidor]]&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Scripts_del_Servidor&amp;diff=44</id>
		<title>Scripts del Servidor</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Scripts_del_Servidor&amp;diff=44"/>
		<updated>2015-10-20T17:41:14Z</updated>

		<summary type="html">&lt;p&gt;Enric: Enric ha mogut ScriptServidor a Scripts del Servidor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Script per cada Arduino=&lt;br /&gt;
En aquest cas, només posem pel del Shield II.&lt;br /&gt;
&lt;br /&gt;
  #! /bin/bash&lt;br /&gt;
  ### BEGIN INIT INFO&lt;br /&gt;
  # Provides:          getdata 192.168.130.2&lt;br /&gt;
  # Required-Start:    &lt;br /&gt;
  # Required-Stop:&lt;br /&gt;
  # Default-Start:     S&lt;br /&gt;
  # Default-Stop:&lt;br /&gt;
  # Short-Description: Monitoritzacio&lt;br /&gt;
  # Description:       Envia les dades de monitoritzacio que pregunta a l&#039;arduino al propi &lt;br /&gt;
  #                    servidor de monitoritzacio i a emoncms. Tambe guarda les dades en &lt;br /&gt;
  #                    un fitxer local.&lt;br /&gt;
  ### END INIT INFO&lt;br /&gt;
  ESPERA=10&lt;br /&gt;
  FUGA=&amp;quot;http://emon.canfugarolas.org/input/post.json&amp;quot;&lt;br /&gt;
  FUGAKEY=&amp;quot;apikey=888888888888888888888888&amp;quot;&lt;br /&gt;
    do_start () {&lt;br /&gt;
   for j in `seq 1 10`; do &lt;br /&gt;
       vector=(`curl --silent 192.168.130.2`);&lt;br /&gt;
       sleep 2;&lt;br /&gt;
     done;&lt;br /&gt;
   while true; do&lt;br /&gt;
       vector=(`curl -m 1 --silent 192.168.130.2`);&lt;br /&gt;
       v0=`echo ${vector[0]}`&lt;br /&gt;
       while [ -z &amp;quot;$v0&amp;quot; ]; do&lt;br /&gt;
          curl --silent &amp;quot;$FUGA?json={Forat:&amp;quot;1&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
          curl --silent &amp;quot;$EMON?json={Forat:&amp;quot;1&amp;quot;}&amp;amp;node=2&amp;amp;$EMONKEY&amp;quot;;&lt;br /&gt;
          Dades=$(date &#039;+%d/%m/%y %H:%M:%S&#039;)&lt;br /&gt;
          echo $Dades &amp;gt;&amp;gt; /home/enric/Monitoritzacio/DadesArduino2.res&lt;br /&gt;
          vector=(`curl -m 1 --silent 192.168.130.2`);&lt;br /&gt;
          v0=`echo ${vector[0]}`&lt;br /&gt;
          done;&lt;br /&gt;
       v2=`echo ${vector[2]}`&lt;br /&gt;
       v3=`echo ${vector[3]}`&lt;br /&gt;
       v4=`echo ${vector[4]}`&lt;br /&gt;
       v5=`echo ${vector[5]}`&lt;br /&gt;
       v7=`echo ${vector[7]}`&lt;br /&gt;
       v8=`echo ${vector[8]}`&lt;br /&gt;
       v9=`echo ${vector[9]}`&lt;br /&gt;
       v10=`echo ${vector[10]}`&lt;br /&gt;
       v12=`echo ${vector[12]}`&lt;br /&gt;
       v13=`echo ${vector[13]}`&lt;br /&gt;
       v14=`echo ${vector[14]}`&lt;br /&gt;
       v15=`echo ${vector[15]}`&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={voltage:&amp;quot;$v0&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={IL1:&amp;quot;$v2&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={PL1:&amp;quot;$v3&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={SL1:&amp;quot;$v4&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={CosPhiL1:&amp;quot;$v5&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={IL2:&amp;quot;$v7&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={PL2:&amp;quot;$v8&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={SL2:&amp;quot;$v9&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={CosPhiL2:&amp;quot;$v10&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={IL3:&amp;quot;$v12&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={PL3:&amp;quot;$v13&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={SL3:&amp;quot;$v14&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={CosPhiL3:&amp;quot;$v15&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={Forat:&amp;quot;0&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       &lt;br /&gt;
       Dades=$(date &#039;+%d/%m/%y %H:%M:%S&#039;)&lt;br /&gt;
       Dades+=&amp;quot;  &amp;quot;&lt;br /&gt;
       for index in 0 2 3 4 5 7 8 9 10 12 13 14 15 ; do&lt;br /&gt;
          aux=&amp;quot;v$index&amp;quot;&lt;br /&gt;
          Dades+=${!aux}&lt;br /&gt;
          Dades+=&amp;quot; &amp;quot;&lt;br /&gt;
         done;&lt;br /&gt;
       echo $Dades &amp;gt;&amp;gt; /home/enric/Monitoritzacio/DadesArduino2.res&lt;br /&gt;
   sleep $ESPERA &lt;br /&gt;
   done;&lt;br /&gt;
  }&lt;br /&gt;
  case &amp;quot;$1&amp;quot; in&lt;br /&gt;
    start|&amp;quot;&amp;quot;)&lt;br /&gt;
  	do_start&lt;br /&gt;
  	;;&lt;br /&gt;
    restart|reload|force-reload)&lt;br /&gt;
  	echo &amp;quot;Error: argument &#039;$1&#039; not supported&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
  	exit 3&lt;br /&gt;
  	;;&lt;br /&gt;
    stop)&lt;br /&gt;
  	# No-op&lt;br /&gt;
  	;;&lt;br /&gt;
    *)&lt;br /&gt;
  	echo &amp;quot;Usage: getdata.sh start|stop&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
  	exit 3&lt;br /&gt;
  	;;&lt;br /&gt;
  esac&lt;br /&gt;
  :&lt;br /&gt;
&lt;br /&gt;
=Script per copiar scripts=&lt;br /&gt;
Aquest segon script, ens serveix per copiar el primer amb la configuració dels altres, només modificant les ip&#039;s i l&#039;identificador per pujar al programari emoncms.&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  #########################################################################&lt;br /&gt;
  #  Script que copia el fitxer getdata.2.sh a la restar de getdates de &lt;br /&gt;
  #  3 a 7. Canvia la ip 192.168.130.2 per la corresponent i canvia el node=2&lt;br /&gt;
  #  per el node corresponent. &lt;br /&gt;
  #########################################################################&lt;br /&gt;
  for i in `seq 3 7`;&lt;br /&gt;
     do cp /etc/init.d/getdata.2.sh /etc/init.d/getdata.$i.sh;&lt;br /&gt;
     sed -e &amp;quot;s/192.168.130.2/192.168.130.$i/g&amp;quot; /etc/init.d/getdata.$i.sh &amp;gt; /tmp/res.sh;&lt;br /&gt;
     mv /tmp/res.sh /etc/init.d/getdata.$i.sh &lt;br /&gt;
     sed -e &amp;quot;s/DadesArduino2/DadesArduino$i/g&amp;quot; /etc/init.d/getdata.$i.sh &amp;gt; /tmp/res.sh;&lt;br /&gt;
     mv /tmp/res.sh /etc/init.d/getdata.$i.sh &lt;br /&gt;
     sed -e &amp;quot;s/node=2/node=$i/g&amp;quot; /etc/init.d/getdata.$i.sh &amp;gt; /tmp/res.sh;&lt;br /&gt;
     mv /tmp/res.sh /etc/init.d/getdata.$i.sh &lt;br /&gt;
     done;&lt;br /&gt;
  chmod u+x /etc/init.d/getdata.*;&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Scripts_del_Servidor&amp;diff=43</id>
		<title>Scripts del Servidor</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Scripts_del_Servidor&amp;diff=43"/>
		<updated>2015-10-20T17:40:53Z</updated>

		<summary type="html">&lt;p&gt;Enric: /* Script per copiar scripts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Script per cada Arduino=&lt;br /&gt;
En aquest cas, només posem pel del Shield II.&lt;br /&gt;
&lt;br /&gt;
  #! /bin/bash&lt;br /&gt;
  ### BEGIN INIT INFO&lt;br /&gt;
  # Provides:          getdata 192.168.130.2&lt;br /&gt;
  # Required-Start:    &lt;br /&gt;
  # Required-Stop:&lt;br /&gt;
  # Default-Start:     S&lt;br /&gt;
  # Default-Stop:&lt;br /&gt;
  # Short-Description: Monitoritzacio&lt;br /&gt;
  # Description:       Envia les dades de monitoritzacio que pregunta a l&#039;arduino al propi &lt;br /&gt;
  #                    servidor de monitoritzacio i a emoncms. Tambe guarda les dades en &lt;br /&gt;
  #                    un fitxer local.&lt;br /&gt;
  ### END INIT INFO&lt;br /&gt;
  ESPERA=10&lt;br /&gt;
  FUGA=&amp;quot;http://emon.canfugarolas.org/input/post.json&amp;quot;&lt;br /&gt;
  FUGAKEY=&amp;quot;apikey=888888888888888888888888&amp;quot;&lt;br /&gt;
    do_start () {&lt;br /&gt;
   for j in `seq 1 10`; do &lt;br /&gt;
       vector=(`curl --silent 192.168.130.2`);&lt;br /&gt;
       sleep 2;&lt;br /&gt;
     done;&lt;br /&gt;
   while true; do&lt;br /&gt;
       vector=(`curl -m 1 --silent 192.168.130.2`);&lt;br /&gt;
       v0=`echo ${vector[0]}`&lt;br /&gt;
       while [ -z &amp;quot;$v0&amp;quot; ]; do&lt;br /&gt;
          curl --silent &amp;quot;$FUGA?json={Forat:&amp;quot;1&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
          curl --silent &amp;quot;$EMON?json={Forat:&amp;quot;1&amp;quot;}&amp;amp;node=2&amp;amp;$EMONKEY&amp;quot;;&lt;br /&gt;
          Dades=$(date &#039;+%d/%m/%y %H:%M:%S&#039;)&lt;br /&gt;
          echo $Dades &amp;gt;&amp;gt; /home/enric/Monitoritzacio/DadesArduino2.res&lt;br /&gt;
          vector=(`curl -m 1 --silent 192.168.130.2`);&lt;br /&gt;
          v0=`echo ${vector[0]}`&lt;br /&gt;
          done;&lt;br /&gt;
       v2=`echo ${vector[2]}`&lt;br /&gt;
       v3=`echo ${vector[3]}`&lt;br /&gt;
       v4=`echo ${vector[4]}`&lt;br /&gt;
       v5=`echo ${vector[5]}`&lt;br /&gt;
       v7=`echo ${vector[7]}`&lt;br /&gt;
       v8=`echo ${vector[8]}`&lt;br /&gt;
       v9=`echo ${vector[9]}`&lt;br /&gt;
       v10=`echo ${vector[10]}`&lt;br /&gt;
       v12=`echo ${vector[12]}`&lt;br /&gt;
       v13=`echo ${vector[13]}`&lt;br /&gt;
       v14=`echo ${vector[14]}`&lt;br /&gt;
       v15=`echo ${vector[15]}`&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={voltage:&amp;quot;$v0&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={IL1:&amp;quot;$v2&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={PL1:&amp;quot;$v3&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={SL1:&amp;quot;$v4&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={CosPhiL1:&amp;quot;$v5&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={IL2:&amp;quot;$v7&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={PL2:&amp;quot;$v8&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={SL2:&amp;quot;$v9&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={CosPhiL2:&amp;quot;$v10&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={IL3:&amp;quot;$v12&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={PL3:&amp;quot;$v13&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={SL3:&amp;quot;$v14&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={CosPhiL3:&amp;quot;$v15&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={Forat:&amp;quot;0&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       &lt;br /&gt;
       Dades=$(date &#039;+%d/%m/%y %H:%M:%S&#039;)&lt;br /&gt;
       Dades+=&amp;quot;  &amp;quot;&lt;br /&gt;
       for index in 0 2 3 4 5 7 8 9 10 12 13 14 15 ; do&lt;br /&gt;
          aux=&amp;quot;v$index&amp;quot;&lt;br /&gt;
          Dades+=${!aux}&lt;br /&gt;
          Dades+=&amp;quot; &amp;quot;&lt;br /&gt;
         done;&lt;br /&gt;
       echo $Dades &amp;gt;&amp;gt; /home/enric/Monitoritzacio/DadesArduino2.res&lt;br /&gt;
   sleep $ESPERA &lt;br /&gt;
   done;&lt;br /&gt;
  }&lt;br /&gt;
  case &amp;quot;$1&amp;quot; in&lt;br /&gt;
    start|&amp;quot;&amp;quot;)&lt;br /&gt;
  	do_start&lt;br /&gt;
  	;;&lt;br /&gt;
    restart|reload|force-reload)&lt;br /&gt;
  	echo &amp;quot;Error: argument &#039;$1&#039; not supported&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
  	exit 3&lt;br /&gt;
  	;;&lt;br /&gt;
    stop)&lt;br /&gt;
  	# No-op&lt;br /&gt;
  	;;&lt;br /&gt;
    *)&lt;br /&gt;
  	echo &amp;quot;Usage: getdata.sh start|stop&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
  	exit 3&lt;br /&gt;
  	;;&lt;br /&gt;
  esac&lt;br /&gt;
  :&lt;br /&gt;
&lt;br /&gt;
=Script per copiar scripts=&lt;br /&gt;
Aquest segon script, ens serveix per copiar el primer amb la configuració dels altres, només modificant les ip&#039;s i l&#039;identificador per pujar al programari emoncms.&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  #########################################################################&lt;br /&gt;
  #  Script que copia el fitxer getdata.2.sh a la restar de getdates de &lt;br /&gt;
  #  3 a 7. Canvia la ip 192.168.130.2 per la corresponent i canvia el node=2&lt;br /&gt;
  #  per el node corresponent. &lt;br /&gt;
  #########################################################################&lt;br /&gt;
  for i in `seq 3 7`;&lt;br /&gt;
     do cp /etc/init.d/getdata.2.sh /etc/init.d/getdata.$i.sh;&lt;br /&gt;
     sed -e &amp;quot;s/192.168.130.2/192.168.130.$i/g&amp;quot; /etc/init.d/getdata.$i.sh &amp;gt; /tmp/res.sh;&lt;br /&gt;
     mv /tmp/res.sh /etc/init.d/getdata.$i.sh &lt;br /&gt;
     sed -e &amp;quot;s/DadesArduino2/DadesArduino$i/g&amp;quot; /etc/init.d/getdata.$i.sh &amp;gt; /tmp/res.sh;&lt;br /&gt;
     mv /tmp/res.sh /etc/init.d/getdata.$i.sh &lt;br /&gt;
     sed -e &amp;quot;s/node=2/node=$i/g&amp;quot; /etc/init.d/getdata.$i.sh &amp;gt; /tmp/res.sh;&lt;br /&gt;
     mv /tmp/res.sh /etc/init.d/getdata.$i.sh &lt;br /&gt;
     done;&lt;br /&gt;
  chmod u+x /etc/init.d/getdata.*;&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Scripts_del_Servidor&amp;diff=42</id>
		<title>Scripts del Servidor</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Scripts_del_Servidor&amp;diff=42"/>
		<updated>2015-10-20T17:39:07Z</updated>

		<summary type="html">&lt;p&gt;Enric: /* Script per cada Arduino */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Script per cada Arduino=&lt;br /&gt;
En aquest cas, només posem pel del Shield II.&lt;br /&gt;
&lt;br /&gt;
  #! /bin/bash&lt;br /&gt;
  ### BEGIN INIT INFO&lt;br /&gt;
  # Provides:          getdata 192.168.130.2&lt;br /&gt;
  # Required-Start:    &lt;br /&gt;
  # Required-Stop:&lt;br /&gt;
  # Default-Start:     S&lt;br /&gt;
  # Default-Stop:&lt;br /&gt;
  # Short-Description: Monitoritzacio&lt;br /&gt;
  # Description:       Envia les dades de monitoritzacio que pregunta a l&#039;arduino al propi &lt;br /&gt;
  #                    servidor de monitoritzacio i a emoncms. Tambe guarda les dades en &lt;br /&gt;
  #                    un fitxer local.&lt;br /&gt;
  ### END INIT INFO&lt;br /&gt;
  ESPERA=10&lt;br /&gt;
  FUGA=&amp;quot;http://emon.canfugarolas.org/input/post.json&amp;quot;&lt;br /&gt;
  FUGAKEY=&amp;quot;apikey=888888888888888888888888&amp;quot;&lt;br /&gt;
    do_start () {&lt;br /&gt;
   for j in `seq 1 10`; do &lt;br /&gt;
       vector=(`curl --silent 192.168.130.2`);&lt;br /&gt;
       sleep 2;&lt;br /&gt;
     done;&lt;br /&gt;
   while true; do&lt;br /&gt;
       vector=(`curl -m 1 --silent 192.168.130.2`);&lt;br /&gt;
       v0=`echo ${vector[0]}`&lt;br /&gt;
       while [ -z &amp;quot;$v0&amp;quot; ]; do&lt;br /&gt;
          curl --silent &amp;quot;$FUGA?json={Forat:&amp;quot;1&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
          curl --silent &amp;quot;$EMON?json={Forat:&amp;quot;1&amp;quot;}&amp;amp;node=2&amp;amp;$EMONKEY&amp;quot;;&lt;br /&gt;
          Dades=$(date &#039;+%d/%m/%y %H:%M:%S&#039;)&lt;br /&gt;
          echo $Dades &amp;gt;&amp;gt; /home/enric/Monitoritzacio/DadesArduino2.res&lt;br /&gt;
          vector=(`curl -m 1 --silent 192.168.130.2`);&lt;br /&gt;
          v0=`echo ${vector[0]}`&lt;br /&gt;
          done;&lt;br /&gt;
       v2=`echo ${vector[2]}`&lt;br /&gt;
       v3=`echo ${vector[3]}`&lt;br /&gt;
       v4=`echo ${vector[4]}`&lt;br /&gt;
       v5=`echo ${vector[5]}`&lt;br /&gt;
       v7=`echo ${vector[7]}`&lt;br /&gt;
       v8=`echo ${vector[8]}`&lt;br /&gt;
       v9=`echo ${vector[9]}`&lt;br /&gt;
       v10=`echo ${vector[10]}`&lt;br /&gt;
       v12=`echo ${vector[12]}`&lt;br /&gt;
       v13=`echo ${vector[13]}`&lt;br /&gt;
       v14=`echo ${vector[14]}`&lt;br /&gt;
       v15=`echo ${vector[15]}`&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={voltage:&amp;quot;$v0&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={IL1:&amp;quot;$v2&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={PL1:&amp;quot;$v3&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={SL1:&amp;quot;$v4&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={CosPhiL1:&amp;quot;$v5&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={IL2:&amp;quot;$v7&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={PL2:&amp;quot;$v8&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={SL2:&amp;quot;$v9&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={CosPhiL2:&amp;quot;$v10&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={IL3:&amp;quot;$v12&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={PL3:&amp;quot;$v13&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={SL3:&amp;quot;$v14&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={CosPhiL3:&amp;quot;$v15&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={Forat:&amp;quot;0&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       &lt;br /&gt;
       Dades=$(date &#039;+%d/%m/%y %H:%M:%S&#039;)&lt;br /&gt;
       Dades+=&amp;quot;  &amp;quot;&lt;br /&gt;
       for index in 0 2 3 4 5 7 8 9 10 12 13 14 15 ; do&lt;br /&gt;
          aux=&amp;quot;v$index&amp;quot;&lt;br /&gt;
          Dades+=${!aux}&lt;br /&gt;
          Dades+=&amp;quot; &amp;quot;&lt;br /&gt;
         done;&lt;br /&gt;
       echo $Dades &amp;gt;&amp;gt; /home/enric/Monitoritzacio/DadesArduino2.res&lt;br /&gt;
   sleep $ESPERA &lt;br /&gt;
   done;&lt;br /&gt;
  }&lt;br /&gt;
  case &amp;quot;$1&amp;quot; in&lt;br /&gt;
    start|&amp;quot;&amp;quot;)&lt;br /&gt;
  	do_start&lt;br /&gt;
  	;;&lt;br /&gt;
    restart|reload|force-reload)&lt;br /&gt;
  	echo &amp;quot;Error: argument &#039;$1&#039; not supported&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
  	exit 3&lt;br /&gt;
  	;;&lt;br /&gt;
    stop)&lt;br /&gt;
  	# No-op&lt;br /&gt;
  	;;&lt;br /&gt;
    *)&lt;br /&gt;
  	echo &amp;quot;Usage: getdata.sh start|stop&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
  	exit 3&lt;br /&gt;
  	;;&lt;br /&gt;
  esac&lt;br /&gt;
  :&lt;br /&gt;
&lt;br /&gt;
=Script per copiar scripts=&lt;br /&gt;
Aquest segon script, ens serveix per copiar el primer amb la configuració dels altres, només modificant les ip&#039;s i l&#039;identificador per pujar al programari emoncms.&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Scripts_del_Servidor&amp;diff=41</id>
		<title>Scripts del Servidor</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Scripts_del_Servidor&amp;diff=41"/>
		<updated>2015-10-20T17:38:26Z</updated>

		<summary type="html">&lt;p&gt;Enric: Es crea la pàgina amb «=Script per cada Arduino= En aquest cas, només posem pel del Shield II.    #! /bin/bash   ### BEGIN INIT INFO   # Provides:          getdata 192.168.130.2   # Require...».&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Script per cada Arduino=&lt;br /&gt;
En aquest cas, només posem pel del Shield II.&lt;br /&gt;
&lt;br /&gt;
  #! /bin/bash&lt;br /&gt;
  ### BEGIN INIT INFO&lt;br /&gt;
  # Provides:          getdata 192.168.130.2&lt;br /&gt;
  # Required-Start:    &lt;br /&gt;
  # Required-Stop:&lt;br /&gt;
  # Default-Start:     S&lt;br /&gt;
  # Default-Stop:&lt;br /&gt;
  # Short-Description: Monitoritzacio&lt;br /&gt;
  # Description:       Envia les dades de monitoritzacio que pregunta a l&#039;arduino al propi &lt;br /&gt;
  #                    servidor de monitoritzacio i a emoncms. Tambe guarda les dades en &lt;br /&gt;
  #                    un fitxer local.&lt;br /&gt;
  ### END INIT INFO&lt;br /&gt;
  ESPERA=10&lt;br /&gt;
  FUGA=&amp;quot;http://emon.canfugarolas.org/input/post.json&amp;quot;&lt;br /&gt;
  FUGAKEY=&amp;quot;apikey=888888888888888888888888&amp;quot;&lt;br /&gt;
  EMON=&amp;quot;http://emoncms.org/input/post.json&amp;quot;&lt;br /&gt;
  EMONKEY=&amp;quot;apikey=888888888888888888888888&amp;quot;&lt;br /&gt;
  do_start () {&lt;br /&gt;
   for j in `seq 1 10`; do &lt;br /&gt;
       vector=(`curl --silent 192.168.130.2`);&lt;br /&gt;
       sleep 2;&lt;br /&gt;
     done;&lt;br /&gt;
   while true; do&lt;br /&gt;
       vector=(`curl -m 1 --silent 192.168.130.2`);&lt;br /&gt;
       v0=`echo ${vector[0]}`&lt;br /&gt;
       while [ -z &amp;quot;$v0&amp;quot; ]; do&lt;br /&gt;
          curl --silent &amp;quot;$FUGA?json={Forat:&amp;quot;1&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
          curl --silent &amp;quot;$EMON?json={Forat:&amp;quot;1&amp;quot;}&amp;amp;node=2&amp;amp;$EMONKEY&amp;quot;;&lt;br /&gt;
          Dades=$(date &#039;+%d/%m/%y %H:%M:%S&#039;)&lt;br /&gt;
          echo $Dades &amp;gt;&amp;gt; /home/enric/Monitoritzacio/DadesArduino2.res&lt;br /&gt;
          vector=(`curl -m 1 --silent 192.168.130.2`);&lt;br /&gt;
          v0=`echo ${vector[0]}`&lt;br /&gt;
          done;&lt;br /&gt;
       v2=`echo ${vector[2]}`&lt;br /&gt;
       v3=`echo ${vector[3]}`&lt;br /&gt;
       v4=`echo ${vector[4]}`&lt;br /&gt;
       v5=`echo ${vector[5]}`&lt;br /&gt;
       v7=`echo ${vector[7]}`&lt;br /&gt;
       v8=`echo ${vector[8]}`&lt;br /&gt;
       v9=`echo ${vector[9]}`&lt;br /&gt;
       v10=`echo ${vector[10]}`&lt;br /&gt;
       v12=`echo ${vector[12]}`&lt;br /&gt;
       v13=`echo ${vector[13]}`&lt;br /&gt;
       v14=`echo ${vector[14]}`&lt;br /&gt;
       v15=`echo ${vector[15]}`&lt;br /&gt;
&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={voltage:&amp;quot;$v0&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={IL1:&amp;quot;$v2&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={PL1:&amp;quot;$v3&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={SL1:&amp;quot;$v4&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={CosPhiL1:&amp;quot;$v5&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={IL2:&amp;quot;$v7&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={PL2:&amp;quot;$v8&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={SL2:&amp;quot;$v9&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={CosPhiL2:&amp;quot;$v10&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={IL3:&amp;quot;$v12&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={PL3:&amp;quot;$v13&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={SL3:&amp;quot;$v14&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={CosPhiL3:&amp;quot;$v15&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       curl --silent &amp;quot;$FUGA?json={Forat:&amp;quot;0&amp;quot;}&amp;amp;node=2&amp;amp;$FUGAKEY&amp;quot;;&lt;br /&gt;
       &lt;br /&gt;
       Dades=$(date &#039;+%d/%m/%y %H:%M:%S&#039;)&lt;br /&gt;
       Dades+=&amp;quot;  &amp;quot;&lt;br /&gt;
       for index in 0 2 3 4 5 7 8 9 10 12 13 14 15 ; do&lt;br /&gt;
          aux=&amp;quot;v$index&amp;quot;&lt;br /&gt;
          Dades+=${!aux}&lt;br /&gt;
          Dades+=&amp;quot; &amp;quot;&lt;br /&gt;
         done;&lt;br /&gt;
       echo $Dades &amp;gt;&amp;gt; /home/enric/Monitoritzacio/DadesArduino2.res&lt;br /&gt;
   sleep $ESPERA &lt;br /&gt;
   done;&lt;br /&gt;
  }&lt;br /&gt;
  case &amp;quot;$1&amp;quot; in&lt;br /&gt;
    start|&amp;quot;&amp;quot;)&lt;br /&gt;
  	do_start&lt;br /&gt;
  	;;&lt;br /&gt;
    restart|reload|force-reload)&lt;br /&gt;
  	echo &amp;quot;Error: argument &#039;$1&#039; not supported&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
  	exit 3&lt;br /&gt;
  	;;&lt;br /&gt;
    stop)&lt;br /&gt;
  	# No-op&lt;br /&gt;
  	;;&lt;br /&gt;
    *)&lt;br /&gt;
  	echo &amp;quot;Usage: getdata.sh start|stop&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
  	exit 3&lt;br /&gt;
  	;;&lt;br /&gt;
  esac&lt;br /&gt;
  :&lt;br /&gt;
&lt;br /&gt;
=Script per copiar scripts=&lt;br /&gt;
Aquest segon script, ens serveix per copiar el primer amb la configuració dels altres, només modificant les ip&#039;s i l&#039;identificador per pujar al programari emoncms.&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=TrifasicEthernetEthercard&amp;diff=40</id>
		<title>TrifasicEthernetEthercard</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=TrifasicEthernetEthercard&amp;diff=40"/>
		<updated>2015-10-20T17:34:04Z</updated>

		<summary type="html">&lt;p&gt;Enric: Es crea la pàgina amb «  #include &amp;lt;UIPEthernet.h&amp;gt; // Used for Ethernet   #define FILTERSETTLETIME 5000                                                   //  Time (ms) to allow the filters to...».&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  #include &amp;lt;UIPEthernet.h&amp;gt; // Used for Ethernet&lt;br /&gt;
  #define FILTERSETTLETIME 5000                                                   //  Time (ms) to allow the filters to settle before sending data&lt;br /&gt;
  #define SERIALPRINT								// include print statement for commissioning - comment this line to exclude&lt;br /&gt;
  #define PHASE2 8								//  Number of samples delay for L2&lt;br /&gt;
  #define PHASE3 17								//  Number  of samples delay for L3, also size of array&lt;br /&gt;
  #define RF69_COMPAT 0                                                           // set to 1 to use RFM69CW &lt;br /&gt;
  const int UNO = 0;								// Set to 0 if you are not using the UNO bootloader &lt;br /&gt;
  // **** ETHERNET SETTING ****&lt;br /&gt;
  byte mac[] = { 0x54, 0x34, 0x41, 0x30, 0x30, 0x90 };                                      &lt;br /&gt;
  IPAddress ip(192, 168,1,190);                        &lt;br /&gt;
  EthernetServer server(80);&lt;br /&gt;
  int inPinV = 6;&lt;br /&gt;
  int inPinI1 = 1;&lt;br /&gt;
  int inPinI2 = 4;&lt;br /&gt;
  int inPinI3 = 7;&lt;br /&gt;
  //Calibration coefficients - see http://openenergymonitor.org/emon/modules/emontx/firmware/calibration%20&lt;br /&gt;
  //These need to be set in order to obtain accurate results&lt;br /&gt;
  double Vcal = 157.8;							// Calibration - constant for voltage input - for ideal power voltage adapter &lt;br /&gt;
  double Ical1 = 60.6;							// Calibration constant for current transformer 1&lt;br /&gt;
  double Ical2 = 60.6;							// Calibration constant for current transformer 2&lt;br /&gt;
  double Ical3 = 60.6;							// Calibration constant for current transformer 3&lt;br /&gt;
  double Phasecal1 = 1.0;						// Calibration constant for phase shift L1&lt;br /&gt;
  double Phasecal2 = 1.6;						// Calibration constant for phase shift L2&lt;br /&gt;
  double Phasecal3 = 1.0;						// Calibration constant for phase shift L3&lt;br /&gt;
  //--------------------------------------------------------------------------------------&lt;br /&gt;
  // Variable declaration for filters, phase shift, voltages, currents &amp;amp; powers&lt;br /&gt;
  //--------------------------------------------------------------------------------------&lt;br /&gt;
  int lastSampleV,sampleV;						//sample_ holds the raw analog read value, lastSample_ holds the last sample&lt;br /&gt;
  int lastSampleI1,sampleI1;&lt;br /&gt;
  int lastSampleI2,sampleI2;&lt;br /&gt;
  int lastSampleI3,sampleI3;&lt;br /&gt;
  double lastFilteredV,filteredV;					//Filtered_ is the raw analog value minus the DC offset&lt;br /&gt;
  double lastFilteredI1, filteredI1;&lt;br /&gt;
  double lastFilteredI2, filteredI2;&lt;br /&gt;
  double lastFilteredI3, filteredI3;&lt;br /&gt;
  double phaseShiftedV1;							//Holds the calibrated delayed &amp;amp; phase shifted voltage.&lt;br /&gt;
  double phaseShiftedV2;&lt;br /&gt;
  double phaseShiftedV3;&lt;br /&gt;
  double sqV,sumV,sqI1,sumI1,sqI2,sumI2,sqI3,sumI3;&lt;br /&gt;
  double instP1,sumP1,instP2,sumP2,instP3,sumP3;	//sq = squared, sum = Sum, inst = instantaneous&lt;br /&gt;
  int startV;										//Instantaneous voltage at start of sample window.&lt;br /&gt;
  double realPower1,								// The final data&lt;br /&gt;
         apparentPower1,&lt;br /&gt;
         powerFactor1,&lt;br /&gt;
         Irms1,&lt;br /&gt;
  	   realPower2,&lt;br /&gt;
         apparentPower2,&lt;br /&gt;
         powerFactor2,&lt;br /&gt;
         Irms2,&lt;br /&gt;
  	   realPower3,&lt;br /&gt;
         apparentPower3,&lt;br /&gt;
         powerFactor3,&lt;br /&gt;
         Irms3,&lt;br /&gt;
         Vrms;	   &lt;br /&gt;
  typedef struct { int power1, power2, power3, Vrms; } PayloadTX;		// neat way of packaging data for RF comms&lt;br /&gt;
  																	// (Include all the variables that are desired,&lt;br /&gt;
  																	// ensure the same struct is used to receive)&lt;br /&gt;
  PayloadTX emontx;													// create an instance&lt;br /&gt;
  const int LEDpin = 9;												// On-board emonTx LED &lt;br /&gt;
  boolean settled = false;&lt;br /&gt;
  void setup() {&lt;br /&gt;
    Serial.begin(9600);&lt;br /&gt;
    // start the Ethernet connection and the server:&lt;br /&gt;
    Ethernet.begin(mac, ip);&lt;br /&gt;
    server.begin();&lt;br /&gt;
    Serial.print(&amp;quot;IP Address: &amp;quot;);&lt;br /&gt;
    Serial.println(Ethernet.localIP());&lt;br /&gt;
    pinMode(LEDpin, OUTPUT);									// Setup indicator LED&lt;br /&gt;
    digitalWrite(LEDpin, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
  void loop() {&lt;br /&gt;
    // listen for incoming clients&lt;br /&gt;
    EthernetClient client = server.available();&lt;br /&gt;
    if (client)&lt;br /&gt;
    {  &lt;br /&gt;
      Serial.println(&amp;quot;-&amp;gt; New Connection&amp;quot;);&lt;br /&gt;
      calcVI3Ph(11,2000);&lt;br /&gt;
      // Removing these print statements is recommended for normal use (if not required). Not used Gerard&lt;br /&gt;
  /*#ifdef SERIALPRINT&lt;br /&gt;
    Serial.print(&amp;quot;Voltage: &amp;quot;); Serial.println(Vrms);&lt;br /&gt;
    Serial.print(&amp;quot; Current 1: &amp;quot;); Serial.print(Irms1);&lt;br /&gt;
    Serial.print(&amp;quot; Power 1: &amp;quot;); Serial.print(realPower1);&lt;br /&gt;
    Serial.print(&amp;quot; VA 1: &amp;quot;); Serial.print(apparentPower1);&lt;br /&gt;
    Serial.print(&amp;quot; PF 1: &amp;quot;); Serial.println(powerFactor1);&lt;br /&gt;
    Serial.print(&amp;quot; Current 2: &amp;quot;); Serial.print(Irms2);&lt;br /&gt;
    Serial.print(&amp;quot; Power 2: &amp;quot;); Serial.print(realPower2);&lt;br /&gt;
    Serial.print(&amp;quot; VA 2: &amp;quot;); Serial.print(apparentPower2);&lt;br /&gt;
    Serial.print(&amp;quot; PF 2: &amp;quot;); Serial.println(powerFactor2);&lt;br /&gt;
    Serial.print(&amp;quot; Current 3: &amp;quot;); Serial.print(Irms3);&lt;br /&gt;
    Serial.print(&amp;quot; Power 3: &amp;quot;); Serial.print(realPower3);&lt;br /&gt;
    Serial.print(&amp;quot; VA 3: &amp;quot;); Serial.print(apparentPower3);&lt;br /&gt;
    Serial.print(&amp;quot; PF 3: &amp;quot;); Serial.println(powerFactor3);&lt;br /&gt;
    Serial.println(); delay(100);&lt;br /&gt;
  #endif */&lt;br /&gt;
      // an http request ends with a blank line&lt;br /&gt;
      boolean currentLineIsBlank = true;&lt;br /&gt;
      while (client.connected())&lt;br /&gt;
      {&lt;br /&gt;
        if (client.available())&lt;br /&gt;
        {&lt;br /&gt;
          char c = client.read();&lt;br /&gt;
          // if you&#039;ve gotten to the end of the line (received a newline&lt;br /&gt;
          // character) and the line is blank, the http request has ended,&lt;br /&gt;
          // so you can send a reply&lt;br /&gt;
          if (c == &#039;\n&#039; &amp;amp;&amp;amp; currentLineIsBlank)&lt;br /&gt;
          {&lt;br /&gt;
                  client.print(Vrms);&lt;br /&gt;
                  client.print(&amp;quot; &amp;quot;);&lt;br /&gt;
                  client.print(&amp;quot;L1 &amp;quot;);&lt;br /&gt;
                  client.print(Irms1);&lt;br /&gt;
                  client.print(&amp;quot; &amp;quot;);&lt;br /&gt;
                  client.print(realPower1);&lt;br /&gt;
                  client.print(&amp;quot; &amp;quot;);&lt;br /&gt;
                  client.print(apparentPower1);&lt;br /&gt;
                  client.print(&amp;quot; &amp;quot;);&lt;br /&gt;
                  client.print(powerFactor1);&lt;br /&gt;
                  client.print(&amp;quot; &amp;quot;);&lt;br /&gt;
                  client.print(&amp;quot;L2 &amp;quot;);&lt;br /&gt;
                  client.print(Irms2);&lt;br /&gt;
                  client.print(&amp;quot; &amp;quot;);&lt;br /&gt;
                  client.print(realPower2);&lt;br /&gt;
                  client.print(&amp;quot; &amp;quot;);&lt;br /&gt;
                  client.print(apparentPower2);&lt;br /&gt;
                  client.print(&amp;quot; &amp;quot;);&lt;br /&gt;
                  client.print(powerFactor2);&lt;br /&gt;
                  client.print(&amp;quot; &amp;quot;);&lt;br /&gt;
                  client.print(&amp;quot;L3 &amp;quot;);&lt;br /&gt;
                  client.print(&amp;quot; &amp;quot;);&lt;br /&gt;
                  client.print(Irms3);&lt;br /&gt;
                  client.print(&amp;quot; &amp;quot;);&lt;br /&gt;
                  client.print(realPower3);&lt;br /&gt;
                  client.print(&amp;quot; &amp;quot;);&lt;br /&gt;
                  client.print(apparentPower3);&lt;br /&gt;
                  client.print(&amp;quot; &amp;quot;);&lt;br /&gt;
                  client.print(powerFactor3);&lt;br /&gt;
            break;&lt;br /&gt;
          }&lt;br /&gt;
          if (c == &#039;\n&#039;) {&lt;br /&gt;
            // you&#039;re starting a new line&lt;br /&gt;
            currentLineIsBlank = true;&lt;br /&gt;
          }&lt;br /&gt;
          else if (c != &#039;\r&#039;)&lt;br /&gt;
          {&lt;br /&gt;
            // you&#039;ve gotten a character on the current line&lt;br /&gt;
            currentLineIsBlank = false;&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      // give the web browser time to receive the data&lt;br /&gt;
      delay(10);&lt;br /&gt;
      // close the connection:&lt;br /&gt;
      client.stop();&lt;br /&gt;
      Serial.println(&amp;quot;   Disconnected\n&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  void calcVI3Ph(int cycles, int timeout)&lt;br /&gt;
  {&lt;br /&gt;
  	int SupplyVoltage = readVcc();&lt;br /&gt;
  	int crossCount = 0;										// Used to measure number of times threshold is crossed.&lt;br /&gt;
  	int numberOfSamples = 0;								// This is now incremented  &lt;br /&gt;
  	int numberOfPowerSamples = 0;							// Needed because 1 cycle of voltages needs to be stored before use&lt;br /&gt;
  	boolean lastVCross, checkVCross;						// Used to measure number of times threshold is crossed.&lt;br /&gt;
  	double storedV[PHASE3];									// Array to store &amp;gt;120 degrees of voltage samples&lt;br /&gt;
  	//-------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
  	// 1) Waits for the waveform to be close to &#039;zero&#039; (500 adc) part in sin curve.&lt;br /&gt;
  	//-------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
  	boolean st=false;							        // an indicator to exit the while loop&lt;br /&gt;
  	unsigned long start = millis();							// millis()-start makes sure it doesnt get stuck in the loop if there is an error.&lt;br /&gt;
  	while(st==false)								// Wait for first zero crossing...&lt;br /&gt;
  	{&lt;br /&gt;
  		startV = analogRead(inPinV);						// using the voltage waveform&lt;br /&gt;
  		if ((startV &amp;lt; 550) &amp;amp;&amp;amp; (startV &amp;gt; 440)) st=true;		                // check it&#039;s within range&lt;br /&gt;
  		if ((millis()-start)&amp;gt;timeout) st = true;&lt;br /&gt;
  	}&lt;br /&gt;
  	//-------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
  	// 2) Main measurment loop&lt;br /&gt;
  	//------------------------------------------------------------------------------------------------------------------------- &lt;br /&gt;
  	start = millis(); &lt;br /&gt;
  	while ((crossCount &amp;lt; cycles * 2) &amp;amp;&amp;amp; ((millis()-start)&amp;lt;timeout)) &lt;br /&gt;
  	{&lt;br /&gt;
  		lastSampleV=sampleV;								// Used for digital high pass filter - offset removal&lt;br /&gt;
  		lastSampleI1=sampleI1;&lt;br /&gt;
  		lastSampleI2=sampleI2;&lt;br /&gt;
  		lastSampleI3=sampleI3;&lt;br /&gt;
  		lastFilteredV = filteredV;&lt;br /&gt;
  		lastFilteredI1 = filteredI1;  &lt;br /&gt;
  		lastFilteredI2 = filteredI2; &lt;br /&gt;
  		lastFilteredI3 = filteredI3;&lt;br /&gt;
  		//-----------------------------------------------------------------------------&lt;br /&gt;
  		// A) Read in raw voltage and current samples&lt;br /&gt;
  		//-----------------------------------------------------------------------------&lt;br /&gt;
  		sampleV = analogRead(inPinV);						// Read in raw voltage signal&lt;br /&gt;
  		sampleI1 = analogRead(inPinI1);						// Read in raw current signal&lt;br /&gt;
  		sampleI2 = analogRead(inPinI2);						// Read in raw current signal&lt;br /&gt;
  		sampleI3 = analogRead(inPinI3);						// Read in raw current signal&lt;br /&gt;
  		//-----------------------------------------------------------------------------&lt;br /&gt;
  		// B) Apply digital high pass filters to remove 2.5V DC offset (to centre wave on 0).&lt;br /&gt;
  		//-----------------------------------------------------------------------------&lt;br /&gt;
  		filteredV = 0.996*(lastFilteredV+sampleV-lastSampleV);&lt;br /&gt;
  		filteredI1 = 0.996*(lastFilteredI1+sampleI1-lastSampleI1);&lt;br /&gt;
  		filteredI2 = 0.996*(lastFilteredI2+sampleI2-lastSampleI2);&lt;br /&gt;
  		filteredI3 = 0.996*(lastFilteredI3+sampleI3-lastSampleI3);&lt;br /&gt;
  		storedV[numberOfSamples%PHASE3] = filteredV;		// store this voltage sample in circular buffer&lt;br /&gt;
  		if (crossCount &amp;gt; 2)									// one complete cycle has been stored, so can use delayed &lt;br /&gt;
  		{													//    voltage samples to calculate instantaneous powers&lt;br /&gt;
  			//-----------------------------------------------------------------------------&lt;br /&gt;
  			// C) Root-mean-square method voltage&lt;br /&gt;
  			//-----------------------------------------------------------------------------  &lt;br /&gt;
  			sqV= filteredV * filteredV;					        //1) square voltage values&lt;br /&gt;
  			sumV += sqV;								        //2) sum&lt;br /&gt;
  			//-----------------------------------------------------------------------------&lt;br /&gt;
  			// D) Root-mean-square method current&lt;br /&gt;
  			//-----------------------------------------------------------------------------   &lt;br /&gt;
  			sqI1 = filteredI1 * filteredI1;				        //1) square current values&lt;br /&gt;
  			sumI1 += sqI1;								        //2) sum &lt;br /&gt;
  			sqI2 = filteredI2 * filteredI2;&lt;br /&gt;
  			sumI2 += sqI2;&lt;br /&gt;
  			sqI3 = filteredI3 * filteredI3;&lt;br /&gt;
  			sumI3 += sqI3;&lt;br /&gt;
  			//-----------------------------------------------------------------------------&lt;br /&gt;
  			// E) Phase calibration - for Phase 1: shifts V1 to correct transformer errors&lt;br /&gt;
  			//	for phases 2 &amp;amp; 3 delays V1 by 120 degrees &amp;amp; 240 degrees respectively &lt;br /&gt;
  			//	and shifts for fine adjustment and to correct transformer errors.&lt;br /&gt;
  			//-----------------------------------------------------------------------------&lt;br /&gt;
  			phaseShiftedV1 = lastFilteredV + Phasecal1 * (filteredV - lastFilteredV);&lt;br /&gt;
  			phaseShiftedV2 = storedV[(numberOfSamples-PHASE2-1)%PHASE3] &lt;br /&gt;
  				+ Phasecal2 * (storedV[(numberOfSamples-PHASE2)%PHASE3] &lt;br /&gt;
  							 - storedV[(numberOfSamples-PHASE2-1)%PHASE3]);&lt;br /&gt;
  			phaseShiftedV3 = storedV[(numberOfSamples+1)%PHASE3] &lt;br /&gt;
  				+ Phasecal3 * (storedV[(numberOfSamples+2)%PHASE3]&lt;br /&gt;
  							 - storedV[(numberOfSamples+1)%PHASE3]);&lt;br /&gt;
  			//-----------------------------------------------------------------------------&lt;br /&gt;
  			// F) Instantaneous power calc&lt;br /&gt;
  			//-----------------------------------------------------------------------------   &lt;br /&gt;
  			instP1 = phaseShiftedV1 * filteredI1;			//Instantaneous Power&lt;br /&gt;
  			sumP1 +=instP1;									//Sum  &lt;br /&gt;
  			instP2 = phaseShiftedV2 * filteredI2;&lt;br /&gt;
  			sumP2 +=instP2;&lt;br /&gt;
  			instP3 = phaseShiftedV3 * filteredI3;&lt;br /&gt;
  			sumP3 +=instP3;&lt;br /&gt;
  			numberOfPowerSamples++;							//Count number of times looped for Power averages.&lt;br /&gt;
  		}&lt;br /&gt;
  		//-----------------------------------------------------------------------------&lt;br /&gt;
  		// G)  Find the number of times the voltage has crossed the initial voltage&lt;br /&gt;
  		//    	- every 2 crosses we will have sampled 1 wavelength &lt;br /&gt;
  		//   	 - so this method allows us to sample an integer number of half wavelengths which increases accuracy&lt;br /&gt;
  		//-----------------------------------------------------------------------------       &lt;br /&gt;
  		lastVCross = checkVCross;                     &lt;br /&gt;
  		if (sampleV &amp;gt; startV) &lt;br /&gt;
  			checkVCross = true; &lt;br /&gt;
  		else &lt;br /&gt;
  			checkVCross = false;&lt;br /&gt;
  		if (numberOfSamples==1)&lt;br /&gt;
  			lastVCross = checkVCross;                  &lt;br /&gt;
  		if (lastVCross != checkVCross)&lt;br /&gt;
  			crossCount++;&lt;br /&gt;
  		numberOfSamples++;									//Count number of times looped.&lt;br /&gt;
  	}&lt;br /&gt;
  	//-------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
  	// 3) Post loop calculations&lt;br /&gt;
  	//------------------------------------------------------------------------------------------------------------------------- &lt;br /&gt;
  	//Calculation of the root of the mean of the voltage and current squared (rms)&lt;br /&gt;
  	//Calibration coefficients applied. &lt;br /&gt;
  	double V_Ratio = Vcal *((SupplyVoltage/1000.0) / 1023.0);&lt;br /&gt;
  	Vrms = V_Ratio * sqrt(sumV / numberOfPowerSamples); &lt;br /&gt;
  	double I_Ratio1 = Ical1 *((SupplyVoltage/1000.0) / 1023.0);&lt;br /&gt;
  	Irms1 = I_Ratio1 * sqrt(sumI1 / numberOfPowerSamples); &lt;br /&gt;
  	double I_Ratio2 = Ical2 *((SupplyVoltage/1000.0) / 1023.0);&lt;br /&gt;
  	Irms2 = I_Ratio2 * sqrt(sumI2 / numberOfPowerSamples); &lt;br /&gt;
  	double I_Ratio3 = Ical3 *((SupplyVoltage/1000.0) / 1023.0);&lt;br /&gt;
  	Irms3 = I_Ratio3 * sqrt(sumI3 / numberOfPowerSamples); &lt;br /&gt;
  	//Calculation power values&lt;br /&gt;
  	realPower1 = V_Ratio * I_Ratio1 * sumP1 / numberOfPowerSamples;&lt;br /&gt;
  	apparentPower1 = Vrms * Irms1;&lt;br /&gt;
  	powerFactor1 = realPower1 / apparentPower1;&lt;br /&gt;
  	realPower2 = V_Ratio * I_Ratio2 * sumP2 / numberOfPowerSamples;&lt;br /&gt;
  	apparentPower2 = Vrms * Irms2;&lt;br /&gt;
  	powerFactor2 = realPower2 / apparentPower2;&lt;br /&gt;
  	realPower3 = V_Ratio * I_Ratio3 * sumP3 / numberOfPowerSamples;&lt;br /&gt;
  	apparentPower3 = Vrms * Irms3;&lt;br /&gt;
  	powerFactor3 = realPower3 / apparentPower3;&lt;br /&gt;
  	//Reset accumulators&lt;br /&gt;
  	sumV = 0;&lt;br /&gt;
  	sumI1 = 0;&lt;br /&gt;
  	sumI2 = 0;&lt;br /&gt;
  	sumI3 = 0;&lt;br /&gt;
  	sumP1 = 0;&lt;br /&gt;
  	sumP2 = 0;&lt;br /&gt;
  	sumP3 = 0;&lt;br /&gt;
  	//--------------------------------------------------------------------------------------       &lt;br /&gt;
  // Include these statements for development/debugging only. Not used Gerard&lt;br /&gt;
  /*#ifdef DEBUGGING&lt;br /&gt;
  	Serial.print(&amp;quot;Total Samples: &amp;quot;); Serial.print(numberOfSamples);&lt;br /&gt;
  	Serial.print(&amp;quot; Power Samples: &amp;quot;); Serial.print(numberOfPowerSamples);&lt;br /&gt;
  	Serial.print(&amp;quot; Time: &amp;quot;); Serial.print(millis() - start);&lt;br /&gt;
  	Serial.print(&amp;quot; Crossings: &amp;quot;); Serial.println(crossCount);&lt;br /&gt;
  	for (int j=0; j&amp;lt;PHASE3; j++)&lt;br /&gt;
  	{&lt;br /&gt;
  		Serial.print(storedV[j]); Serial.print(&amp;quot; &amp;quot;);&lt;br /&gt;
  		Serial.println();&lt;br /&gt;
  	}&lt;br /&gt;
  #endif*/&lt;br /&gt;
  }&lt;br /&gt;
  //*********************************************************************************************************************&lt;br /&gt;
  long readVcc() &lt;br /&gt;
  {&lt;br /&gt;
    long result;&lt;br /&gt;
    ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);&lt;br /&gt;
    delay(2);&lt;br /&gt;
    ADCSRA |= _BV(ADSC);&lt;br /&gt;
    while (bit_is_set(ADCSRA,ADSC));&lt;br /&gt;
    result = ADCL;&lt;br /&gt;
    result |= ADCH&amp;lt;&amp;lt;8;&lt;br /&gt;
    result = 1126400L / result;&lt;br /&gt;
    return result;&lt;br /&gt;
  }&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Programari&amp;diff=39</id>
		<title>Programari</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Programari&amp;diff=39"/>
		<updated>2015-10-20T17:33:40Z</updated>

		<summary type="html">&lt;p&gt;Enric: Es crea la pàgina amb «=Emon= Programari per mostrar els consums, amb llicència GPL, que funciona amb un servidor web amb PHP i mysql. [http://emoncms.org] =Biblioteca de l&amp;#039;ENC28j60= Llibre...».&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Emon=&lt;br /&gt;
Programari per mostrar els consums, amb llicència GPL, que funciona amb un servidor web amb PHP i mysql.&lt;br /&gt;
[http://emoncms.org]&lt;br /&gt;
=Biblioteca de l&#039;ENC28j60=&lt;br /&gt;
Llibreries en constant modificació per treure tot el possible potencial del connector de xarxa.&lt;br /&gt;
[https://github.com/jcw/ethercard]&lt;br /&gt;
=Arduino=&lt;br /&gt;
Programari utilitzat per l&#039;arduino, derivat de trifasic_ethernet_ethercard. &lt;br /&gt;
Us deixem el codi [[TrifasicEthernetEthercard|aquí]]&lt;br /&gt;
=Scripts del Servidor=&lt;br /&gt;
Hem utilitzat un script, que és quasi igual per cada arduino.&lt;br /&gt;
Els scripts per cada arduino els executem simultàniament. Els executem tant bon punt el servidor s&#039;engega, el qual ha d&#039;estar sempre engegat.&lt;br /&gt;
I afegim un segon script, que un cop modificat el primer, en fa copia igual per els altres modificant les petites variacions per automatitzar el procés.&lt;br /&gt;
Us deixem els codis [[ScriptServidor|aquí]].&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Maquinari&amp;diff=38</id>
		<title>Maquinari</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Maquinari&amp;diff=38"/>
		<updated>2015-10-20T17:07:37Z</updated>

		<summary type="html">&lt;p&gt;Enric: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Shield=&lt;br /&gt;
* [[Hardware|Esquema del Shield]][[Fitxer:ShieldFugaroles.jpg|150px]]&lt;br /&gt;
=Arduino=&lt;br /&gt;
* [[ArduinoNano| Arduino nano]][[Fitxer:ArduinoNano.jpeg|150px]]&lt;br /&gt;
=Connector RJ-45 de l&#039;Arduino=&lt;br /&gt;
* [[ENC28j60|ENC28j60]][[Fitxer:ENC28j60.jpg|150px]]&lt;br /&gt;
* Adaptador de pins [[Fitxer:AdaptadorPins.jpg|150px]]&lt;br /&gt;
=Cable de Xarxa=&lt;br /&gt;
[[Fitxer:CableXarxa.jpg|150px]]&lt;br /&gt;
=Switch=&lt;br /&gt;
[[Fitxer:Switch.jpg|150px]]&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Fitxer:Adaptador_pins.jpg&amp;diff=37</id>
		<title>Fitxer:Adaptador pins.jpg</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Fitxer:Adaptador_pins.jpg&amp;diff=37"/>
		<updated>2015-10-20T17:06:18Z</updated>

		<summary type="html">&lt;p&gt;Enric: Enric ha mogut Fitxer:Adaptador pins.jpg a Fitxer:AdaptadorPins.jpg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Fitxer:AdaptadorPins.jpg]]&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Fitxer:AdaptadorPins.jpg&amp;diff=36</id>
		<title>Fitxer:AdaptadorPins.jpg</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Fitxer:AdaptadorPins.jpg&amp;diff=36"/>
		<updated>2015-10-20T17:06:18Z</updated>

		<summary type="html">&lt;p&gt;Enric: Enric ha mogut Fitxer:Adaptador pins.jpg a Fitxer:AdaptadorPins.jpg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Fitxer:AdaptadorPins.jpg&amp;diff=35</id>
		<title>Fitxer:AdaptadorPins.jpg</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Fitxer:AdaptadorPins.jpg&amp;diff=35"/>
		<updated>2015-10-20T17:05:51Z</updated>

		<summary type="html">&lt;p&gt;Enric: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Maquinari&amp;diff=34</id>
		<title>Maquinari</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Maquinari&amp;diff=34"/>
		<updated>2015-10-20T16:57:27Z</updated>

		<summary type="html">&lt;p&gt;Enric: /* Switch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Shield=&lt;br /&gt;
* [[Hardware|Esquema del Shield]][[Fitxer:ShieldFugaroles.jpg|150px]]&lt;br /&gt;
=Arduino=&lt;br /&gt;
* [[ArduinoNano| Arduino nano]][[Fitxer:ArduinoNano.jpeg|150px]]&lt;br /&gt;
=Connector RJ-45 de l&#039;Arduino=&lt;br /&gt;
* [[ENC28j60|ENC28j60]][[Fitxer:ENC28j60.jpg|150px]]&lt;br /&gt;
=Cable de Xarxa=&lt;br /&gt;
[[Fitxer:CableXarxa.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
=Switch=&lt;br /&gt;
[[Fitxer:Switch.jpg|150px]]&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Maquinari&amp;diff=33</id>
		<title>Maquinari</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Maquinari&amp;diff=33"/>
		<updated>2015-10-20T16:57:19Z</updated>

		<summary type="html">&lt;p&gt;Enric: /* Switch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Shield=&lt;br /&gt;
* [[Hardware|Esquema del Shield]][[Fitxer:ShieldFugaroles.jpg|150px]]&lt;br /&gt;
=Arduino=&lt;br /&gt;
* [[ArduinoNano| Arduino nano]][[Fitxer:ArduinoNano.jpeg|150px]]&lt;br /&gt;
=Connector RJ-45 de l&#039;Arduino=&lt;br /&gt;
* [[ENC28j60|ENC28j60]][[Fitxer:ENC28j60.jpg|150px]]&lt;br /&gt;
=Cable de Xarxa=&lt;br /&gt;
[[Fitxer:CableXarxa.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
=Switch=&lt;br /&gt;
[[Fitxer:Switch.jpg]]&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Maquinari&amp;diff=32</id>
		<title>Maquinari</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Maquinari&amp;diff=32"/>
		<updated>2015-10-20T16:56:58Z</updated>

		<summary type="html">&lt;p&gt;Enric: /* Cable de Xarxa */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Shield=&lt;br /&gt;
* [[Hardware|Esquema del Shield]][[Fitxer:ShieldFugaroles.jpg|150px]]&lt;br /&gt;
=Arduino=&lt;br /&gt;
* [[ArduinoNano| Arduino nano]][[Fitxer:ArduinoNano.jpeg|150px]]&lt;br /&gt;
=Connector RJ-45 de l&#039;Arduino=&lt;br /&gt;
* [[ENC28j60|ENC28j60]][[Fitxer:ENC28j60.jpg|150px]]&lt;br /&gt;
=Cable de Xarxa=&lt;br /&gt;
[[Fitxer:CableXarxa.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
=Switch=&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Maquinari&amp;diff=31</id>
		<title>Maquinari</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Maquinari&amp;diff=31"/>
		<updated>2015-10-20T16:56:47Z</updated>

		<summary type="html">&lt;p&gt;Enric: /* Cable de Xarxa */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Shield=&lt;br /&gt;
* [[Hardware|Esquema del Shield]][[Fitxer:ShieldFugaroles.jpg|150px]]&lt;br /&gt;
=Arduino=&lt;br /&gt;
* [[ArduinoNano| Arduino nano]][[Fitxer:ArduinoNano.jpeg|150px]]&lt;br /&gt;
=Connector RJ-45 de l&#039;Arduino=&lt;br /&gt;
* [[ENC28j60|ENC28j60]][[Fitxer:ENC28j60.jpg|150px]]&lt;br /&gt;
=Cable de Xarxa=&lt;br /&gt;
[[Fitxer:CableXarxa.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Switch=&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Fitxer:Switch.jpg&amp;diff=30</id>
		<title>Fitxer:Switch.jpg</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Fitxer:Switch.jpg&amp;diff=30"/>
		<updated>2015-10-20T16:56:23Z</updated>

		<summary type="html">&lt;p&gt;Enric: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Fitxer:CableXarxa.jpg&amp;diff=29</id>
		<title>Fitxer:CableXarxa.jpg</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Fitxer:CableXarxa.jpg&amp;diff=29"/>
		<updated>2015-10-20T16:56:04Z</updated>

		<summary type="html">&lt;p&gt;Enric: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Maquinari&amp;diff=28</id>
		<title>Maquinari</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Maquinari&amp;diff=28"/>
		<updated>2015-10-20T16:52:20Z</updated>

		<summary type="html">&lt;p&gt;Enric: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Shield=&lt;br /&gt;
* [[Hardware|Esquema del Shield]][[Fitxer:ShieldFugaroles.jpg|150px]]&lt;br /&gt;
=Arduino=&lt;br /&gt;
* [[ArduinoNano| Arduino nano]][[Fitxer:ArduinoNano.jpeg|150px]]&lt;br /&gt;
=Connector RJ-45 de l&#039;Arduino=&lt;br /&gt;
* [[ENC28j60|ENC28j60]][[Fitxer:ENC28j60.jpg|150px]]&lt;br /&gt;
=Cable de Xarxa=&lt;br /&gt;
=Switch=&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Maquinari&amp;diff=27</id>
		<title>Maquinari</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Maquinari&amp;diff=27"/>
		<updated>2015-10-20T16:51:15Z</updated>

		<summary type="html">&lt;p&gt;Enric: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Shield&lt;br /&gt;
** [[Hardware|Esquema del Shield]][[Fitxer:ShieldFugaroles.jpg|150px]]&lt;br /&gt;
* Arduino&lt;br /&gt;
** [[ArduinoNano| Arduino nano]][[Fitxer:ArduinoNano.jpeg|150px]]&lt;br /&gt;
* Connector RJ-45 de l&#039;Arduino&lt;br /&gt;
** [[ENC28j60|ENC28j60]][[Fitxer:ENC28j60.jpg|150px]]&lt;br /&gt;
* Cable de Xarxa&lt;br /&gt;
* Switch&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=ENC28j60&amp;diff=26</id>
		<title>ENC28j60</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=ENC28j60&amp;diff=26"/>
		<updated>2015-10-20T16:47:29Z</updated>

		<summary type="html">&lt;p&gt;Enric: Es crea la pàgina amb «Fitxer:ENC28j60.jpg».&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fitxer:ENC28j60.jpg]]&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Fitxer:ENC28j60.jpg&amp;diff=25</id>
		<title>Fitxer:ENC28j60.jpg</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Fitxer:ENC28j60.jpg&amp;diff=25"/>
		<updated>2015-10-20T16:47:13Z</updated>

		<summary type="html">&lt;p&gt;Enric: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=ArduinoNano&amp;diff=24</id>
		<title>ArduinoNano</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=ArduinoNano&amp;diff=24"/>
		<updated>2015-10-20T16:45:25Z</updated>

		<summary type="html">&lt;p&gt;Enric: Es crea la pàgina amb «Fitxer:ArduinoNano.jpeg».&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fitxer:ArduinoNano.jpeg]]&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Fitxer:ArduinoNano.jpeg&amp;diff=23</id>
		<title>Fitxer:ArduinoNano.jpeg</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Fitxer:ArduinoNano.jpeg&amp;diff=23"/>
		<updated>2015-10-20T16:45:02Z</updated>

		<summary type="html">&lt;p&gt;Enric: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Maquinari&amp;diff=22</id>
		<title>Maquinari</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Maquinari&amp;diff=22"/>
		<updated>2015-10-20T16:42:25Z</updated>

		<summary type="html">&lt;p&gt;Enric: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Shield&lt;br /&gt;
** [[Hardware|Esquema del Shield]]&lt;br /&gt;
* Arduino&lt;br /&gt;
** [[ArduinoNano| Arduino nano]]  &lt;br /&gt;
* Connector RJ-45 de l&#039;Arduino&lt;br /&gt;
** [[ENC28j60|ENC28j60]]&lt;br /&gt;
* Cable de Xarxa&lt;br /&gt;
* Switch&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Maquinari&amp;diff=21</id>
		<title>Maquinari</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Maquinari&amp;diff=21"/>
		<updated>2015-10-20T16:39:44Z</updated>

		<summary type="html">&lt;p&gt;Enric: Es crea la pàgina amb «* Shield ** Esquema del Shield * Arduino **  Arduino nano   * Cable de Xarxa * Switch».&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Shield&lt;br /&gt;
** [[Hardware|Esquema del Shield]]&lt;br /&gt;
* Arduino&lt;br /&gt;
** [[ArduinoNano| Arduino nano]]  &lt;br /&gt;
* Cable de Xarxa&lt;br /&gt;
* Switch&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Comissi%C3%B3_d%27Energia_de_Can_Fugarolas&amp;diff=20</id>
		<title>Comissió d&#039;Energia de Can Fugarolas</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Comissi%C3%B3_d%27Energia_de_Can_Fugarolas&amp;diff=20"/>
		<updated>2015-10-20T16:37:57Z</updated>

		<summary type="html">&lt;p&gt;Enric: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aquest wiki pretén ser un espai per anar posant les diferents experiències que anem tenint a la hora de tirar endavant el projecte de la Comissió d&#039;Energia de Can Fugarolas.&lt;br /&gt;
&lt;br /&gt;
Aquesta comissió té l&#039;objectiu de mesurar el consum elèctric de cada col·lectiu, per poder controlar el consum i repartir els costos.&lt;br /&gt;
&lt;br /&gt;
Can Fugarolas és un espai molt gran, on ara mateix hi estant convivint més de 13 col·lectius. És un espai autogestionat, i com a tal, cal fer el mateix amb els consums.&lt;br /&gt;
&lt;br /&gt;
Podeu tenir més informació de l&#039;espai [http://canfugarolas.org aquí].&lt;br /&gt;
&lt;br /&gt;
==Documentació==&lt;br /&gt;
&lt;br /&gt;
*[[Esquema|Distribució dels Arduinos]]&lt;br /&gt;
*[[Maquinari|Maquinari]]&lt;br /&gt;
*[[Programari|Programari]]&lt;br /&gt;
*[[LlistaMaterial|Llista de Material]]&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Hardware&amp;diff=19</id>
		<title>Hardware</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Hardware&amp;diff=19"/>
		<updated>2015-10-20T16:36:30Z</updated>

		<summary type="html">&lt;p&gt;Enric: Enric ha mogut Hardware a Esquema del Shield&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Esquema del Shield]]&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Esquema_del_Shield&amp;diff=18</id>
		<title>Esquema del Shield</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Esquema_del_Shield&amp;diff=18"/>
		<updated>2015-10-20T16:36:30Z</updated>

		<summary type="html">&lt;p&gt;Enric: Enric ha mogut Hardware a Esquema del Shield&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fitxer:ShieldFugaroles.jpg]]&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Esquema_del_Shield&amp;diff=17</id>
		<title>Esquema del Shield</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Esquema_del_Shield&amp;diff=17"/>
		<updated>2015-10-20T16:36:11Z</updated>

		<summary type="html">&lt;p&gt;Enric: Es crea la pàgina amb «Fitxer:ShieldFugaroles.jpg».&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fitxer:ShieldFugaroles.jpg]]&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Fitxer:ShieldFugaroles.jpg&amp;diff=16</id>
		<title>Fitxer:ShieldFugaroles.jpg</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Fitxer:ShieldFugaroles.jpg&amp;diff=16"/>
		<updated>2015-10-20T16:35:45Z</updated>

		<summary type="html">&lt;p&gt;Enric: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=LlistaMaterial&amp;diff=15</id>
		<title>LlistaMaterial</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=LlistaMaterial&amp;diff=15"/>
		<updated>2015-10-20T16:16:32Z</updated>

		<summary type="html">&lt;p&gt;Enric: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Node esclau=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Placa d’adquisició de dades:&#039;&#039;&#039;&lt;br /&gt;
**Arduino Nano &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Etapa de transducció:&#039;&#039;&#039;&lt;br /&gt;
**Sensor transformador de corrent (sensor CT) (x3) &lt;br /&gt;
**Transformador de tensió AC-AC / 9 V &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Shield casolà sobre placa perforada lineal:&#039;&#039;&#039;&lt;br /&gt;
**Etapa de condicionament corrent: &lt;br /&gt;
***Resistència 33 Ω (x3) &lt;br /&gt;
***Resistència 470 kΩ (x6) &lt;br /&gt;
***Condensador electrolític 10 μF &lt;br /&gt;
***Connector minijack femella &lt;br /&gt;
**Etapa de condicionament tensió: &lt;br /&gt;
***Resistència 100 kΩ &lt;br /&gt;
***Resistència 10 kΩ &lt;br /&gt;
***Resistència 470 kΩ (x2) &lt;br /&gt;
***Condensador electrolític 10 μF &lt;br /&gt;
**Comunicacions: &lt;br /&gt;
***Transceptor RS485 &lt;br /&gt;
***Resistència 120 Ω &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Programari&#039;&#039;&#039;: &lt;br /&gt;
**Llibreria EmonLib de Open Energy Monitor &lt;br /&gt;
**Servidor Modbus RTU: &lt;br /&gt;
***Llibreria Simple-Modbus (Funcions 03 i 16) &lt;br /&gt;
**Programari Arduino&lt;br /&gt;
&lt;br /&gt;
=Node Mestre=&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Servidor debian&#039;&#039;&#039;&lt;br /&gt;
** Apache, mysql, php5&lt;br /&gt;
** Programari Emoncms.org &lt;br /&gt;
** Script que demana la info a cada arduino i ho passa al programari emoncms&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=LlistaMaterial&amp;diff=14</id>
		<title>LlistaMaterial</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=LlistaMaterial&amp;diff=14"/>
		<updated>2015-10-20T16:14:47Z</updated>

		<summary type="html">&lt;p&gt;Enric: Es crea la pàgina amb «=Node esclau=  *&amp;#039;&amp;#039;&amp;#039;Placa d’adquisició de dades:&amp;#039;&amp;#039;&amp;#039; **Arduino Nano   *&amp;#039;&amp;#039;&amp;#039;Etapa de transducció:&amp;#039;&amp;#039;&amp;#039; **Sensor transformador de corrent (sensor CT) (x3)  **Transformado...».&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Node esclau=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Placa d’adquisició de dades:&#039;&#039;&#039;&lt;br /&gt;
**Arduino Nano &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Etapa de transducció:&#039;&#039;&#039;&lt;br /&gt;
**Sensor transformador de corrent (sensor CT) (x3) &lt;br /&gt;
**Transformador de tensió AC-AC / 9 V &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Shield casolà sobre placa perforada lineal:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
**Etapa de condicionament corrent: &lt;br /&gt;
***Resistència 33 Ω (x3) &lt;br /&gt;
***Resistència 470 kΩ (x6) &lt;br /&gt;
***Condensador electrolític 10 μF &lt;br /&gt;
***Connector minijack femella &lt;br /&gt;
&lt;br /&gt;
**Etapa de condicionament tensió: &lt;br /&gt;
***Resistència 100 kΩ &lt;br /&gt;
***Resistència 10 kΩ &lt;br /&gt;
***Resistència 470 kΩ (x2) &lt;br /&gt;
***Condensador electrolític 10 μF &lt;br /&gt;
&lt;br /&gt;
**Comunicacions: &lt;br /&gt;
***Transceptor RS485 &lt;br /&gt;
***Resistència 120 Ω &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Programari&#039;&#039;&#039;: &lt;br /&gt;
&lt;br /&gt;
**Llibreria EmonLib de Open Energy Monitor &lt;br /&gt;
&lt;br /&gt;
**Servidor Modbus RTU: &lt;br /&gt;
***Llibreria Simple-Modbus (Funcions 03 i 16) &lt;br /&gt;
&lt;br /&gt;
**Programari Arduino&lt;br /&gt;
&lt;br /&gt;
=Node Mestre=&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Servidor debian&#039;&#039;&#039;&lt;br /&gt;
** Apache, mysql, php5&lt;br /&gt;
** Programari Emoncms.org &lt;br /&gt;
** Script que demana la info a cada arduino i ho passa al programari emoncms&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Comissi%C3%B3_d%27Energia_de_Can_Fugarolas&amp;diff=13</id>
		<title>Comissió d&#039;Energia de Can Fugarolas</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Comissi%C3%B3_d%27Energia_de_Can_Fugarolas&amp;diff=13"/>
		<updated>2015-10-20T16:04:44Z</updated>

		<summary type="html">&lt;p&gt;Enric: /* Documentació */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aquest wiki pretén ser un espai per anar posant les diferents experiències que anem tenint a la hora de tirar endavant el projecte de la Comissió d&#039;Energia de Can Fugarolas.&lt;br /&gt;
&lt;br /&gt;
Aquesta comissió té l&#039;objectiu de mesurar el consum elèctric de cada col·lectiu, per poder controlar el consum i repartir els costos.&lt;br /&gt;
&lt;br /&gt;
Can Fugarolas és un espai molt gran, on ara mateix hi estant convivint més de 13 col·lectius. És un espai autogestionat, i com a tal, cal fer el mateix amb els consums.&lt;br /&gt;
&lt;br /&gt;
Podeu tenir més informació de l&#039;espai [http://canfugarolas.org aquí].&lt;br /&gt;
&lt;br /&gt;
==Documentació==&lt;br /&gt;
&lt;br /&gt;
*[[Esquema|Distribució dels Arduinos]]&lt;br /&gt;
*[[Hardware|Hardware]]&lt;br /&gt;
*[[Programari|Programari]]&lt;br /&gt;
*[[LlistaMaterial|Llista de Material]]&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Comissi%C3%B3_d%27Energia_de_Can_Fugarolas&amp;diff=12</id>
		<title>Comissió d&#039;Energia de Can Fugarolas</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Comissi%C3%B3_d%27Energia_de_Can_Fugarolas&amp;diff=12"/>
		<updated>2015-10-20T16:04:18Z</updated>

		<summary type="html">&lt;p&gt;Enric: /* Documentació */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aquest wiki pretén ser un espai per anar posant les diferents experiències que anem tenint a la hora de tirar endavant el projecte de la Comissió d&#039;Energia de Can Fugarolas.&lt;br /&gt;
&lt;br /&gt;
Aquesta comissió té l&#039;objectiu de mesurar el consum elèctric de cada col·lectiu, per poder controlar el consum i repartir els costos.&lt;br /&gt;
&lt;br /&gt;
Can Fugarolas és un espai molt gran, on ara mateix hi estant convivint més de 13 col·lectius. És un espai autogestionat, i com a tal, cal fer el mateix amb els consums.&lt;br /&gt;
&lt;br /&gt;
Podeu tenir més informació de l&#039;espai [http://canfugarolas.org aquí].&lt;br /&gt;
&lt;br /&gt;
==Documentació==&lt;br /&gt;
&lt;br /&gt;
*[[Esquema|Distribució dels Arduinos]]&lt;br /&gt;
*[[Hardware|Hardware]]&lt;br /&gt;
*[[Programari|Programari]]&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
	<entry>
		<id>https://energia.canfugarolas.org/index.php?title=Comissi%C3%B3_d%27Energia_de_Can_Fugarolas&amp;diff=2</id>
		<title>Comissió d&#039;Energia de Can Fugarolas</title>
		<link rel="alternate" type="text/html" href="https://energia.canfugarolas.org/index.php?title=Comissi%C3%B3_d%27Energia_de_Can_Fugarolas&amp;diff=2"/>
		<updated>2015-10-19T18:25:03Z</updated>

		<summary type="html">&lt;p&gt;Enric: Contingut canviat per «==Comissió d&amp;#039;Energia de Can Fugarolas==  Hardware Programari».&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Comissió d&#039;Energia de Can Fugarolas==&lt;br /&gt;
&lt;br /&gt;
Hardware&lt;br /&gt;
Programari&lt;/div&gt;</summary>
		<author><name>Enric</name></author>
	</entry>
</feed>