Passar para o conteúdo principal

Η έξυπνη αντλία - Καρδίτσα

Hosted by OSOS , contributed by johnniepap on 10 June 2019

-

   Ο Θεσσαλικός κάμπος, γνωστός και ως Θεσσαλική πεδιάδα, είναι ο δεύτερος σε έκταση κάμπος στην χώρα. Οι καλλιέργειες του είναι το βαμβάκι, το καλαμπόκι, η ντομάτα, τα τεύτλα οι οποίες είναι ποτιστικές, δηλαδή χρειάζονται νερό. Δυστυχώς, κάθε χωράφι δεν έχει τη δική του πομόνα ή αρδευτικό κανάλι και οι αγρότες πρέπει να συνεργαστούν για τη διαχείρηση του νερού. Σε αυτό το σημείο ξεκινούν τα προβλήματα.

   Επισκεφτείτε το project μας για να μοιραστούμε μαζί σας την λύση που δώσαμε.

Learning Objectives
Βιωματική εκπαίδευση, Εκπαιδευτική καινοτομία, Συνεργατικότητα, Ηands-on Αpproach

-

   

  Για να αρχίσει ο αγρότης το πότισμα, πρέπει να έχει τελειώσει ο  προηγούμενος χρήστης. Πάντα υπάρχει ένα πρόγραμμα, αλλά αυτό καταστρατηγείται, και πάντα υπάρχουν καθυστερήσεις, που αθροίζονται. Το αποτέλεσμα είναι ο επόμενος αγρότης να περιμένει τον προηγούμενο να σταματήσει το πότισμα στο δικό του χωράφι, και κατά συνέπεια να χάνει πολύτιμο χρόνο. Το θέμα είναι πως ο αγρότης δεν έχει τρόπο να ενημερώνεται για το πότε έγινε αυτό.

-

 

 

 

   Η λύση που προτείνουμε είναι ένας τρόπος, ώστε ο αγρότης να ειδοποίειται για το πότε έκλεισε η παροχή νερού στο προηγούμενο χωράφι. Η συσκευή εφαρμόζεται δίπλα στην πομόνα χωρίς ιδιαίτερη δυσκολία και λειτουργεί αυτόνομα.

-

 

 

 Για την κατασκευή χρησιμοποιήσαμε μια πλακέτα ESP8266, η οποία σε συνεργασία με έναν μαγνητικό διακόπτη εντοπίζει πότε η πομόνα είναι σε κλειστή ή σε ανοιχτή θέση και ανάλογα στέλνει μήνυμα στο κινητό του αγρότη, που έχει δηλωθεί εκ των προτέρων, μέσω της υπηρεσίας IFTTT.

  Τα υλικά που χρησιμοποιήσαμε είναι τα παρακάτω:

Reed switch 2x14mm normally open contact

voltage-regulator/3.3v-800ma-linear-voltage-regulator

12x12x6mm Momentary Tactile Push Button Switch for Arduino

led green

led red

10 kΩ αντιστάσεις

https://grobotronics.com/usb-2.0-a-usb-b-micro

https://grobotronics.com/power-supply-5v-2a-usb

nodemcu-lua-based-esp8266.html

στεγανό κουτί

Wire jumper καλώδια

breadboard

Ο Κώδικας 


#include <ESP8266WiFi.h>

#include <IFTTTWebhook.h>

 

#define ledPin 5
#define wakePin 16
#define ssid ""
#define password ""

// Replace with your unique IFTTT URL resource
const char* resource = "/trigger/button_pressed/with/key/dcb-gcL5Rr_UaDYqSLLa9_";

// How your resource variable should look like, but with your own API KEY (that API KEY below is just an example):
//const char* resource = "/trigger/button_pressed/with/key/nAZjOphL3d-ZO4N3k64-1A7gTlNSrxMJdmqy";

// Maker Webhooks IFTTT
const char* server = "maker.ifttt.com";

void setup() {
Serial.begin(115200);
while(!Serial) {
}
Serial.println(" ");// print an empty line before and after Button Press
Serial.println("Button Pressed");

connectToWifi();

//just connected to Wi-Fi so send notification to ifttt

makeIFTTTRequest();

//flash led once
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, HIGH);
delay(200);
digitalWrite(ledPin, LOW);

//now sending board to sleep

Serial.println("deepsleepnow ");// print an empty line
ESP.deepSleep(100000);
}
void connectToWifi() {
Serial.print("Connecting to: SSID NAME"); //uncomment next line to show SSID name
//Serial.print(ssid);
WiFi.begin(ssid, password);
Serial.println(" ");// print an empty line
Serial.print("Attempting to connect: ");

//try to connect for 10 seconds
int i = 10;
while(WiFi.status() != WL_CONNECTED && i >=0) {
delay(1000);
Serial.print(i);
Serial.print(", ");
i--;
}
Serial.println(" ");// print an empty line

//print connection result
if(WiFi.status() == WL_CONNECTED){
Serial.print("Connected.");
Serial.println(" ");// print an empty line
Serial.print("NodeMCU ip address: ");
Serial.println(WiFi.localIP());
}
else {
Serial.println("Connection failed - check your credentials or connection");
}
}
// Make an HTTP request to the IFTTT web service
void makeIFTTTRequest() {
Serial.print("Connecting to ");
Serial.print(server);

WiFiClient client;
int retries = 5;
while(!!!client.connect(server, 80) && (retries-- > 0)) {
Serial.print(".");
}
Serial.println();
if(!!!client.connected()) {
Serial.println("Failed to connect, going back to sleep");
}

Serial.print("Request resource: ");
Serial.println(resource);
client.print(String("GET ") + resource +
" HTTP/1.1\r\n" +
"Host: " + server + "\r\n" +
"Connection: close\r\n\r\n");

int timeout = 5 * 10; // 5 seconds
while(!!!client.available() && (timeout-- > 0)){
delay(100);
}
if(!!!client.available()) {
Serial.println("No response, going back to sleep");
}
while(client.available()){
Serial.write(client.read());
}

Serial.println("\nclosing connection");
client.stop();
}

void loop(){
//if deep sleep is working, this code will never run.
Serial.println("This shouldn't get printed");
}

-

 

  

  Μοιραστήκαμε την ιδέα μας πριν την κατασκευάσουμε με περαστικούς στον κεντρικό πεζόδρομο της πόλης μας, όπως και με τους συγγενείς μας που τυχαίνει να είναι αγρότες. Η ανταπόκριση ήταν πολύ μεγάλη και για αυτό το λόγο συνεχίσαμε και στην υλοποίηση της ιδέας. Σκοπεύουμε να έρθουμε σε επαφή με τους αγροτικούς συνεταιρισμούς της πόλης, ενημερώνοντας όσο το δυνατόν περισσότερους αγρότες τις περιοχής και κάνοντας επίδειξη της συσκευής.

 

 

 

 

Παρακολουθήστε το βίντεό μας στο κανάλι μας στο YouTube

Supreme Stem Team: Ανδρέας Καραμπινάς, Νικόλας Αργύρης, Ορέστης Γρίβας