Fakultet organizacionih nauka, Univerzitet u Beogradu

Katedra za elektronsko poslovanje

Home > Praktikum iz Interneta inteligentnih uređaja > PRIMER 27. IOT SISTEM ZA PRAĆENjE RAZVOJA ŠAMPINjONA

PRIMER 27. IOT SISTEM ZA PRAĆENjE RAZVOJA ŠAMPINjONA

1. Projektni zadatak
Potrebno je projektovati i implementirati sistem za merenje temperature, vlažnosti i ugljen dioksida u proizvodnji šampinjona.
Osnovni zadatak je izrada pametnog sistema poljoprivrede na osnovu zadatih uslova: temperature, vlažnosti vazduha i količine ugljen dioksida u vazduhu. Sistem treba da obezbedi praćenje faza u razvoju šampinjona, merenje temperature, vlažnost vazduha i količine ugljen dioksida i obaveštavanje korisnika imejlom u slučaju da izmerene vredosti nisu u optimalnim granicama. Potrebna mikroklima se razlikuje u fazama razvoja šampinjona, koje su pojednostavljeno prikazane u tabeli 1.

Faze u razvoju šampinjona

Trajanje faze

Optimalna temperatura

Optimalna vlažnost

Optimalna količina ugljen dioksida

Faza inkubacije

15 dana

25 °C

90 – 95%

< 2000ppm (parts per million)

Faza rasta

10 dana

22 – 25°C

90 – 95%

1250ppm – 2000ppm

Faza formiranja ploda

10 dana

5 – 7 °C

85 – 90%

560 – 600ppm

Faza berbe (tri berbe)

30 dana

15-17 °C

> 95%

480 – 680ppm

Sistem treba da obuhvati definisanje proizvoljnog broja faza u rastu šampinjona i podešavanje para- metara za svaku od faza (trajanje, optimalna temperatura, optimalna vlažnost, optimalna količina ugljen dioksida).Sistem treba da omogući daljinsko upravljanje pomoću veb i Android aplikacija. U sklopu veb i Android aplikacija potrebno je prikazati trenutnu vlažnost, temperaturu i količinu ugljen dioksida, grafik istorijskih podataka za poslednja 5 dana.

Sistem treba da pošalje imejl upozorenje korisniku ukoliko je :

  • vlažnost vazduha izvan granica
  • temperatura izvan granica
  • količina ugljen dioksida izvan granica
  • senzor van funkcije.

Još jedan od načina upozoravanja je pomoću LED dioda, po dve za svaku od merenih veličina. Ukoliko su vrednosti u optimalnim opsezima, sijaju zelene diode, ukoliko odstupaju od dozvoljenih granica sijaju crveno. Ukoliko neki od senzora ne radi, način upozorenja je takav da sve LED diode sijaju istovremeno, i zelene i crvene. Koriste se po dve LED diode za temperaturu, za vlažnost vazduha i za ugljen dioksid.
2. Projektovanje i implementacija
Za ovaj primer uzgoja šampinjona temperatura se reguliše klima uređajem, optimalna vlažnost vlaženjem vazduha pomoću rasprskivača ili vlaženjem poda prostorije, a količina ugljen dioksida se smanjuje provetravanjem (slika 1).

1
Slika 1 Projektovanje pametnog okruženja

Realizacija rešenja je prikazana u sledećim celinama:
1. Programiranje Arduino uređaja
2. Povezivanje Raspberry Pi i Arduino uređaja
3. Programiranje Raspberry Pi uređaja
4. Pravljenje baze podataka
5. Pravljenje veb servisa
6. Pravljenje veb aplikacije
7. Pravljenje Android aplikacije.
Programiranje Arduino uređaja.Program za Arduino uređaj je dat u skripi arduino.pde .

1. Python skripta za prihvatanje očitanih vrednosti sa senzora ( readData.py).
2. Python skripta za automatko slanje imejl notifikacija korisniku (warningSystem.px).
3.  12 PHP skripti za paljenje i gašenje LED dioda:
3.1temp_green_on.php – pali zelenu LED diodu za temperaturu
3.2 temp_green_off.php – gasi zelenu LED diodu za temperaturu
3.3 temp_red_on.php – pali crvenu LED diodu za temperaturu
3.4temp_red_off.php – gasi crvenu LED diodu za temperaturu
3.5hum_green_on.php – pali zelenu LED diodu za vlažnost
3.6 hum_green_off.php – gasi zelenu LED diodu za vlažnost
3.7 hum_red_on.php – pali crvenu LED diodu za vlažnost
3.8 hum_red_off.php – gasi crvenu LED diodu za vlažnost
3.9 co_green_on.php– pali zelenu LED diodu za ugljen monoksid
3.10co_green_off.php – gasi zelenu LED diodu za ugljen monoksid
3.11 co_red_on.php – pali crvenu LED diodu za ugljen monoksid
3.12 co_red_off.php – gasi crvenu LED diodu za ugljen monoksid

Pravljenje baze podataka
Baza podataka za sistem pametne poljoprivrede definisana je u MySQL-u na Elab hostingu. Moguće je koristiti bilo koj hosting ili kreirati lokalnu bazu na Raspberry Pi uređaju. Baza podataka sadrži sledeće tabele: sensor_data, user_setting i faze.
SQL skripta za kreiranje tabele user_settings:
Pravljenje veb servisa
U sklopu realizacije rešenja razvijeni su veb servisi prikazani u tabeli 1.

Table 1 veb servisi

Назив

Opis

saveSensorData.php

Podatke sa senzora čuva u bazi (tabela sensor_data)

checkSystemState.php

Automatsko generisanje sistema upozoravanja putem email poruka

getAppData.php

Čita podatke iz baze aplikacije i prosleđuje ih u JSON formatu

temp_green_on.php

Poziva temp_green_on.php koja se nalazi na Raspberry Pi uređaju

temp_green_off.php

Poziva temp_green_of.php koja se nalazi na Raspberry Pi uređaju

temp_red_on.php

Poziva temp_red_on.php koja se nalazi na Raspberry Pi uređaju

temp_red_off.php

Poziva temp_red_off.php koja se nalazi na Raspberry Pi uređaju

hum_green_on.php

Poziva hum_green_on.php koja se nalazi na Raspberry Pi uređaju

hum_green_off.php

Poziva hum_green_off.php koja se nalazi na Raspberry Pi uređaju

hum_red_on.php

Poziva hum_red_on.php koja se nalazi na Raspberry Pi uređaju

hum_red_off.php

Poziva hum_red_off.php koja se nalazi na Raspberry Pi uređaju

co_green_on.php

Poziva co_green_on.php koja se nalazi na Raspberry Pi uređaju

co_green_off.php

Poziva co_green_off.php koja se nalazi na Raspberry Pi uređaju

co_red_on.php

Poziva co_red_on.php koja se nalazi na Raspberry Pi uređaju

co_red_off.php

Poziva co_red_off.php koja se nalazi na Raspberry Pi uređaju

Razvoj veb aplikacije

Veb aplikacija se sastoji od sledećih fajlova:

Razvoj Android aplikacije

Android aplikacija je napravljena u IDE okruženju Anroid Studio i koristi definisane veb servise. Početni ekran aplikacije dat je na slici 3.235.
Osnovni fajlovi aplikacije prikazani su u nastavku teksta: