Sari la conținut

Proiect automatizare casă


balauronul
 Share

Postări Recomandate

Vă salut și la mulți ani!

Dacă tot a venit iarna și nu prea mai avem ce lucra pe afara, vă propun pentru cine este interesat, o modalitate ieftină de realizare a automatizării casei, care se poate accesa de oriunde prin internet.

 

Necesar:

1 x RaspberryPi, un calculator în miniatură, care funcționează câteva versiuni de Linux adaptate (debian, fedora..);

1 x card SD cu minim 4 GB;

1 x placă cu 8 relee care funcționează la 5 Vcc și suportă 10A.

1 x senzor de temperatură DS18B20, pentru realizarea unui termostat.

 

Partea hardware:

Se conectează RaspberryPi la placa de relee la pinii de alimentare și la pinii I/O (Imput/Output). Definirea pinilor o găsiți pe Google sau vă pot ajuta la nevoie cu linkuri utile. Toate releele au conectare NC sau NO (Normal Close sau Normal Open) astfel că se pot utiliza fie pentru închiderea unui circuit sau pentru întreruperea lui.

 

Partea software:

Deoarece este un calculator în miniatură pe el rulează toate procesele dintrun sistem Linux, noi avem nevoie de server web-Apache2 cu php și mysql și programul cu care se pot controla pinii-Webiopi. Pentru instalarea sistemului putem avea discuții ulterioare, momentan vreau să vă arăt ce se poate face.

 

Totul a început ca hobby, dar acum deja am implementat sistemul în casă cu intenție de extindere a lui. Pentru moment pot controla ușa de garaj, poarta, lumina din curte, grădină, garaj, aspersoarele din grădină (care au în paralel și automatizarea lor de la gardena), iar de trei săptămâni de când s-a stricat receptorul wireless de la termostatul de cameră funcționează și ca termostat, avantajul este că atunci când ajung acasă găsesc cald, după ce în prealabil am pornit centrala de pe drum.

Următorul proiect este să monitorizez nivelul apei uzate din fosă. Am făcut interfața .php, acum urmează să iau un senzor de distanță).

Interfața .html este făcută de mine, dar scripturile python sunt adaptate de pe pagina Webiopi, iar cele .php sunt doar luate din alte tutoriale și adaptate (dar asta este esența open-source să iei gratis și dacă poți să îmbunătățești să dai mai departe).

 

Câteva poze ale interfeței .html făcută pentru telefon, în mod portet.

Vă stau la dispoziție cu explicații sau scripturi.

Cu stimă!

post-20025-0-84026200-1420478020_thumb.png

post-20025-0-19244900-1420478033_thumb.png

post-20025-0-33807000-1420478052_thumb.png

post-20025-0-40228200-1420478062_thumb.png

post-20025-0-73574200-1420478076_thumb.png

post-20025-0-89261800-1420478085_thumb.png

post-20025-0-79641700-1420478092_thumb.png

post-20025-0-47024600-1420478113_thumb.png

post-20025-0-35731300-1420478390_thumb.jpg

post-20025-0-76136200-1420478425_thumb.jpg

Link spre comentariu
Distribuie pe alte site-uri

  • Răspunsuri 50
  • Created
  • Ultimul Răspuns

Top Posters In This Topic

Mai sunt si variante mai simple , in cazul in care nu e acces la internet ci doar la GSM .

 

http://www.ebay.de/itm/121156708895?_trksid=p2060778.m1438.l2649&ssPageName=STRK%3AMEBIDX%3AIT

 

 

sau mai ieftin si mai simplu :

 

http://www.ebay.de/itm/GSM-SMS-Remote-control-433Mhz-RF-mains-sockets-EU-type-/121530664939?

Link spre comentariu
Distribuie pe alte site-uri

Ohoo, l-am prins demult. :) Odată mi-a cerut ceva la telefon din garaj și nu eram acasă. A rămas uimit că s-a deschis poarta pe urmă ușa de garaj și pe urmă s-au închis în urma lui.


» Post actualizat in 05 Jan 2015 17:58

Inițial arduino am vrut să utilizez dar ....este prea simplu. În sensul că da, își face treaba după ce îi încarci sketch-ul dar nu are interfată web configurată cum vreau eu. Prin ethernet shield ajung tot la un server care să conțină pagina web, așa că raspberrypi le face pe toate. Din ce am citit și recent vazut (niște proiecte de la robofun) arduino este mai pretabil pentru roboți.

Link spre comentariu
Distribuie pe alte site-uri

(Nu pot să atașez link-uri)

Centrala termică este controlată printrun releu conectat în locul termostatului de cameră care s-a stricat (receptorul lui).

În casă este senzorul despre care vorbeam. El comunică prin protocolul 1 wire, mai exact are trei pini, doi de alimentare și numai unul de date, conectat pe pinul 4 al raspberrypi. Interesant este că poți să conectezi și 1000 de senzori pe același pin, ei având câte o adresă unică pe formatul 28-0000044ac28e.

 

Toată automatizare este prin internet. Inițial a funcționat în rețeaua locală dar acum l-am pus on-line. Dacă ai internet de la RDS, există opțiunea de dinamic DNS, unde adresa de acasă va fi de genul adresamea.go.ro. Dacă ai IP static, este mai simplu să intri din internet în rețeaua de acasă.

 

Dacă sunt doritori pot să explic pas cu pas cum se conectează și ce scripturi trebuie și unde. Nu strică cunoștințe de utilizare linux în terminal prin ssh (Putty), pentru că după instalarea sistemului de operare, nu mai este nevoie de monitor și tastatură conectate la el.

Editat de balauronul
Link spre comentariu
Distribuie pe alte site-uri

Super.

La aspersoare ai pus senzori de umiditate, sau folosesti un program de timp ? Electroventilurile de apa saunt la 12 v sau la 220 v ?

o seara buna.

 

ps:

Daca folosesti ____.go.ro, sau orice fel de adresare directa risti sa dea cineva peste serverul tau din greseala ( desi 8000 nu este un port uzual ). Eu as pune serverul dupa un router si m-as conecta prin vpn, stim ca este deja banal orice smartphone o poate face.

Link spre comentariu
Distribuie pe alte site-uri

Aspersoarele sunt telescopice de la gardena cu sistemul de automatizare de la ei pe care nu l-am scos, e numai oprit pe timp de iarnă și funcționează pe bază de timp, câte 4 udări maxim pe zi. La el se poate atașa senzor de umiditate în sol. Electrovalva este pe 24 Vca.

 

În plus am atașat și releul pentru comandă web de la distanță când este foarte cald. Pe viitor vreau să atașez și un senzor de umiditate cu interfață web.

 

Portul 8000 nu este singurul mod de oprire a eventualelor accesări neautorizate ci user și parolă. În plus la trei accesări cu credențiale greșite, este oprit accesul pentru acel ip pentru o perioadă de timp.

 

VPN este următorul pas, abia am luat un router gigabite de la TP Link și acum învăț cum se utilizează VPN, IPsec,PPTP.

Editat de balauronul
Link spre comentariu
Distribuie pe alte site-uri

merci pentru raspuns.

PPTP e banal azi, VPN-ul de configurat iarasi e usor. Sa nu uiti sa scoti forwardul de la ip-ul de exterior catre serverul tau.

Am iterat si eu acum 2 ani automatizarea pentru aspersoarele de la gardena, si pana la urma am folosit tot automatele lor fiindca electroventilele merg la 9Vcc. Nu gasisem nici unul care sa mearga la 9-12Vcc. La 24 Vca si cu un caine care roade ce vrea el in curte am o retinere (problema mea insa), oricum ideea ta e misto.

bafta

Link spre comentariu
Distribuie pe alte site-uri

Salut,

 

interesanta treaba.

 

Interfata web s-ar putea inlocui cu o aplicatie Android. Sa ai un sistem de tip client-server (client: aplicatia de pe tel; server: un program C, care sa ruleze pe Pi-ul de acasa).

 

Web interface:

+ nu depinde de telefon (android, Win, etc)

- apare adresa web in browser

- ai nevoie de conectare la un web server (rulat de pe Pi, in cazul tau) => doar cu un Arduino, mai greu (eventual arduino conectat la altceva, vezi mai jos).

 

Aplicatie pe tel (client-server):

+ scapi de afisat adresa din browser. Poate fi ascunsa in ceva meniu de Setari ale aplicatiei (sau hardcoded :) )

- Client app: trebuie creata specific pt OS-ul telefonului. Daca folosesti doar Android de ex, e simplu. Daca altcineva din familie are alt OS pe tel, mai ai putin de lucru :) .

+ Server app: cum ziceam, se poate face in C de ex (serverul doar sa stie sa ruleze asa ceva)

 

 

Pentru exemplul de Client-server app, eu am folosit candva un router Asus WL500gPremium (cu firmware OpenWrt - bazat pe linux), care avea conectat pe portul serial un Arduino (cu senzor temperatura, relee, ...). Routerul era deja conectat la internet, deci partea asta e rezolvata.

 

Nu critic varianta ta. E chiar buna. Depinde de fiecare ce are acasa.

Daca are un Pi, nu are rost sa cumpere alte echipamente.

Daca are un router cu port serial, care suporta OpenWrt, atunci poate incerca cu un Arduino, sau altceva asemanator, si varianta client-server.

 

Inca o data, de apreciat automatizarea ta.

Link spre comentariu
Distribuie pe alte site-uri

Nu stiu daca se potriveste proiectului tau, dar este o aplicatie pe android (Tasker) special facuta pt automatizari, momentan am ramas surprins de cate lucruri poate face pt telefon, am impresia ca am vazut si un proiect facut cu RaspberryPi la mijloc.

Anyway take a look:

Link spre comentariu
Distribuie pe alte site-uri

Ohoo, l-am prins demult. Odată mi-a cerut ceva la telefon din garaj și nu eram acasă. A rămas uimit că s-a deschis poarta pe urmă ușa de garaj și pe urmă s-au închis în urma lui.

mai nasol e sa-l suni si sa-i zici: vezi ca nu-i place in pozitia asta :haha:

 

Super interesant topicul dar in special proiectul in sine, doar ca am niste curiozitati:

1. Automatizarea respectiva este in permanenta dependenta de accesul la internet?

2. Se poate lega/controla si prin serviciul GSM/SMS incat sa poata lucra simultan? (suni si dai comanda: elibereaza cainii ca a venit vecinu')

3. Are baterie vreo de memorie? Ce face sau ce se intampla in cazul unei pene de curent? a. intra in stand by (modul asteptare)? b. se inchide tot sistemul (aspersor, centrala, porti)? c. se produce haos. :D

4. In cazul in care cade netul, se mai pot folosi intr-un mod "manual"? sau sunt dependente de releele conectate si controlate prin internet?

 

Anyway take a look:

Nu-i chiar bun controlul vocal. Daca vii beat sau nu esti de-al locului, o sa stai mult pe langa usa :lol:

Editat de Crazy-devil
Link spre comentariu
Distribuie pe alte site-uri

Sunt niste initialite in industria, cum ar fi allseen / alljoyn, care par a fi util ca baza pentru proiecte de genul.

Link spre comentariu
Distribuie pe alte site-uri

mai nasol e sa-l suni si sa-i zici: vezi ca nu-i place in pozitia asta :haha:

 

Super interesant topicul dar in special proiectul in sine, doar ca am niste curiozitati:

1. Automatizarea respectiva este in permanenta dependenta de accesul la internet?

2. Se poate lega/controla si prin serviciul GSM/SMS incat sa poata lucra simultan? (suni si dai comanda: elibereaza cainii ca a venit vecinu')

3. Are baterie vreo de memorie? Ce face sau ce se intampla in cazul unei pene de curent? a. intra in stand by (modul asteptare)? b. se inchide tot sistemul (aspersor, centrala, porti)? c. se produce haos. :D

4. In cazul in care cade netul, se mai pot folosi intr-un mod "manual"? sau sunt dependente de releele conectate si controlate prin internet?

 

Nu-i chiar bun controlul vocal. Daca vii beat sau nu esti de-al locului, o sa stai mult pe langa usa :lol:

 

 

Salut.

1. Nu este dependent de accesul la internet, poate functiona in reteaua locala, eu asa am folost-o o perioada. E nevoie de internet initial pentru setarea si instalarea anumitor programe pe raspberrypi in line de comanda gen sudo apt-get inslall apache2 pentru instalarea serverului de web.

2. Cred ca se poate conecta la GSM prin arduino GSM shield http://www.instructables.com/id/Arduino-GSM-shield/.

3. Nu are baterie, dar se alimenteaza la 5Vcc prin micro USB, recomandabil de 2A. Se poate face o solutie de backup ca UPS sau altceva. Neavand nici baterie nici RTC (real time clock) nu stie care este ora (asta pentru aplicatiile care trebuie sa execute o sarcina la o ora anume) dar se poate seta sa-si ia timpul din internet pentru fusul orar din Romania. Cand cade curentul, evident cade si centrala si poarta devreme ce si ele au nevoie de curent electric. BIne am generator pentru backup.

4. Cu spuneam, nu este nevoie de internet decat daca vrei sa controlezi prin internet. Daca stai acasa, merge in reteaua locala.

 

Salut.

 

Daca sunt mai multi senzori de temperatura, pe zone diferite gen : demisol + parter + mansarda, incalzire electrica - convectoare electrice , pot controla independent inchiderea / deschiderea circuitelor pe cele 3 zone ?

Salut!

Cum spuneam mai sus, poti sa pui 1000 de senzori pe acelasi pin. Problema nu este de conexiune hardware si partea de soft. Daca te uiti pe linkul urmator http://www.raspberrypi.org/forums/viewtopic.php?f=37&t=24115&sid=0c9c9679c691ff31497f69be67fb95a8&start=25

la comentariul unuia @ialbizu, spune ca a reusit sa controleze mai multi senzori si relee.

 

Exemplu de script pentru numai un senzor, luat de aici http://www.raspberrypi.org/forums/viewtopic.php?f=37&t=24115 pe care l-am adaptat si eu.

Evident ca scriptul se poate adapta pentru mai multi senzori.

 

Singurele variabile care trebuie schimbate dupa nevoi sunt cele cu albastru, unde 18 este pinul care comanda releul, Furnance on/off se poate defini ca Centrala pornita/oprita iar 28-0000044ac28e este adresa specifica a fiecarui senzor.

 

 

import RPi.GPIO as GPIO

import time

import math

 

def main():

 

GPIO.setwarnings(False)

GPIO.cleanup()

GPIO.setmode(GPIO.BCM)

GPIO.setup(18, GPIO.OUT)

GPIO.output(18, GPIO.HIGH)

 

# This reads the temperature from the DS18B20 and rounds the value to the nearest decimal.

def currtemp():

tfile = open("/sys/bus/w1/devices/28-0000044ac28e/w1_slave")

text = tfile.read()

tfile.close()

secondline = text.split("\n")[1]

temperaturedata = secondline.split(" ")[9]

temperature = float(temperaturedata[2:])

temperature = temperature / 1000

temperature = round(temperature, 1)

return float(temperature)

 

#Set desired temperature by reading /var/bin/thermostat file

def settemp():

readtemp = open("/var/bin/thermostat", "r")

settemp = readtemp.readline(4)

readtemp.close()

return float(settemp)

 

# Hold the temperature at the settemp

def holdtemp():

if currtemp() >= settemp():

GPIO.output(18, GPIO.HIGH)

print "State 1",settemp(),"Furnace is off.",currtemp()

time.sleep(10)

else:

if currtemp() + 0.5 <= settemp():

GPIO.output(18, GPIO.LOW)

print "State 2",settemp(),"Furnace is on.",currtemp()

time.sleep(60)

else:

GPIO.output(18, GPIO.HIGH)

print "State 3",settemp(),"Furnace is off.",currtemp()

time.sleep(10)

 

# This constructs an infinite loop to monitor the temperature

infloop = 1

while infloop == 1 :

holdtemp()

 

if __name__ == '__main__':

main()

Editat de balauronul
Link spre comentariu
Distribuie pe alte site-uri

Interesant subiectul.

Eu as vrea sa imi fac jaluzelele exterioare automate. Sa se inchida la o anumita ora (apusul soarelui - posibil sa fie luata de pe net) si sa se deschida la o anumita ora ( nu neaparat rasaritul soarelui :) ).

Momentan aleg jaluzelele... :laugh:

Stima.

Link spre comentariu
Distribuie pe alte site-uri

Interesant subiectul.

Eu as vrea sa imi fac jaluzelele exterioare automate. Sa se inchida la o anumita ora (apusul soarelui - posibil sa fie luata de pe net) si sa se deschida la o anumita ora ( nu neaparat rasaritul soarelui :) ).

Momentan aleg jaluzelele... :laugh:

Stima.

Eu am lumina programata sa porneasca si sa se opreasca la anumite ore, deci se poate.

Link spre comentariu
Distribuie pe alte site-uri

Foarte interesanta initiativa, in schimb trebuie sa fii atent la posibilitatea in care cineva suficient de priceput si suficient de motivat, poate sa intre in sistemul tau si chiar sa il controleze, moment in care poti deveni captiv/neputincios in propria casa.... and then...what?!

Oricum, e ceva aparte ce ai reusit sa faci.

Editat de da_new_guy
Link spre comentariu
Distribuie pe alte site-uri

Foarte interesanta initiativa, in schimb trebuie sa fii atent la posibilitatea in care cineva suficient de priceput si suficient de motivat, poate sa intre in sistemul tau si chiar sa il controleze, moment in care poti deveni captiv/neputincios in propria casa.... and then...what?!

Oricum, e ceva aparte ce ai reusit sa faci.

 

daca treaba e pe ssl, password protected ai mai multe sanse sa-ti intre pe usa / geam decat pe net.

Link spre comentariu
Distribuie pe alte site-uri

Oricum ar fi, parca e mai confortabil gandul ca nu se poate intoarce impotriva ta chiar propria casa :D

Am incredere mai mare in cainii mei decat in tehnologie :stuck:

 

Pe de alta parte , dupa cum a zis si b374, nicaieri nu esti in deplina siguranta.

 

Dar, sa-i dam Caesar-ului ce-i al Caesar-ului: Felicitari pentru ce ai reusit sa faci, balauronule !

Editat de da_new_guy
Link spre comentariu
Distribuie pe alte site-uri

am si eu RPI de 2 ani. l-am pus si eu la treaba cu cateva chestii, dar doar in jurul lui. poti face multe chestii. multe! ai o graoaza de periferice pe care le poti lega.

 

e misto ca l-ai pus la treaba. ce ai facut tu inseamna TRAS FIRE!!! trage tu fire prin casa odata ce esti mutat. o sa observi ca nu ai pe unde, o sa le lasi la vedere....prefer sa nu.

 

Este superior unui arduino ca putere de calcul si flexibilitate in programare/utilizare pentru cazul de fata. Daca vrei sa treci la nivel industrial, atunci arduino ar fi un raspuns relativ apropiat. Odata implementata aplicatia o poti muta pe un sistem care costa 10-20E.

 

 

 

Atentie, RPI nu are ceas intern.

 

Bravo tie ca l-ai pus la treaba. Asa pe web, cu o autentificare in prealabil de perfect, lasa sfaturile cu android/ifone app.


» Post actualizat in 06 Jan 2015 13:48

deveni captiv/neputincios in propria casa....

ai vazut prea multe filme, revino pe pamant.


» Post actualizat in 06 Jan 2015 13:49

Eu am lumina programata sa porneasca si sa se opreasca la anumite ore, deci se poate.

cu sarmele cum ai facut, aici sa ne arati!


» Post actualizat in 06 Jan 2015 13:49

Daca te tin buzunarele, Z-Wave te scapa de fire.

Link spre comentariu
Distribuie pe alte site-uri

 

» Post actualizat in 06 Jan 2015 13:49

 

cu sarmele cum ai facut, aici sa ne arati!

Salut!

 

Cu sârmele....păi eu am montat raspberrypi în garaj pe care abia l-am construit în vară și instalația electrică am facut-o un pic diferită, adică de la cutia de siguranțe am tras fire la întrerupătoare, de la întrerupăoare înapoi la cutie și de aici la becuri. Așa am legat în palalel pe fiecare bec înrerupător clasic dar și releul de la pi, deci dacă îmi crapă sistemul, rămâne cel clasic.

 

Da, am consumat mai multe fire decăt la un sistem clasic, dar asta e soluția la care m-am gândit pentru conectare. O sa intre la un moment dat și casa ân renovare și o să fac în toată casa tipul ăsta de instalație.

 

Mai jos poze. În poza unde este cutia de siguranțe am încercuit cu verde firelele care vin de la întrerupătoare, legate în paralel cu fire care merg la relee.

post-20025-0-18247100-1420558879_thumb.jpg

post-20025-0-35173500-1420558910_thumb.jpg

post-20025-0-48119900-1420559035_thumb.jpg

post-20025-0-98460100-1420559056_thumb.jpg

post-20025-0-87202100-1420559082_thumb.jpg

Link spre comentariu
Distribuie pe alte site-uri

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Vizitator
Răspunde la acest topic...

×   Alipit ca text avansat.   Restituie formatare

  Doar 75 emoji sunt permise.

×   Linkul tău a fost încorporat automat.   Afișează ca link în schimb

×   Conținutul tău precedent a fost resetat.   Curăță editor

×   Nu poți lipi imagini direct. Încarcă sau inserează imagini din URL.

 Share

  • Navigare recentă   0 membri

    Nici un utilizator înregistrat nu vede această pagină.


MOTOCICLISM.ro
Grup Facebook: +36000 membri
Înscrie-te în grup
Discutii despre motociclism pe Facebook
 
BIKESHOP.ro
Grup Facebook: +18000 membri
Înscrie-te în grup
Anunturi de vanzare - cumparare pe Facebook.


×
×
  • Creează nouă...