A héten megjött az utolsó kütyü is a monitoring fogyasztás és helyoptimalizált változatához. A jelenlegi monitoring rendszer legnagyobb hátránya hogy helyigényes és elég nagy 30W a fogyasztása. Már harmadik éve hegesztgetem a rendszert, és elérkeztem arra a szintre, hogy megváljak az eddig bevált jó öreg Windows 7-es applikációs szervertől. RasPiA piacon felbukkant a Raspberry Pi nevű mini PC, amely teljesíti azokat a követelményeket, melyeket a Win7-es ugyancsak mini PC (de mégsem annyira mini mint a RasPi) nem tudott. A RasPi teljesítményben ugyan sokkal elmarad a PEGATRON minimtől, mert azért valljuk be egy 700MHz-es ARM11-es proci nem versenyezhet egy kétmagos 1,6GHz-es Intel® Atom™ 330-as procival, de fogyasztásban a két server között 1:10-hez a szorzó. És ez az 1:10-hez bizonyult nálam a varázsigének hogy platformot kell váltani.

 

Úgy döntöttem, hogy a jelenlegi USB/Soros kommunikációt is lecserélem TPC/IP-re, nem mintha a RasPi-nek gondja lenne vele, de ha már váltunk akkor próbáljunk ki új területeket is. arduino duemilanoveA mikrovezérlő maradt az Arduino Duemilanove kibővítve egy Arduino Ethernet Shield-el ami tartalmaz egy SD kártya foglalatot is, de ezt jelenleg még kihasználatlan marad mert a szerver fog logolni többek között fájlba is. ArduinoEthernetShieldAz Arduino-n 6 analóg és 13 digitális pin van, ebből 4-et elvisz az Ethernet és 3-4-et elvinne az SD kártyaolvasó is de mivel jelenleg nem használom így megmarad. Áramerőség mérésre HALL Effekt alapú ACS712-es chippel szerelt Ardiuno modult használok. +-20A a méréstartománya 1A/100mV felbontással, van belőle három darab úgyhogy elméletileg 3 darab 20A-os stringet tudok mérni, gyakorlatilag ez mennyi lesz az még a jövő titka. ACS712TA feszültség mérésére egy sima 2k/20k arányú feszültségosztó szolgál, 50V-ra méreteztem így az Arduino kb. 4,5V-ot mér az analóg pin-en, ezt szorzom majd a feszültségosztóból kiszámított 11-el.

d-link-dhp-310av-powerline-200mÉs akkor most jön az hogy miért váltottam USB-ről Ethernetre. A napelemek a kerti bódé tetején vannak, hogy az adatokat a szobámban levő szerverre juttassam kell valamilyen kommunikációs csatorna az Arduino és a Raspi között. Maradhatna a jelenlegi FTP kábelen keresztüli USB/Soros kommunikáció, lehetne FTP-n keresztüli TPC/IP vagy akár WiFi is. Az első kettőhöz kell a 30m FTP kábel, a Wifi-hez kell egy acces point a kertbe egy a szobámba vagy a RasPinek egy Wifi USB modul. És akkor eszembe jutott a PowerLine megoldás. Nem kell neki semmi csak 230V-os vezeték, ami már úgyis ott van (mert arra táplálok vissza) és egy pár PowerLine adapter, az hosszú FTP kábelt el lehet felejteni. Meg is vettem a cuccot, már tesztelem 2 napja, eddig semmi gubanc vele.

Természetesen kell még egy nonstop internet kapcsolat, hogy a netre is ki tudjam juttatni az adatokat, mert ez nélkül csak a RasPi adatbázisát érném el az otthoni hálózatról, kiesne a mobilos kíváncsiskodásom meg persze a weboldalon futó monitoring vizualizációja is. :)    

Legközelebb a szoftveres megoldásomat osztom meg veletek, az kicsit húzósabb lesz. :)

Update 2013-04-30 - A PowerLine Ethernet nem vált be, az inverter nagyon zavarja a 220V-os komunikációt a PowerLine adapterek között és sok adat elveszett. Mégis kihúztam egy FTP kábelt, így már szépen jönnek az adatok. Egy hét tesztüzem tripla összehasonlító méréssel aztán megy minden élesben.

Update 2013-08-26 - Ma rendszerbővítést hajtottam végre. A microvezérlőt kibővítettem I2C busszal így az erőssen fogyó kimenetek nem akadályoznak többé a fejlesztésben. Jelenleg egy PCF8574I2C portbővítővel bővítettem a rendszert mely egy TMP35 és egy TMP36 hőmérséklet érzékelőt figyel másodpercenként. Tudom hogy csak 8 bites de ez a pontosság elég lesz a panelhőmérséklet és az inverterhőmérséklet naplózására. Unokatesómtól kaptam pár darab DS18B20 szenzort is, ezeknek is meglesz majd a helye. Van még otthon a fiókban egy I2C RTC DS1307 bár ez csak akkor lenne érdekes ha a mikrovezérlő SD kártyára is naplózna, meglátom hogy ebbe az irányba elindítom-e a fejlesztést. Úton van még kínából két daram I2C LCD interfész de ezeket is csak kísérletezés céljából rendeltem, bár nem lenne rossz ha a microvezérlő is kiírná a napi termelt energiát, max. teljesítményt, panel hőmérsékletet, stb.  Ezeket az adatokat jelenleg csak hálózaton keresztül az adatbázisból tudom kinyerni.  

Update 2013-10-05 - Mivel az inverterek és az akksitöltők mellet nagyon magas az elektromos zaj a TMP35/36 analóg hőmérséklet szenzorok adatai olyan nagy szórást mutattak, hogy az adatok szinte használhatatlanok voltak. Csináltam egy új bővítő interfészt az Arduinóhoz ami tartalmaz egy LM7805-ös 5V-os stabilizátor IC-t, táplálja az egész monitoring rendszert. Az IC2 bust megtartottam, mert tervbe van egy I2C LCD, ami helyben mutatja majd az adatokat. Viszont bővítve lett a kártya egy OneWire busal melyen keresztül az ajándék DS18B20–kat olvasom, egyenlőre csak egyet, ami a panelhőmérsékletet méri. Kicsit alakítottam a firmwaren és a php-s szoftveren is hogy minden naplózva legyen.

Legközelebb a szoftveres megoldásomat osztom meg veletek, az kicsit húzósabb lesz.