This is an old revision of the document!
Proiectul constă într-un aparat utilizat pentru monitorizarea stării în care se află un acvariu. Device-ul va dispune de un senzor ce va măsura nivelul apei și de o pompă integrată, prin intermediul careia se va putea reumple acvariul, în cazul în care limita admisă este depașită. Pentru a semnala problemele apărute, dispozitivul va dispune de un ecran LCD și de un LED RGB a cărui culoare va depinde de starea nivelului apei. De asemenea, prin intermediul unei aplicații Web, utilizatorul va putea fi notificat cu diverse mesaje. De asemenea, sistemul de notificare va dispune si de trimitere de email-uri.
Curiozitatea pentru acest domeniu a reprezentat ideea și punctul de plecare pentru alegerea acestui proiect. Totodată, scopul este acela de a facilita monitorizarea acvariului de la distanță și de a automatiza procese simple de întreținere a mediului.
Consider că este util pentru pasionații acestui domeniu și că va reprezenta o alternativă mai accesibilă la produsele deja existente pe piață.
Senzorul va monitoriza în permanență nivelul apei. Odată cu schimbarile apărute și detectate, culoarea LED-ului RGB se va modifica. Atunci când o limită prestabilită va fi depașită, utilizatotul va fi notificat in cadrul aplicatiei, dar si prin email. Astfel, i se va pune la dispozitie un API ce poate controla pompa de apa. Pompa de apa va reumple acvariul cu o cantitate de apă afalata in parametrii admisi. În tot acest timp, ecranul LED va afișa mesaje sugestive. Mecanismul de notificare va fi realizat prin integrarea cu un client de MQTT si Apache Kafka în cadrul aplicației Web dezvoltate în framework-ul Spring.
Proiectul se bazeaza, in principal, pe comunicarea prin intermediul protocolului MQTT. Aplicatia scrisa pentru Arduino realizeaza conexiunea wireless prin utilizarea modulului ESP32. Odata stabilita conexiunea la internet, se creeaza clientul MQTT care trimite/primeste mesaje pe topicuri predefinite: mqtt/waterlevel & mqtt/waterpump.
Senzorul de nivel al apei monitorizeaza constant valorile nivelului apei si le trimite broker-ului de MQTT care ruleaza pe un container. Valorile trimise sub forma de mesaje catre broker sunt, la randul lor, “consumate” si prelucrate de un alt client de MQTT dezvoltat prin intermediul framework-ului Spring
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.