diff --git a/IoT_Project/.env b/IoT_Project/.env new file mode 100644 index 0000000..f342a49 --- /dev/null +++ b/IoT_Project/.env @@ -0,0 +1,2 @@ +EMAIL=kampe.test@gmail.com +PASSWORD=12345^&*()test diff --git a/IoT_Project/.gitignore b/IoT_Project/.gitignore new file mode 100644 index 0000000..4c49bd7 --- /dev/null +++ b/IoT_Project/.gitignore @@ -0,0 +1 @@ +.env diff --git a/IoT_Project/page.html b/IoT_Project/page.html new file mode 100644 index 0000000..68c78b0 --- /dev/null +++ b/IoT_Project/page.html @@ -0,0 +1,64 @@ + + + + Raspberry Pi Measures + + + + + + +
+ + + + diff --git a/IoT_Project/rasp_measurements.db b/IoT_Project/rasp_measurements.db new file mode 100644 index 0000000..06d7405 Binary files /dev/null and b/IoT_Project/rasp_measurements.db differ diff --git a/IoT_Project/raspberry_pi_code.py b/IoT_Project/raspberry_pi_code.py new file mode 100644 index 0000000..fe730c1 --- /dev/null +++ b/IoT_Project/raspberry_pi_code.py @@ -0,0 +1,101 @@ +import requests, json, random +from time import sleep + +url = 'http://localhost:3000' +old = [0, 0, 0, 0] #list to hold the previous values +new = [0, 0, 0, 0] #list to hold the new values +names = ["temperature", "air humidity", "ground humidity", "beaufort"] +flag = 0 +diff = 0 +timer = 0 + +while True: + temp = random.randint(15,45) #Temperature + ahum = random.randint(0,100) #Air humidity + ghum = random.randint(0,100) #Ground humidity + wind = random.randint(0,17) #Beaufort (Bofor) + + print("Temperature:",temp) + print("Air humidity:",ahum) + print("Ground humidity:",ghum) + print("Beaufort:",wind,"\n") + + new[0]=temp #assigning to list new the new values + new[1]=ahum + new[2]=ghum + new[3]=wind + + if flag == 1: #we don't want to do calculations with zeros + print("New temperature: ",new[0], ", Old temperature: ", old[0]) + print("New air humidity: ",new[1], ", Old air humidity: ", old[1]) + print("New ground humidity: ",new[2], ", Old ground humidity: ", old[2]) + print("New beaufort: ",new[3], ", Old beaufort: ", old[3],"\n") + + if timer==10: #if 5 minutes have passed then send the new values to server (10 x 30secs = 300 secs = 5 mins) + print("Send to server: 5 mins passed!")#send all the new data to server + + data = {0:new[i]} #sending the new value of temperature + r = requests.post(url, data) #sending a json object to the specified url + + data = {1:new[i]} #sending the new value of air humidity + r = requests.post(url, data) #sending a json object to the specified url + + data = {2:new[i]} #sending the new value of ground humidity + r = requests.post(url, data) #sending a json object to the specified url + + data = {3:new[i]} #sending the new value of beaufort + r = requests.post(url, data) #sending a json object to the specified url + + else: + for i in range(4): + if (new[i] == 0) and (old[i] == 0): #if the previous value and the new one are 0 then continue + continue + elif old[i] == 0: #we can't devide a number with zero + if new[i] > 2: #check if the new value is above 2 (10%) + diff = new[i] + elif new[i] == 0: #if the new value is 0 then + if old[i] > 2: #check if the old value is above 2 (10%) + diff = old[i] + else: + diff = round((abs((new[i]-old[i]))/old[i])*100,2) #calculating percentage difference + print("Percentage difference of",names[i],":",diff) + + if diff > 10: #if the new and old values differ by 10 then send the new value to server + timer = 0 + print('Sending to server (10%)...') + + if(i == 0): + + data = {0:old[i]} #sending the old value + r = requests.post(url, data) + data = {0:new[i]} #sending the new value + + elif(i == 1): + + data = {1:old[i]} #sending the old value + r = requests.post(url, data) + data = {1:new[i]} #sending the new value + + elif(i == 2): + + data = {2:new[i]} #sending the old value + + elif(i == 3): + + data = {3:new[i]} #sending the old value + + r = requests.post(url, data) #sending a json object to the specified url + + print('\n') + + sleep(5) #produce data every 30 seconds + timer+=1 + + + old[0]=temp #assigning to list old the old values + old[1]=ahum + old[2]=ghum + old[3]=wind + + flag = 1 +