xeosmarthome

Proiect adăugat de Claudiu Neamtu și Robert Șofrac
Categoria Electronică
17 august 2018


Descriere scurtă:
XeoSmartHome este un sistem de automatizare a unei case, compus din doua parti: Partea hardware: Diferite dispozitive cu WiFi care pot automatiza anumite activitati zilnice si pot usura viata oamenilor, cum ar fi: - hranitul cainilor sau al pisicilor - hranitul pestilor - irigarea gozonului/gradinii - controlul temperaturii - iluminat inteligent - prelungitor inteligent (orice aparat conectat la el poate fi pornit sau oprit) Partea software: Prin intermediul site-ului meu ( http://myautohome.ro) utilizatorii au acces la o platforma prin care isi pot controla dispozitivele inteligente. Pot fi executate comenzi de genul "aprinde becul acum" sau pot fi configurate programe zilnice precum "aprinde becul la ora 7:02, hraneste cainele la ora 16:30 etc.". Interfata este una simpla si usor de folosit. Fiind o aplicatie web este disponibila pe orice dispozitiv (telefon, calculator, tableta).

Prezentare:

Dispozitivele au la baza circuitul Wemos D1 cu microprocesorul ESP8266. Am ales acesta placa de dezvoltare datorita WiFi-ului, mutipliilor pini GPIO, puterii de procesare si consumului redus de energie.

Dispozitivul de hranit cainii, numit si iFeeder, este format dintr-un Wemos, un servomotor SG90, un senzor optic si un alimentator de telefon, iar carcasa aparatului este realizata din plexiglass de 3mm. Cand este momentul ca dispozitizul sa hraneasca cainele, servomoroul deschide o usa mica timp de 0.4 secunde si apoi se inchide. Hrana uscata cade in bol. Daca se doreste eliberarea unei cantitati mai mari de hrana servomotorul repeta acesta actiune de mai multe ori.

Prelungitorul inteligent este format dintr-un Wemos, o sursa de alimentare de 5V 0.7A, un modul cu 4 relee, toate acestea motate intr-o doza de curent pentru a fi protejate de praf si umiditate, 4 prize, un cablu de 4m si un stecher.

Sistemul pentru irigarea gazonului este format din microcontroler, releu, sursa de alimentere de 12V 1A si o electrovalva. Cand controller-ul trimite semnal releului acesta se inchide, bobina electrovalvei este alimentata, si electrovalva permite trecerea apei.

Site-ul (http://myautohome.ro) este folosit mentru controlul si configurarea orarului zilnic al dispozitivelor. Partea de backend este scrisa in Python, utilizand framework-ul Flask. Baza de date este sql lite, si conexiunea server – baza de date se realizeaza fololsind SQL-Alchemy. Servelul se afla pe un Raspberry pi 3, ruland Raspbian (Linux). Parea de fontend este realizata cu bootstrap, javascript, css si folosind sistemul de template oferit de Flask. Interfata este simpla si usor de folosit, principalele file sunt: devices, schedule, timetables. Site-ul are si o interfata pentru administrator (in care poate vizualiza si edita baza de date) realizata cu Flask-Admin. Comunicarea intre server si dispozitive se realizeaza prin websockets, folosind Sockets-io.
Microcontrolerele au fost programate cu folosind limbajul arduino(c++). Am folosit bibliotecile: ESP8266WiFi.h ESP8266WebServer.h NTPClient.h WiFiUdp.h EEPROM.h ArduinoJson.h Servo.h SocketIoClient.h DNSServer.h .

Cum folosesti sistemul ?
Sa luam ca exemplu hranitorul de caini. Il fixezi pe un perete astfel incat cainele sa nu poata sa-l roada, ii umpli rezervorul cu mancare si ii conectezi sursa de alimentare. Dispozitulul va porni si va incerca sa se conecteze la ruter-ul tau. Fiind prima folosire, disppozitivul trebuie configurat. Se apasa bunotul de pe aparat si acesta va trece sin modul Station in modul Station-AcesPoint. Acum poate fi vazut ca o retea WiFi, la care te vei conecta cu telefonul si vei fi redirectionat automat folosind captive-portal la pagina de configurare. Dispozitivul va scana retelele WiFi din apropiere si iti va arata o lista din care sa alegi, si un camp pentru completarea parolei. Dupa salvarea datelor acesta va trece din nou in modul Station (nu mai este vizibil ca retea WiFi) si se va conecta la router.
Urmeaza sa-ti faci cont pe platforma (daca nu ai deja). Acolo in fila „Devices” ai posibilitarea sa adaugi un sipozitiv nou. Acest lucru se face conpletand codul unic al dispozitizului tau (este scris pe spatele aparatului). Ca sa fie mai usor de gasit dispozitizul in lista ta de sispozitive poti sa-i dai un nume sugestiv („Rex”) si sa ii pui o poza (poza cu cainele).
Gata !
Acum poti sa iti hranesti cainele de la distanta doar apasand un buton sau sa-i configurezi programul zilnic de hranire.
Daca conexiunea dispozitivului la internet se opreste nu vei mai putea controla dispozitizul de la distanta, dar programul de hranire va continua, iar eventualele schimbari vor zi actualizate la reconectarea acestuia cu serverul.

Accesări: 1.037
Toate proiectele înscrise la GREPIT 11

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*