This is an old revision of the document!
Eu am un istoric lung cu diverse plante pe care uit sa le ud, sa le pozitionez intr-un loc cu soare sau sa nu le las iarna in frig.
Scopul acestui proiect este dezvoltarea unui dispozitiv care sa urmareasca situatia unei plante si sa puna datele intr-un server web.
Odata agregate datele se pot face numeroase metode de notificare a situatiei plantelor (e.g. mail. mesaj pe mobil).
Am decis sa folosesc NodeMCU, dar acesta are un singur pin de conversie Analog-Digitala.
De aceea este nevoie de un muptiplexor care sa selecteze semnalul analog primit de la senzori. Selectia multiplexorului este facuta tot de microcontroler prin GPIO.
De asemenea, pinul ADC de pe placuta NodeMCU accepta tensiune in valoarea 0-1V de aceea este nevoie si de un divizor de tensiune care primeste ca intrare 0-3.3V.
Rezultatul obtinut din divizorul de tensiune este interpretat si apoi trimit cu un request HTTP de tip POST catre un server in Google Cloud.
Datele pot fi vizualizate prin accesarea server-ului.
O sa folosesc urmatoarele componente:
Sursa de internet in este un hotspot facut pe telefonul mobil.
Folosesc Arduino Studio ca IDE cu extensia pentru Node MCU.
Pentru partea de server o sa foloses Visual Studio Code si pyhon. Libraria de UI este Dash iar pentru HTTP server este [https://flask.palletsprojects.com/en/2.1.x/|Flask]]
Comunicarea client-server este peste HTTP, folostind POST.
AICI se poate vedea dashboard-ul tinut in Google Cloud Platform.
Aici se poate observa o poza cu placuta in starea finala.
In dashboard se pot vedea la umiditate si la lumina modificari marcate cu galben. In cazul luminii tensiunea creste cand acopar senzorul cu un deget; la umiditate tensiunea scade cand bag senzorul intr-un pahar cu apa.
Senzorul de temperatura are un semnal gresit, in urma investigatiilor nu am reusit sa imi dau seama de ce.
In urma acestui proiect am invatat:
Codul sursa atat pentru client cat si pentru server se poate gasi in link-urile de mai jos.
Initial doream ca divizorul de tensiune sa fie pe semnalul de iesire din senzori, dar intr-un final am ajuns sa fac divizorul de tensiune pe VCC al senzorilor.
Resurse Hardware:
Resurse Software: