Table of Contents

Alexandru-Ionuţ HOGEA (78521) - Home monitor

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul meu reprezinta un monitor pentru raportarea conditiilor de viata din interiorul unei case. Acesta vizeaza temperatura si calitatea aerului, respectiv nivelul de NH3, NOx, alcool, fum, CO2.

Descriere generală

Hardware Design

Datele preluate din cei doi senzori vor fi partajati in cloud prin intermediul modulului ESP8266 care se leaga la internet. Acesta preia datele prin interfata seriala de la ATMega 324.

Piese folosite:

Descriere Schematica

Schema placii de baza pe care este amplasat ATMega 324:

Schema senzorului de calitate a aerului SNS MQ135:

Schema senzorului de temperatura DHT11:

Schema modulului WiFi ESP8266:

Schema convertorului logic LLC 5V to 3V bi-directional:

Software Design

Proiectul a fost segmentat in 5 parti:

  1. Scrierea software-ului pentru functionarea modulului wireless ESP8266 (cea mai grea).
  2. Realizarea comunicatiei ATmega+ESP8266 - ThingSpeak.
  3. Scrierea software-ului pentru comunicarea cu senzorii DHT11 si MQ5.
  4. Furnizarea datelor de pe ThingSpeak pe aplicatia mobila.
  5. One to rule them all : DEBUG

Am sa incep cu 5, pentru ca a fost cea mai pregnanta parte:

Pentru 1, am folosit biblioteca de USART din laborator usor modificata. Codul de ESP8266 este scris integral de mine. Acesta cuprinde comenzile de initalizare cat si de comunicare cu serverul ThingSpeak. Comenzile de ESP sunt trimise de la ATmega la ESP8266 prin intermediul USART-ului. Respecta formatul impus de comunicare “AT+…”.

Pentru 2, a trebuit sa creez un canal de comunicare pe ThingSpeak, la care se conecteaza ESP-ul prin request-uri HTTP de tip GET. Comenzile de conectare au fost trimise prin USART, secvential. Acesta urmeaza standardul de comunicare al ESP8266, utilizant structura “AT+…”.

Pentru 3, am utilziat codul de ADC din laboratorul 5, impreuna cu o biblioteca pentru MQ5 externa care face fine tuning datelor. Din pacate, nu am reusit sa fac modulul de temperatura sa mearga, intrucat nu furnizeaza date. Acesta nu este analog, ci digital.

Partea 4 a fost cea mai simpla, fiind nevoie sa reazilez o mica aplicatie web prin care sa trag datele de la ThingSpeak.

Rezultate Obţinute

Rezultatele obtinute sunt o experienta interesanta de a incerca sa fac un dispozitiv simplu sa mearga, dar care din cauza utilizarii unui limbaj foarte low level (si prost documentat) a fost mai greu decat toate chestiile pe care am incercat sa le fac pana acum. Totusi, pot sta linistit ca voi fi atentionat daca am scurgeri de gaze.

Concluzii

Consider ca pe de parte cea mai grea parte a fost realizarea functionarii modulului wi-fi intrucat toate documentatiile online sunt despre cum acest modul se leaga cu Arduino (deci toate bibliotecile au fost scrise in Arduino). De asemenea, colegii mei s-au chinuit cu acest modul si nu am avut pe cine sa intreb, deci 5 zile am fost decuplat de orice sursa de informatii si am incercat (cu succes) sa il fac sa mearga.

De asemenea, conectarea cu senzorul de temperatura a fost foarte anevoioasa, intrucat am crezut ca este un senzor analog prima oara, ca apoi sa descpoar ca este de fapt senzor digital.

Download

Codul sursa pentru device si aplicatia web

pm_hogea.zip

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.