otrdiena, 2013. gada 31. decembris

Temperatūras monitoringa apgreida turpinājums

Vienu vakaru aktīvi nodarbojoties, izdevās savilkt visus vadus, it sevišķi interneta vadu uz katlu telpu, līdz ar to arī jau monitorēt korektas vērtības - apkures sistēmas, ievadu, izvadu un vērot sakarības starp āra temperatūru.

Lai visa tā sistēma netraucētu apkures sistēmai un apkopei, kā arī izvairītos no jebkādiem šķidrumiem, uztaisīju speciālu plauktiņu, kur novietojas Raspberry PI ar visiem pribambasiem.


Arī pievienoju 2 sensorus pie sistēmas ievada un izvada.


Paralēli visam apnikās, ka Excel ir nepārskatāms un uztaisīju smukus grafikus uz Amcharts bāzes izmantojot PHP un sakrātos datus.

Izvēlētais rīks ļauj dažādās dimensijās filrēt un attēlot datus. Piemēram, parādīt āra temperatūru.




Un te pats interesantākais, apkures sistēmas monitorings, kur redzamas svārstības, kad katls iedarbojas un pēdējā grafika daļas izmaiņas, kad uzgriezu lielāku sistēmas temperatūru sakarā ar to, ka jau mīnusi aiz loga tuvojas. 


Tagad atliek nopirkt (kad beigsies jaunie gadi un citi tēriņu periodi) automātisko vārstu un bezvadu sensorus, lai varētu novērot nevis katla telpas, bet jau konkrētu telpu temperatūras. 

piektdiena, 2013. gada 27. decembris

Temperatūras monitoringa izveide

Kā jau iepriekš rakstīju, tika izveidots verķis, kas nolasa no sensoriem temperatūru. Tad nu vienu dienu saņemoties un izmantojot brīvās dienas, izveidoju java aplikāciju, kas iepriekš izveidotā MYSQL datu bāzē rakstu temperatūras. Nokonfigurēju iekš cron, lai aplikācija automātiski startējas ik pēc 5 minūtēm.

Pagaidām gan esmu iepauzējis ar web aplikācijas izstrādi, kas attēlo datus, jo kopējo ainu var saprast pieslēdzoties ar Excel ODBC un Pivot. Protams, bija jāinstalē papildus mysql ODBC draiveris, kuru var dabūt Oracle saitā izejot garlaicīgo reģistrācijas procesu.

Tā jau grafiks veidojas diezgan smuki, tikai brīžam dažu sensoru rādītāji izkrīt. Interesanti, ka radiatoru temperatūra viļņveidīgi svārstās.

Tagad jāizgudro, kā visu šo iekārtu pārvietot uz katlu telpu un vajadzīgās vietās pieslēgt sensorus. Lielākā problēma, ka telpai nav logu un interneta, līdz ar to caurumu urbšana un kabeļu vilkšana var ievilkties uz vairākām nedēļām, jo uz vienu telpu joprojām interneta vads iet caur logu un nav izdomāts, kā to aizvilkt pa taisno. Bezvadu variantus pašlaik neizskatu, jo dažas sienas diezgan labi slāpē signālus un AP punktus pa visu perimetru nav vēlmes likt.

pirmdiena, 2013. gada 23. decembris

Plašāks Raspberry PI pielietojums

Pastāstīšu nedaudz par Raspberry PI. Ja kāds ar to nav saskāries, tad tas ir miniatūrs 8.56 cm × 5.4 cm datoriņš ar 700MHz procesoru un 512MB (B tips) atmiņu, iebūvētu videokarti (HDMI izeja), skaņas karti, tīkla karti. Kā datu nesējs ir SD karte, kur glabājas sistēma. Tā kā datoram ir  divi USB porti, tad iespējas var paplašināt ar dažādām citām papildiespējām. Ņemot vērā, ka šī datoram ir ļoti maza elektriskā jauda ~5W, viņu var turēt ilgstoši ieslēgtu, neuztraucoties par elektrības rēķinu, kas liks matiem nosirmot.

Sākotnēji parādoties šim datoram, sekoja buma efekts un katrs sevi cienošs IT speciālists iegādājās šo brīnumu, lai notestētu, bet kā jau ar visām rotaļlietām notiek, tās ātri apnīk. Lielākā daļa iegādājās Raspberry, lai tie kalpotu par multimēdiju atskaņotājiem, bet šī ideja īsti sevi neattaisno ņemot vērā pasākumu kopu, lai vispār komplektu palaistu. Turklāt video materiālu atskaņošana, it sevišķi, Full HD, procesora jauda ir par mazu. 

Vēl viens no pielietojumiem ir mazs web serveris, kur glabāt miniatūru portālu. Tā kā sistēmai jauda ir neliela, tad pie lielāka apmeklējuma lapa neizturēs slodzi, līdz ar to šis variants varētu kalpot vairāk testiem un portfolio vai bloga uzturēšanai. Lai gan, ja nepieciešams šo serveri apkalpot, uzturēt stabilu pieslēgumu, labāk tomēr ir samaksāt dažus latus par hostingu. 

Rasberry pluss ir tāds, ka viņu mājas lapā var ielādēt jau gatavas uz Linux bāzētas operētājsistēmas, kuras jau speciāli pielāgotas šim modelim, līdz ar to nav jātērē laiks, lai uzstādītu sistēmu. Pietiek nolādēt no www.raspberry.org lapas gatavu attēlu, ar kādu no rīkiem (piemēram, Win32 Imager http://sourceforge.net/projects/win32diskimager/files/latest/download) noklonēt uz SD karti  un sākt jau lietot. Šeit http://www.raspberrypi.org/downloads ir pieejamas dažādas sistēmas variācijas, kas kuram ērtāk lietojamas un lietojamas. Personīgi izvēlējos Raspbian, kas ir Debian bāzēta sistēma un ar kuru man iepriekš bijusi pieredze un kurai ir ērtas papildprogrammu instalēšanas iespējas. Linux iesācējiem gan Debian nav tas pats labākais variants, jo jebkura konfigurēšana un instalēšana notiek caur konsoli. Grafiskā vidē maksimums var pieslēgties wifi tīklam, ja ir pieslēgts, USB wifi adapteris.


Pastāv iespēja arī instalēt Windows sistēmu, bet ņemot vērā sistēmas ierobežotos resursus, maksimums uz tā normāli funkcionēs Windows XP. Protams, XP prasa pietiekami lielu sistēmas vietu un vajadzēs pietiekami lielu SD karti lai varētu uz tā uzlikt sistēmu. Šo variants variants der tad, ja ir ļoti daudz brīvā laika, lai sagaidītu 1000+ jauninājumus no Microsoft. 

Lai sistēma normālu darbotos papildus nepieciešama laba SD karte sākot no 4GB. Ir izmēģināta parastā lētā SD karte ar 2-4MB/s rakstīšanas āturmu, bet sistēma bija diezgan bremzīga un ieteicams likt kaut ko ātrāku ar rakstīšanas ātrumu virs 10MB/s, piemēram Kingston Class 10. Lielus izmērus nepieciešams, ja ir vēlme glabāt mājas foto vai mūzikas kolekciju. Vienmēr gan pastāv iespēja pievienot ārējo USB cieto disku un pievienot daudz lielākus apjomus.


Tomēr ir vēl viens pielietojums, par kuru runā mazāk. Datoram eksistē GPIO (General-purpose input/output) ports, ar kura palīdzību var operēt ar dažādām analogām vai digitālām iekārtām, piemēram, kontrolēt motorus, diodes, relejus, kā arī savākt informāciju no dažādām ierīcēm, piemēram, temperatūras sensoriem.



Mūsdienās dažādu vienkāršotu izvades/ievades iekārtu ir padaudz, kas ļauj bez padziļinātām elektronikas zināšanām taisīt robotus vai kādu citu automatizētu un programmējamu iekārtu ātri savienojot pusgatavus moduļus. 

Viens no lielākiem konkurentiem ir Arduino, kam ir ļoti daudz un dažādu variāciju, kā izgatavot iekārtu, kas, piemēram, automātiski nolaiž poda vāku. Arduino plusi ir vienkāršība gan to lietošanā, gan programmēšanā.  Tā kā Arduino nāk tiek ražoti dažādos gabarītos un formās, tie vairāk der robotu būvē, jo sakarā ar mazo jaudu, spēj darboties uz baterijas. Kā mēs zinām, visas ērtības maksā naudu un katrs no papildus blokiem maksā naudu. Vēl arī eksistē Tuxgraphic un citi shēmu varianti atkarībā no gaumes.

Arduino Uno.

Kopumā par labu Raspberry pieslējos, jo bija vēlme uz iekārtas izveidot datu bāzi un web lapu, kas kontrolē manas vajadzīgās iekārtas. Tā kā ir pamatīga programmēšanas pieredze, tad būvēt savu risinājumu ar eksistējošiem programatiskiem līdzekļiem bija daudz vienkāršāk nekā apgūt kaut ko pilnīgi jaunu. Ir paredzēts būvēt Java bāzētu aplikāciju, kas savāks informāciju. Doma izmantot Pi4j bibliotēkas. Eksistē variants pa taisno lasīt informāciju no sistēmas portiem vai arī izmantot Oracle piedāvātos variantus

Galvenais vadmotīvs vispār iegādāties un izmantot Raspberry PI, bija izveidot iekārtu, kas monitorē dažādās vietās temperatūru un kontrolē apkures sistēmu. Tādēļ sākotnēji iegādāts Raspberry PI ar GPIO Adafruit pāreju, maketplati, kur ērti izveidot shēmu.


 No dealextreme.com pasūtīti  4 gab DS18B20 temperatūras sensori ar korpusiem. Sākotnējā ideja ir uzkrāt informāciju pār āra, istabas un apkures katla temperatūrām dažādās vietās.  Pašlaik daži no tiem ir pieslēgti radiatoriem, līdz netiks galvenā uzbūvēta aplikācija. DS18B20 var arī tepat lemonā vai argusā iegādāties kā shēmas elementa veidā, bet ārā lietū labāk izmantot hermētiskos metāliskos korpusos iebūvētos, kurus Latvijā pašlaik nevar iegādāties.




Visvairāk man patika, ka šo iekārtu pieslēgšanas shēmas ir diezgan vienkāršas un nepieciešami daži pasīvie elementi, lai viss komplekts darbotos. Paralēli pēc šīs shēmas var pievienot līdz pat 10 temperatūras sensoriem.


Saliekot visu kopā un notestējot sensorus darbībā, kur 4 sensori rāda dažādas temperatūras, kur t=25312 nozīmē 25.312 grādus istabā, bet t=5625 ir pašreizējie 5.625 grādi aiz loga.


Tā kā iekārtai nenāk līdz barošanas bloks, ieteiktu izmantot vismaz 1000mA x 5V barošanas bloku, jo iegādātajam 800mA blokam pietrūkst jaudas, ja pieslēdz USB wifi karti, flashu vai kādu citu aparātu, kas rezultējas kā neizprotami sistēmas gļuki. 

Tālāk sekos turpinājums, kas parādīs iegūto datu analīzi un nākamo fāzi, būvējot automatizāciju.