Apometre metoda optică de luare a citirilor. Apometre cu citire de la distanță

Toată lumea știe că lenea este motorul progresului. Acest lucru s-a întâmplat și în cazul meu.

Apartamentul dispune de 6 puncte de distributie a apei (3 reci si 3 calde). Fiecare punct are un contor.
Fiecare 2 ghișee sunt ascunse în spatele trapelor instalație ascunsă, una dintre trape se află în spatele unei oglinzi care trebuie îndepărtată pentru a ajunge la ea.

O dată pe lună, din 20 până în 25, este necesar să se efectueze citiri de la toate contoarele și să se trimită datele către Societatea de Administrare pe un formular al unui anumit eșantion.

La un moment dat, m-am săturat să deschid trapele, să scot oglinda și s-a decis să automatizez luarea citirilor.

Iată, de exemplu, o pereche de trape (deschise și închise):


În primul rând, am căutat pe internet dispozitivele de automatizare existente. Am găsit doar unul potrivit pentru mine - Contraregistrare puls „Pulsar” 6 canale. Trebuie să spun că costă aproape 6000 de ruble! De fapt, nu l-am văzut nicăieri la retail, deoarece este un produs prea specific și se presupune că vor fi achiziționați de HOA pentru toate apartamentele din casă. Am încercat să-l comand online. locuri diferite, dar de fiecare dată, de îndată ce a venit la livrare, vânzătorul a dispărut. După cum am înțeles, nu le place să lucreze cu „fizicieni” sau nu a fost prea persistent.
Ei bine, nu, nu, o vom face noi, și chiar mai ieftin.

Aici a venit la îndemână Arduino Mega 2580 cu un modul Ethernet, care a fost cumpărat cândva pentru diferite experimente.

Când făceau reparații în apartament, din fiecare punct în care sunt contoare până la scutul din casa scării s-au pus cabluri de tip UTP cat 5e. Aceasta a fost una dintre cerințele organizației de control pentru a lua toate citirile central în viitor. Viitorul încă nu vine, iar firele au venit la îndemână.

În plus, au fost așezate o mulțime de perechi răsucite de la tabloul de curent scăzut al apartamentului până la tabloul de distribuție din casa scării (pentru mai multe canale de internet, telefon, interfon, rezervă etc.) și au fost găsite doar câteva gratuite. pentru a aduce semnalele de la contoare înapoi în apartament, iar de acolo într-un dulap cu echipamente de rețea de acasă.

Ca urmare, ceea ce avem:

  • Apometre
  • Arduino Mega 2580
  • Arduino Ethernet 3.0
  • Cutie pentru Arduino
  • Alimentare electrică
  • Un cablu pentru tragerea de la un scut de curent scăzut la dulapul Arduino.
  • Server de acasă Debian cu Lighttpd și Mysql
Contoarele în sine sunt:


Experimental, s-a stabilit că contoarele funcționează nu simplu, ci foarte simplu. Când ultima cifră își schimbă valoarea de la 9 la 0, comutatorul lamelă din interiorul contorului se închide și asta înseamnă că s-au scurs încă 10 litri de apă. Rămâne în această stare până când valoarea ultimei cifre devine egală cu 3. Adică de fapt, trebuie să fixăm momentul trecerii de la starea „deschisă” la starea „închisă”. Voi sublinia că fixăm DOAR faptul trecerii de la o stare la alta, pentru că sistemul poate fi dezactivat și, într-adevăr, nu se știe niciodată ce pot fi coliziuni.

În momentul în care comutatorul Reed se închide, Arduino apelează un script perl simplu prin HTTP pe serverul pe care rulează lighttpd. Scriptul scrie acest moment în baza de date. Un alt script vă permite să vizualizați starea curentă a contoarelor.

Schiță Arduino cu comentarii:
#include #include #include // Descărcați această bibliotecă aici: https://github.com/thomasfredericks/Bounce-Arduino-Wiring byte mac = (0x90,0xA2,0xDA,0x0E,0xF1,0x92); // adresa MAC a dispozitivului nostru (scrisă pe stickerul Ethernet shield) IPAddress ip(192,168,1,11); // Adresa IP, dacă brusc nu reușiți să o obțineți prin DHCP //Serverul IPAddress(192,168,1,10); // adresa IP a serverului la distanță (utilizată până când a existat un nume) char server = "smarthome.mydomain.ru"; // Nume server la distanță cerere char; // Variabilă pentru formarea legăturilor int CounterPin = (22,23,24,25,26,27); // Declarați o matrice de pini pe care se atârnă contoarele char *CounterName = ("0300181","0293594","0300125","0295451","0301008","0293848"); // Declaram o serie de nume de contoare pe care le vom transmite serverului Bounce CounterBouncer = (); // Generați obiecte EthernetClient pentru contoarele Bounce rclient; // Obiect pentru conectarea la server void setup() ( //Serial.begin(9600); for (int i=0; i<6; i++) { pinMode(CounterPin[i], INPUT); // Инициализируем пин digitalWrite(CounterPin[i], HIGH); // Включаем подтягивающий резистор CounterBouncer[i].attach(CounterPin[i]); // Настраиваем Bouncer CounterBouncer[i].interval(10); // и прописываем ему интервал дребезга } // Инициализируем сеть if (Ethernet.begin(mac) == 0) { Ethernet.begin(mac, ip); // Если не получилось подключиться по DHCP, пробуем еще раз с явно указанным IP адресом } delay(1000); // даем время для инициализации Ethernet shield } void loop() { delay(1000); // Задержка в 1 сек, пусть будет. Мы уверены, что два раза в секунду счетчик не может сработать ни при каких обстоятельствах, потому что одно срабатывание - 10 литров. // Проверяем состояние всех счетчиков for (int i=0; i<6; i++) { boolean changed = CounterBouncer[i].update(); if (changed) { int value = CounterBouncer[i].read(); // Если значение датчика стало ЗАМКНУТО if (value == LOW) { //Serial.println(CounterPin[i]); sprintf(request, "GET /input.pl?object=%s HTTP/1.0", CounterName[i]); // Формируем ссылку запроса, куда вставляем имя счетчика sendHTTPRequest(); // Отправляем HTTP запрос } } } } // Функция отправки HTTP-запроса на сервер void sendHTTPRequest() { if (rclient.connect(server,80)) { rclient.println(request); rclient.print("Host: "); rclient.println(server); rclient.println("Authorization: Basic UmI9dlPnaJI2S0f="); // Base64 строка, полученная со значения "user:password" rclient.println("User-Agent: Arduino Sketch/1.0"); rclient.println(); rclient.stop(); } }

Rotire pe server: Debian, Lighttpd, Mysql. La rândul său, are două scripturi perl: unul pentru scrierea stărilor contorului în baza de date, al doilea pentru afișarea citirilor curente.

intrare.pl
#!/usr/bin/perl -w use strict; utilizați CGI::Fast; utilizați DBI; while(my $q = CGI::Fast->new) ( main($q); ) sub main ( my $q = shift; my $dbh = DBI->connect("dbi:mysql:database=smart_home;mysql_client_found_rows); =1;mysql_enable_utf8=1;mysql_socket=/var/run/mysqld/mysqld.sock", "dbname", "parolă", ( RaiseError => 1, AutoCommit => 1, mysql_multi_statements => 1, mysql_init_command => q( SETARE NUMELE „utf8”;SETARE CARACTERE SET „utf8”))) sau die „Nu se poate conecta”; $dbh->(mysql_auto_reconnect) = 1; imprimă „Content-Type: text/html; charset=UTF-8\n\ n"; imprimă „OK\n”; $obiectul meu = $q->param(„obiect”); if ($obiect) ($dbh->do(q(INSERT INTO water_count (obiect)) VALORI(?)) ,undef,$obiect) sau die $dbh->errstr; ) )

rezultat.pl
#!/usr/bin/perl -w use strict; utilizați CGI::Fast; utilizați DBI; # matrice de contoare de pornire my $start = ( "0300125" => 102.53, "0301008" => 75.31, "0300181" => 65.92, "0293594" => 54.51, "0293848" => "502" => 5029. 87,43); while(my $q = CGI::Fast->new) ( main($q); ) sub main ( my $dbh = DBI->connect("dbi:mysql:database=smart_home;mysql_client_found_rows=1;mysql_enable_utf8=1) ;mysql_socket=/var/run/mysqld/mysqld.sock", "dbname", "parolă", ( RaiseError => 1, AutoCommit => 1, mysql_multi_statements => 1, mysql_init_command => q(SET NAMES "utf8"); SETARE CARACTER SET „utf8”))) sau die „Nu se poate conecta”; $dbh->(mysql_auto_reconnect) = 1; printează „Content-Type: text/html; charset=UTF-8\n\n”; printează „Current date contoare:
"; my $sql = "SELECT count(*) as c, object FROM water_count group by object"; my $sth = $dbh->prepare($sql); $sth->execute; while (my ($count, $obiect) = $sth->fetchrow_array()) ( $start->($obiect) = sprintf("%.2f",$start->($obiect)+$număr/100); ) $sth-> termina; pentru fiecare $obiectul meu (cheile $start) ( my ($intcurrent,$fine) = split(/\./,$start->($object)); print "$obiect $incurente.$Amendă de
\n"; ))

Baza de date Mysql cu un singur tabel:
CREATE TABLE `water_count` (`object` varchar(20) NOT NULL DEFAULT "", `datetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP) ENGINE=InnoDB DEFAULT CHARSET=utf8

Tabelul are doar două câmpuri. Primul este numele obiectului (în cazul nostru, acesta este numărul contorului). Al doilea este data și ora în format TIMESTAMP, care sunt completate automat atunci când rândul este inserat.

Asta, de fapt, este tot. Acum, în orice moment, pot afla ce valoare au toate contoarele mergând pur și simplu la serverul de acasă cu un browser.

Ce urmeaza?
Apoi vreau o imprimare automată lunară pe un formular completat.
De asemenea, vreau să conectez un contor de energie electrică cu transfer de date către Mosenergosbyt și apoi cu plata lor.
Statistici, grafice și alte bucurii de a lucra cu date.

O mare varietate de contoare de resurse consumate devin din ce în ce mai încrezători în viața noastră de zi cu zi, ajutând uneori să economisim puțin la facturile de utilități. Primele dintre ele (după contoarele electrice, desigur) sunt de obicei contoare de apă. Totul ar fi grozav dacă majoritatea caselor (în special clădirile vechi) le-ar asigura loc potrivit! De exemplu, în cazul meu, apometrele au ajuns în cel mai întunecat colț al băii, așa că citirea lunară s-a transformat într-un târâș incitant sub toaletă cu lanternă :).

S-ar părea că rămâne doar să ne înțelegem cu această stare de lucruri, dar chiar și în procesul de instalare a apometrelor, am observat că din ele ies niște fire (Fig. 1):

„Acesta este pentru a vă conecta sistem centralizat luând lecturi”, a spus maestrul. - "dar nu te astepta sa fie instalat in casa ta in curand." Pentru mine, ca iubitor de tot felul de sisteme, acest lucru a dat de gândit în continuare. Rezultatul lor vreau să vă aduc în atenție.

Deoarece am vrut să văd litrii „curgând” nu numai în toaletă, dar nu am vrut absolut să trag firele acolo, a fost dezvoltat un sistem format din două blocuri: un cititor-transmițător alimentat de baterie instalat în baie și un receptor-indicator realizat sub forma unui ceas de masă cu caracteristici suplimentare.

Cititor-transmițător

Studiul pașaportului pentru apometrul a adus o oarecare claritate pentru ce este potrivită linia de semnal care iese din acesta. S-a dovedit că în interiorul contorului există un comutator cu lame care declanșează și eliberează contacte după ce trece prin fiecare 10 litri de apă. Documentul a mai indicat că semnalul de ieșire respectă unele standarde NAMUR. A apărut o căutare rapidă pe internet următoarea diagramă conectarea unui comutator lamelă conform acestui standard (Fig. 2):

După cum putem vedea, pe lângă comutatorul cu lame în sine, există două rezistențe suplimentare R1 și R2 în circuit, dintre care unul este conectat în paralel, iar celălalt în serie cu contactele comutatorului cu lame. Trebuie spus imediat că nu aduc niciun beneficiu afacerii de contabilitate a apei, ci sunt necesare doar pentru a controla ruperea și scurtcircuitul firelor în zona de la contor la dispozitiv de control. Rezistența buclei contorului, respectiv, ia valoarea R2 sau R1 + R2 cu contactele închise și, respectiv, deschise ale comutatorului lamelă.

Ca principiu de funcționare a sistemului, s-a decis să se aleagă transmiterea impulsurilor de contor pe un canal radio și numărarea acestora într-un dispozitiv de recepție echipat cu afișaj. Această abordare a făcut posibilă realizarea unității de citire extrem de simplă și, prin urmare, minim solicitantă în ceea ce privește consumul de energie. Emițătorul avea la bază una dintre numeroasele telecomenzi de la mașinile radiocontrolate sparte de fiul meu mic;) .

Circuitul telecomenzii, ales ca bază pentru unitatea de citire, s-a dovedit a fi bazat pe cipul PT8A977B de la Pericom Technologies. Schema tipica includerea acestui microcircuit este prezentată în Fig. 3. Microcircuitul asigură procesarea apăsării a până la 5 butoane cu capacitatea de a controla puterea etapei de transmisie. Consumul propriu al microcircuitului nu este mai mare de 5 μA în modul standby și nu mai mult de 100 μA când butoanele sunt apăsate.

La prima vedere, părea posibil să se facă fără modificări ale circuitului original, pur și simplu prin conectarea ieșirilor de contor în loc de butoanele telecomenzii. În realitate, totul s-a dovedit a fi mai complicat: în primul rând, din cauza prezenței circuitului NAMUR și, în al doilea rând, din cauza posibilei șederi lungi a contactelor de contor în stare închisă. Astfel, a fost necesar un „intermediar” între apometre și transmițătorul radio, transformând semnalul standard NAMUR în simple nivele logice „0/1” și limitând durata impulsurilor transmise. Probabil, toată această funcționalitate ar putea fi implementată pe microcircuite analogice, dar mi s-a dovedit a fi mai ușor să folosesc un microcontroler de tip ATTiny13V (Fig. 4):


Circuitul este conectat la punctele cu numerele corespunzătoare marcate cu roșu în fig. 4. Practic, microcontrolerul este în modul de repaus, așteptând să vină întreruperi de la contactele contorului. Când ajung, se „trezește” și generează impulsuri cu o durată normalizată de 250 ms la ieșirile semnalelor HOT și COLD. Pentru a crește imunitatea la zgomot și pentru o procesare mai convenabilă a impulsurilor pe partea de recepție, acestea sunt însoțite de un impuls stroboscopic de aceeași durată la ieșirea STROBE. Vederea exterioară a unității de citire montată în carcasa panoului de comandă este prezentată în fig. 5, 6:


Receptor-indicator

Deoarece urmărirea impulsurilor de contor nu este limitată în timp și este de natură aleatorie, cerința evidentă pentru unitatea de recepție și indicare este funcționarea sa non-stop și disponibilitatea de a primi aceste impulsuri. Întrucât nu a existat dorința de a produce dispozitive suplimentare care, în plus, consumă energie electrică 24 de ore pe zi, s-a decis să se echipeze ceasurile de birou obișnuite cu această funcție. În versiunea originală (din fabrică), acestea erau ceasuri deșteptătoare chinezești obișnuite cu un indicator LED care a funcționat pentru mine timp de aproximativ 6 ani (Fig. 7):


Principalul lor dezavantaj a fost sincronizarea fără utilizarea unui rezonator de cuarț, datorită sincronizării cu frecvența rețelei. Când eroarea acestui ceas a început să ajungă la ± 20 de minute pe zi (!), s-a decis să-l oprească și să-l scoată până la vremuri mai bune. Și iată un motiv foarte bun pentru modificarea lor.

Ca urmare a unei cunoștințe superficiale cu „umplutura” nativă a ceasului, a devenit clar că numai un transformator de rețea poate fi folosit din acesta. Deoarece doream să facem noul ceas cât mai informativ și versatil posibil, s-a decis să folosim ca afișaj un indicator cu cristale lichide 16x2, iluminat din spate, care se potrivește ca dimensiune cu „fereastra” din carcasă. Schema noii versiuni a ceasului este prezentată în fig. opt:


Cronometrarea precisă și funcționarea neîntreruptă a ceasului în cazul unei pene de curent este realizată de un microcircuit DD3 de tip DS1307. Măsurare temperatura camerei produs o dată pe minut folosind un cip DD1 tip DS18B20. Dispozitivul se bazează pe un microcontroler DD2 de tip ATMega8515, care procesează apăsările de butoane, citește datele de ceas și termometru, primește și numără impulsurile radio de la apometre, transmite informații către indicator și furnizează semnale sonore la difuzorul BA1. Microcontrolerul funcționează cu sincronizare de la rezonatorul RC încorporat, ceea ce a făcut posibilă reducerea în continuare a dimensiunilor plăcii (Fig. 9):


Conectorul X1 de pe placa ceasului este conceput pentru a conecta modulul radio receptor, „împrumutat” de la o jucărie spartă. Diagrama acestei plăci (cu puncte de conectare marcate la circuitul ceasului) și a acesteia aspect după eliminarea detaliilor inutile sunt prezentate în Fig. 10.11.


Aspectul ansamblului dispozitivului rezultat este prezentat în Fig. 12:


Lucrul cu sistemul

Cititorul-transmițător al sistemului nostru s-a dovedit de fapt a nu necesita întreținere (cu excepția înlocuirii bateriilor), astfel încât toate lucrările se fac numai cu receptorul-indicator (ceasul). În conformitate cu nevoile autorului, ceasul are funcționalitatea minimă necesară. Controlul este efectuat de patru butoane MODE, SET, NEXT (+), BACK (-). Imediat după pornirea alimentării, afișajul arată ecranul principal (Fig. 13), care conține următoarele informații: ora curentă, ziua săptămânii și data, temperatura aerului. În plus, ecranul poate afișa un simbol al unui ceas cu alarmă activat și un indicator al activității canalului radio (în stânga și, respectiv, în dreapta ceasului):


Prin apăsarea butonului MOD, modurile de afișare sau ecranele dispozitivului sunt schimbate. Al doilea ecran conține citirile contorului de apă acumulate de la ultima resetare:


Citirile sunt afișate cu o precizie de 0,1 m 3 și sunt direct adecvate pentru transmiterea către centrele de decontare. Pentru a le reseta (de exemplu, după o citire lunară), trebuie doar să apăsați butonul ÎNAPOI(-). Următoarea apăsare a butonului MOD va deschide un ecran cu informații despre versiunea de firmware și autor, iar o altă apăsare ne întoarce la ecranul principal (Fig. 13). Dispozitivul poate afișa fiecare ecran la nesfârșit; aceasta poate fi folosită, de exemplu, pentru a monitoriza consumul de apă în timp real.

Pentru a configura dispozitivul, utilizați butonul SET, care pune dispozitivul în modul de setare a parametrilor. Dacă acest buton este apăsat în timp ce este afișat ecranul principal, apare ecranul de setare a orei (Fig. 15):


Parametrul editat este subliniat cu două liniuțe în linia de jos, creșterea și scăderea acestuia sunt efectuate de butoanele NEXT (+) și respectiv BACK (-), iar trecerea la următorul parametru se realizează prin butonul SET. Rețineți că, în loc să reglați secundele, ambele taste NEXT(+) și BACK(-) le resetează la zero, ceea ce este util pentru reglarea fină a ceasului pe baza semnalelor de timp exacte. Când orele, minutele și secundele sunt finalizate, apăsând din nou butonul SET, apare ecranul de setare a datei (Fig. 16):


Editarea parametrilor pe acest ecran se face în același mod. Rețineți că data curentă este ajustată automat după introducerea lunii curente, ceea ce vă împiedică să setați din greșeală data greșită, cum ar fi 31 aprilie sau 30 februarie. Anul din setări poate fi selectat în intervalul (20)13-(20)25. Ziua săptămânii este calculată automat. Următoarea apăsare a butonului SET va afișa ecranul de setare a alarmei (Fig. 17):


Aici, ca de obicei, sunt setate pe rând orele și minutele alarmei, precum și modul de funcționare a acesteia (ultimul parametru). Modul este selectat ciclic dintre următoarele:

Luni-Dum- declanșat într-o anumită zi a săptămânii

$$ - se lucrează numai în zilele lucrătoare

** - functionare zilnica

-- - alarma este dezactivată

Dacă butonul SET este apăsat în timp ce sunt afișate citirile contorului de apă, se afișează ecranul de setare a citirii contorului (fig. 18). Acest lucru poate fi util dacă, dintr-un motiv oarecare (de exemplu, din cauza unei întreruperi de curent), citirile sistemului diferă de valorile reale ale contorului.


Folosind butoanele NEXT(+) și BACK(-), puteți ajusta citirile acumulate cu un interval de 0,1 m 3 . Alegerea parametrului de editat se face, ca de obicei, cu butonul SET. Pentru a reveni oricând la ecranul principal din ecranele de configurare, apăsați pur și simplu butonul MODE.

Note de asamblare și instalare

Datorită faptului că schemele ambelor blocuri s-au dovedit a fi extrem de simple, plăci de circuite imprimate nu sunt concepute pentru ei. Sincer să fiu, autorului i-ar fi luat de câteva ori mai mult timp pentru a realiza o astfel de placă decât pentru a asambla și a depana dispozitivele finite pe panouri luate împreună. Ambele dispozitive necesită o configurare minimă, adică alegerea lungimii corecte a antenelor de recepție și transmisie.

Antenele obișnuite de la o jucărie radiocontrolată (una telescopică de 30 cm lungime pe telecomandă și o bucată de sârmă de 10 cm lungime pe receptor) oferă doar o rază de comunicare minimă: aproximativ 5-6 metri în raza vizuală. Ținând cont de distanțele reale din interiorul apartamentului, precum și de disponibilitate, de regulă, pereti din beton armatîntre baie și restul locuinței, acest lucru clar nu este suficient. Prin urmare, ambele antene au fost înlocuite cu bucăți de sârmă flexibilă, iar selecția lungimii acesteia a fost efectuată experimental. Practica a arătat că, cu o lungime a antenei de emisie de aproximativ 0,6 m, și o antenă de recepție de 1 m, semnalul radio este recepționat perfect în întregul apartament (distanța dintre emițător și receptor este de aproximativ 25 m, luând în considerare două compartimentări). În același timp, este evident că o astfel de gamă nu este limita, iar funcționarea stabilă a canalului radio poate fi realizată chiar și într-o casă cu două etaje.

Concluzie

În concluzie, să ne referim la problemele de stabilitate și imunitate la zgomot a sistemului care nu au fost atinse înainte. La prima vedere, poate părea că nu este greu de „confundat” cu orice jucărie radiocontrolată din aceeași gamă. De fapt, nu este cazul, deoarece nu degeaba se folosește data gating-ul în circuit folosind semnalul TURBO al chipului PT8A977B! Autorul nu a dat încă peste o singură telecomandă radio în care să fie implicat acest semnal, ceea ce înseamnă că chiar dacă vecinul tău cel mai apropiat decide brusc să cadă în copilărie și să controleze o mașină de jucărie, nimic nu amenință stabilitatea sistemului. Ca să nu mai vorbim de faptul că semnalul telecomenzii vecinului cu o antenă standard, cel mai probabil, pur și simplu „nu va ajunge” la receptorul nostru.

În cazul unei pierderi pe termen scurt a sursei de alimentare, un cip de ceas nevolatil este utilizat în dispozitivul nostru de recepție și toate parametri importanti(inclusiv citirile contorului) sunt stocate în EEPROM-ul microcontrolerului. Când electricitatea este oprită, numărarea impulsurilor de 10 litri este, desigur, suspendată, dar valoarea acumulată nu se pierde și poate fi corectată ulterior manual.

În ciuda faptului că, datorită utilizării divizoarelor simple în cititor, consumul său de curent static sa dovedit a fi relativ mare (de la 250 la 400 μA), experiența cu sistemul a arătat că un set de două baterii alcaline AA este suficient de sigur pentru 4-5 luni funcţionare neîntreruptă transmiţător. Acest rezultat poate fi considerat destul de acceptabil.

Dispozitivul s-a dovedit a fi atât de simplu și util încât pur și simplu nu vrei să te oprești aici. În primul rând, nu va fi dificil să adăugați funcții de afișare la acesta în viitor și alte contoare, cum ar fi electricitate sau gaz. În al doilea rând, deoarece semnalul radio este recepționat oriunde în casă, pot exista mai multe astfel de dispozitive în casă, de exemplu. Această funcție poate fi echipată cu ușurință cu alte ceasuri sau alte gadget-uri. Și în al treilea rând, informațiile primite prin radio sunt în mod clar demne de mai mult decât simpla afișare pe ecranul unui ceas de pe desktop. De exemplu, puteți face un modul care trece mărturie acceptată contoare către un site sau un server intranet casă inteligentă, iar acolo deja implementează programe pentru calcularea consumului zilnic, indicatori de cheltuire excesivă etc. De asemenea, merită să ne amintim că unele companii de management sunt capabile să preia automat citirile contoarelor, folosind o linie telefonică și semnale DTMF... ei bine, acestea sunt vise complet roz :). Totuși, cine știe, poate într-o zi vor deveni realitate?



Cum îți place acest articol?

  • Tipuri de apometre
  • Principiul de funcționare a ieșirilor de impulsuri pe contoare
  • Metode pentru obținerea automată a citirilor consumului de apă de la contoare
  • Dispozitiv de citire folosind 1 fir
  • Salvarea citirilor în baza de date și afișarea grafică a datelor despre consumul de apă
  • Transferarea citirilor către companie de management(teorie)

Introducere

În prezent, apometrele universale pentru apartamente sunt utilizate pe scară largă. Dacă ieşim în afara subiectului automatizarea locuintei, cred că aceasta este o tendință foarte bună - până la urmă, ținerea evidenței consumului de apă (și nu numai apă) este suficientă măsură eficientă contribuind la conservarea resurselor. Desigur, în realitățile rusești moderne ( cost scăzut apă, electricitate, mentalitatea noastră) sună foarte ciudat, dar undeva în inima mea sunt convins că trebuie să începem să fim atenți la economisirea resurselor astăzi. Și dacă nu crezi așa la nivel global, atunci contoarele de astăzi, cel puțin, îți permit să economisești la facturi pentru utilitati publice. Ceva de care am ocolire...

Tipuri de apometre de uz casnic

Apometrele moderne, după citirile cărora le plătim apoi factura de utilități, sunt în principal de două tipuri (în ceea ce privește automatizarea locuinței):

  • Fără ieșiri
  • Cu ieșire în impuls
  • Ieșire digitală RS 485 (nu este acoperită în acest articol)
  • Cu ieșire radio (nu este tratată în acest articol)

Totul este clar cu primele: am căutat-o, am notat, l-am trimis la societatea de administrare. Fără automatizare. Deși acolo mesteri care reușesc să ia citiri de la astfel de contoare folosind camere web („fă o poză” și apoi folosesc algoritmi speciali pentru a recunoaște numerele - un exemplu de implementare) sau instalează cititoare optice speciale pentru viteza de rotație a pieptenelor pe contor (cel mai adesea aceasta este aceeași „lumină roșie strălucitoare” de la șoarecii de computer optici vechi - da, da, aceasta este o cameră cu o rezoluție foarte scăzută) cu procesare și conversie ulterioară în cifre specifice pentru consumul de apă. Dacă aveți un contor fără prize și nu doriți să cheltuiți bani pentru instalarea de noi contoare, atunci puteți căuta pe Google soluții similare - există o mulțime de ele și aproape totul se poate face „cu propriile mâini”. Dar, după părerea mea, o astfel de abordare este mai degrabă de natură exploratorie decât o soluție simplă stabilă folosind ieșiri de impulsuri special concepute în acest scop în apometre.

Să aruncăm o privire mai atentă la contoarele cu ieșire de impuls. Principiu general funcționarea este foarte simplă: senzorul dă un impuls complet atunci când trece o anumită cantitate de lichid (depinde de caracteristicile unui anumit contor).

Ieșire de impuls în funcție de expunere camp magnetic magnet permanent pe comutatorul cu lame, în care are loc închiderea și deschiderea alternativă a contactelor comutatorului cu lame. Comutatorul reed generează un semnal pasiv de ieșire („contact uscat”), care poate fi citit de orice contor de impulsuri.

Sarcina se reduce la numărarea impulsurilor pe unitatea de timp și înmulțirea lor cu „prețul” unui impuls. De regulă, 1 puls = 10 litri, la unele contoare această valoare este de 1 litru. Care este prețul pulsului contorului dumneavoastră poate fi găsit în fișa tehnică. Astfel de informații se găsesc uneori pe contorul în sine.

Echipament pentru citirea impulsurilor de la un apometru

În implementarea mea a casei inteligente, aproape toți senzorii sunt conectați la magistrala cu 1 fir, iar contoarele de impulsuri pentru contabilizarea consumului de apă nu fac excepție. obisnuiam dispozitiv terminat din magazinul radioseti - „Contor module cu memorie tampon 2 canale”. După cum sugerează și numele, dispozitivul vă va permite să citiți citirile de la două contoare. Dispozitivul se bazează pe cipul Maxim DS2423, iar dacă aveți anumite abilități, nu va fi dificil să lipiți singur un astfel de dispozitiv.

Există două variabile întregi în memoria încorporată a dispozitivului Contoare.Ași Contoare.B, care stochează numărul de impulsuri „numărate” la fiecare intrare (apă caldă și rece). Fiecare variabilă are 32 de octeți alocați - acest lucru este suficient cu o marjă uriașă pentru mulți ani, chiar și la prețul unui impuls de 1 litru.

Bateria internă încorporată vă permite să stocați rezultatele muncii indiferent de puterea externă, iar dispozitivul va număra și impulsurile și va salva informații în memoria internă, chiar dacă este deconectat de la rețeaua cu 1 fir și de la alimentare. În opinia mea această decizie perfect pentru nevoile noastre.

Dispozitivul nostru este conectat la o magistrală comună cu 1 fir în mod standard printr-un conector RG-11 (6p4c): DATA, GND, +12V (un stabilizator de tensiune cu 12V este încorporat în circuitul senzorului).

Contoarele sunt, de asemenea, conectate destul de simplu, dar fixarea este deja „sub șurub” (vă sfătuiesc să obțineți un set de șurubelnițe mici bune pentru a nu deteriora conectorul dispozitivului). Un conector este comun (GND), trebuie să conectați contactele de la ambele contoare la el. Și două intrări pentru fiecare dintre contoare separat.

Stabilitate, pulsuri ratate și fals pozitive

Dispozitivul este surprinzător de stabil. Pentru mai mult de jumătate de an de funcționare, discrepanța dintre citirile reale „citite” a fost de aproximativ 20 de litri pentru cald și 40 de litri pentru apă rece spre partea mai mică. Cu un consum mediu lunar de apă de 4, respectiv 6 metri cubi, acesta este doar aproximativ 0,1% - nu mult. O dată la doi ani, puteți „corecta” manual valorile din memoria dispozitivului.

Următorii factori pot afecta stabilitatea muncii:

  • Calitatea apometrelor în sine (în cazul meu, am avut noroc cu contoarele Valtec)
  • Prezența unei surse de câmpuri magnetice puternice în apropiere (cablare de alimentare, diverse surse de interferență electromagnetică)
  • Fiabilitatea fixării ieșirilor de contor în conectorul dispozitivului
  • Calitatea bateriei instalate (și trebuie să-i monitorizați tensiunea)

Analogii la aparatul de la Radioseti pot fi gasiti pe internet (de exemplu, de la HobbyBoards la 30$ excluzand livrarea din SUA) sau lipiti de dvs., dar, sincer sa fiu, din punct de vedere al raportului pret/calitate cel mai bun dispozitiv Nu am văzut încă.

Salvarea citirilor contorului în baza de date

Pe serverul Smart Home (folosesc un Raspberry Pi cu OS Raspbian și un master USB cu 1 fir al rețelei DS9490R), conform programului, la fiecare N-minute (opțional) se lansează un script care, folosind biblioteca OWFS, citește citirile de la contorul de impulsuri cu 1 fir și le salvează în DBMS.

Schema generală de conectare este prezentată mai jos:


Un articol separat va fi dedicat citirii valorilor de pe dispozitivele cu 1 fir și gestionării lor folosind biblioteca OWFS mai detaliat.

În consola Linux, citirea arată cam așa:


Și graficele obținute pe baza datelor de la un contor de impulsuri cu 1 fir arată cam așa:

O zi în viață: citiri ale consumului de apă pe zi.
Biblioteca Highcharts este folosită pentru a construi diagrame.

Transfer automat al citirilor de la apometre către compania de administrare

Dacă baza de date conține date actualizate privind consumul de apă, este posibil să se calculeze consumul lunar al acestuia și să-l transfere către societatea de administrare.

Până în prezent (cel puțin la Moscova), multe CC depun mărturie folosind:

  • Mesaje SMS (realizabile)
  • E-mail (realizabil și foarte simplu)
  • Prin site-ul web al Codului Penal (realizabil, dar va trebui să vă dați seama cum funcționează site-ul lor și să învățați cum să emulați transmiterea „manuală” a lecturilor folosind un script)
  • API pentru locuințe și servicii comunale (nu sunt încă implementate, dar simt că vor apărea în curând)

Dar acesta este subiectul articolelor viitoare.

constatări

Cu soluțiile disponibile astăzi (atât hardware, cât și software), este foarte ușor să citiți citirile de la un apometru, să le salvați într-o bază de date, apoi să le vizualizați, să le folosiți pentru calcule statistice, să le transferați unei companii de management - chiar dacă nu știi să folosești un fier de lipit și nu ești un guru al programării. Îți trebuie doar puțină răbdare, dorință și să nu-ți fie frică de nou 🙂

Contoare de apa / apa rece si calda

Majoritatea apartamentelor din Moscova au deja apometre. Cum să luați citirile corect, să le transferați, ce se va întâmpla dacă citirile nu sunt transferate la timp? Portalul mos.ru a dezvoltat o mică instrucțiune în acest sens.

Cum se fac citiri ale contoarelor de apă rece și caldă?

Citirile sunt luate în același mod pentru ambele contoare.

Volumul de apă este considerat litri și metri cubi. Un metru cub este un cub de 100 x 100 x 100 cm.1 metru cub = 1000 litri. 1 litru = 0,001 metri cubi.

În fața ta, pe tejghea, sunt 8 celule cu numere - cinci negre și trei roșii. Cele negre arată numărul de metri cubi întregi de apă folosiți, cele roșii arată numărul de litri. 744 litri este 0,744 metri cubi. Adică 00017744 înseamnă 17.774 litri de apă sau 17.774 metri cubi.

Trebuie să transferați numere din celule negre și să rotunjiți cele roșii la o valoare întreagă. Dacă numărul de pe ghișeu este 00017744, îl rotunjim la 00018, iar în acest formular introducem în chitanța pe hârtie sau în formularul electronic: 00018.

Într-o lună, numerele de pe contor vor fi, de exemplu, 00022010.

Cum se transferă citirile contorului de apă la Moscova?

Citirile contorului pot fi transferate cât mai repede posibil prin Contul personal de pe site-ul mos.ru. Salveaza in Cont personal informații despre apartament o dată, iar ulterior nu trebuie să le introduceți manual. Rămâne doar să introduceți numerele de la contoare sub formă de transfer a dovezilor în timp util.

Procedura este următoarea:

  1. Mergem la Contul personal de pe my.mos.ru, selectăm secțiunea „Datele mele” și fila „Plată utilități”
  2. Completam coloanele propuse:
    • Venim cu numele apartamentului pentru care vom plăti - de exemplu, „casa noastră”. Important: În LC, puteți configura transferul citirilor de la metri de la alte apartamente, care pot fi numite, de exemplu, „Apartamentul mamei”, „Bunica” sau „Unchiul Petya”.
    • Numărul apartamentului,
    • Codul plătitorului din 10 cifre (situat în dreapta colțul de sus EPD),
  3. Salvăm date. Acum puteți transfera datele contorului de apă și nu pierdeți timpul completând aceleași informații de fiecare dată când transferați citirile.

În același loc, în Contul Personal, puteți configura primirea notificărilor. Cu ei, nu veți rata termenele limită pentru transferul de date - vă vor veni mementourile că a venit timpul să luați citirile contoarelor.

Se datorează transferul de date? Mergem la. mos.ru în secțiunea „Servicii”, selectați „Locuințe, locuințe și servicii comunale, curte”, apoi „Recepție citiri apometre”, faceți clic pe „Obțineți un serviciu”. În formularul de cerere, selectăm un apartament, introducem citirile contorului de apă și facem clic pe „Trimite”.

Dacă ați ratat termenul limită pentru transmiterea citirilor contorului de apă...

Dacă nu ați avut timp să introduceți citirile apometrelor pentru luna curentă, atunci veți fi creditat cu valoarea medie lunară pentru ultimele 6 luni. Diferența dintre valoarea medie și citirea reală a contorului de apă va fi luată în considerare luna viitoare după ce introduceți citirea reală.

Daca nu introduceti indicatori timp de 3 luni consecutiv sau mai mult, serviciul de transfer de date prin contul personal este suspendat. Pentru a-l restabili, aduceți citirile curente ale contorului către Societatea de Administrare. Luna viitoare, veți putea transfera din nou citirile prin Internet și se va face o recalculare.

Aproape toate contoarele folosite de compatrioții noștri sunt mecanice, motiv pentru care costă nu atât de mult, dar citirile trebuie luate și trimise la servicii de utilitati pe cont propriu. În țările mai dezvoltate, au trecut de mult timp la contoare speciale care au un sistem de citire la distanță. Datorită faptului că este mai convenabil, oamenii din Rusia încep să înțeleagă necesitatea de a cumpăra doar astfel de dispozitive.

  • Cum să fii?

    S-ar părea că ar fi mult mai ușor să transferăm toate obligațiile pentru luarea lecturilor către organizațiile de servicii, dar acest lucru este doar la prima vedere. Doar imaginați-vă că sunteți un astfel de angajat și că trebuie să parcurgeți aproape întreaga zonă într-o zi. Acest lucru se datorează faptului că majoritatea populației poate fi doar la lucru în timpul rundelor dvs. Sau pur și simplu s-ar putea să nu te lase să intri în apartament, la care, de fapt, chiriașii chiar au dreptul.


    Care este problema, zici tu, trebuie doar să muți contoarele la palier, precum și dispozitivele de citire a energiei electrice! Și aici nu este. Aceasta este o întreprindere destul de costisitoare și de lungă durată, deoarece va fi necesar să se realizeze un aspect complet diferit al conductei și să se schimbe tehnologia de construcție.


    În general, o astfel de mărturie este incomod nu numai pentru abonați, ci și pentru centrele de decontare și informare în sine, deoarece în fiecare lună numărul contoare instalate este în creștere, ceea ce înseamnă că tot mai multe date trebuie procesate.

    Există o soluție! Contoare automate

    Nu vom intra în detalii și vom explica pe scurt principiul de funcționare al contorului de PAL. Cu ajutorul unui sistem special al acestui aparat, care se bazează pe un mic magnet și un comutator cu lame, cu ajutorul acestora se va crea un semnal care este un multiplu de litri care și-au făcut mișcarea direct prin contor. Datorită acestui fapt, este absolut posibil să instalați un dispozitiv de duplicare pe dvs aterizare, din care este mai ușor să luați lecturi mai târziu.


    Ei bine, a doua etapă de expediere va fi transferul indicațiilor privind numărul de cuburi cheltuite către utilități. Pentru aceasta, contorul din PAL are un concentrator special care va transfera citirile contorului de apa in camera de control prin Internet.

    Avantajele apometrelor cu citire de la distanță

    Care sunt avantajele inerente unor astfel de contoare și de ce ar trebui să fie achiziționate pentru funcționare? Să aflăm!

    Cel mai incomod aspect în funcționarea contorului este livrarea citirilor acestuia către utilități. Tu însuți ai făcut acest ritual moros de multe ori: mai întâi trebuie să faci lecturi, să le notezi pe o chitanță și apoi să le duci personal la centrul de decontare sau, în cel mai bun caz, completati formă specială pe o resursă online întreținută de furnizorul de servicii.


    Livrarea manuală a citirilor apometrelor este o operațiune foarte, foarte problematică. În primul rând, și mai rău pentru compania de utilități, cetățenii fără scrupule pot indica pe chitanță o sumă diferită, cu atât mai puțin. Și în al doilea rând, nu toată lumea are timp să trimită informații companiei de management la timp, deoarece o persoană poate fi foarte ocupată la serviciu și rareori poate fi acasă.

    Și iată lista de profesioniști:

    1. Unul dintre principalele avantaje, poți uita să alergi cu chitanțe pentru instituții și birouri.
    2. Managerul casei va avea oricând acces la datele privind citirea apometrelor.
    3. Locuitorii vor respira ușurați, pentru că nimeni altcineva nu le va „ataca” apartamentul pentru citirea contorului.
    4. Datele vor fi ușor de verificat.
    5. Citirile vor ajunge la casa de compensare în aceeași zi, așa că nu va mai exista confuzie cu privire la calendar.

    Datorită unor astfel de contoare, puteți automatiza cu ușurință procesul de luare a citirilor și veți fi întotdeauna sigur că acestea vor fi trimise companiei dumneavoastră de management corect și la timp. Prin urmare, luați în considerare schimbarea contorului de apă mai puțin fiabil cu unul complet automat.