Πίνακας περιεχομένων:

Mini-Serre: 11 Βήματα
Mini-Serre: 11 Βήματα

Βίντεο: Mini-Serre: 11 Βήματα

Βίντεο: Mini-Serre: 11 Βήματα
Βίντεο: #11 Growing a Small Vegetable Garden on my Balcony (8sqm) (2020) 2024, Νοέμβριος
Anonim
Mini-Serre
Mini-Serre
Mini-Serre
Mini-Serre

Ως μαθητής, έχω μια κακή συνήθεια να ξεχνάω πράγματα. Εξαιτίας αυτού, αν θέλω να καλλιεργήσω έναν συγκεκριμένο τύπο φυτού, συνήθως το ξεχνάω και πεθαίνει επειδή δεν υπάρχει κανείς να το φροντίσει.

Θα προσπαθήσω να διορθώσω αυτό το πρόβλημα με το Mini-Serre. Το Mini-Serre είναι ένα αυτοματοποιημένο σύστημα παρακολούθησης κηπουρικής που στέλνει δεδομένα διαφορετικού είδους αισθητήρων που είναι εγκατεστημένα σε διακομιστή ιστού που λειτουργεί στο Raspberry Pi. Με αυτόν τον τρόπο ο χρήστης μπορεί να παρακολουθεί τα φυτά του σε έναν ιστότοπο όπου κι αν βρίσκονται. Αυτή η ιδέα αναπτύσσεται ως τελικό έργο κατά το πρώτο έτος τεχνολογίας πολυμέσων και επικοινωνιών, στο Howest Kortrijk, Βέλγιο.

Βήμα 1: Τα υλικά

Τα υλικά
Τα υλικά

Για να χτίσετε αυτό το έργο, θα χρειαστείτε τα ακόλουθα στοιχεία:

ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ

  1. Raspberry pi 3 - κιτ
  2. Breadboard
  3. Συνδετήρες από αρσενικό σε αρσενικό
  4. Συνδετήρες από άντρα σε γυναίκα
  5. Dallas 18B20 (αισθητήρας θερμοκρασίας)
  6. Φωτοαντιστάτης Ανίχνευση Φωτοευαίσθητος Αισθητήρας Φωτός
  7. MCP3008
  8. Ποτενσιόμετρο
  9. Οθόνη LCD
  10. Αντιστάσεις
  11. Μπλε LED
  12. RGB LED

Θήκη:

13. Kweekkas Central Park (https://www.brico.be/nl/tuin-buitenleven/moestuin/…) 14. Ξύλινη πλάκα (κάτω μέρος της θήκης) 15. Καρφιά 16. Βίδες

Εργαλεία:

17. Σφυρί 18. Πριόνι 19. Κατσαβίδι 20. Τρυπάνι

Βήμα 2: Κάνοντας το κύκλωμα

Κάνοντας το κύκλωμα
Κάνοντας το κύκλωμα
Κάνοντας το κύκλωμα
Κάνοντας το κύκλωμα

Στο βήμα 2 θα κάνουμε το κύκλωμα για αυτό το έργο. Αυτό είναι το απόλυτο ελάχιστο που χρειάζεστε εάν θέλετε να λειτουργήσει. Χρησιμοποιήστε τον πίνακα ψύξης και το διάγραμμα για να δημιουργήσετε ένα αντίγραφο του κυκλώματος. Εδώ χρειάζεστε όλα τα ηλεκτρικά υλικά από το βήμα 1.

Πληροφορίες για το κύκλωμα:

Έχουμε 2 αισθητήρες συνδεδεμένους με το MCP3008 που είναι ο αισθητήρας φωτός και ο αισθητήρας υγρασίας του εδάφους. Ο αισθητήρας θερμοκρασίας έχει ψηφιακή έξοδο και χρησιμοποιεί καρφίτσα GPIO στο Raspberry Pi.

Επιπλέον:

Υλοποίησα επίσης μια οθόνη LCD που θα διευκολύνει αργότερα τη σύνδεση στο Raspberry Pi χωρίς να χρειάζεται να συνδεθείτε με το φορητό υπολογιστή σας. Αυτό δεν είναι απαραίτητο, αλλά προτείνεται ιδιαίτερα.

Βήμα 3: Δημιουργήστε μια βάση δεδομένων

Δημιουργήστε μια βάση δεδομένων
Δημιουργήστε μια βάση δεδομένων

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

Βάση δεδομένων-πρόγραμμαΕίναι σημαντικό η βάση δεδομένων μας να μπορεί να λειτουργεί μόνη της από το Raspberry Pi. Μπορείτε να το κάνετε αυτό κατεβάζοντας MySQL ή MariaDB για το Raspberry Pi. Θέλετε πρώτα να δημιουργήσετε τη βάση δεδομένων στον υπολογιστή σας στο MySQL Workbench. Στη συνέχεια, εξάγετε αυτήν τη βάση δεδομένων ως αυτόνομο αρχείο. Τώρα συνδεθείτε στη βάση δεδομένων του Raspberry Pi μέσω του MySQL Workbench και επαναφέρετε τη βάση δεδομένων εδώ. Τώρα έχετε τη βάση δεδομένων που λειτουργεί στο Raspberry Pi σας!

Βήμα 4: Γράψτε τα δεδομένα αισθητήρα στη βάση δεδομένων

Μετά τη λειτουργία της βάσης δεδομένων στο Raspberry Pi, θέλουμε οι αισθητήρες μας να μπορούν να αποθηκεύουν τα δεδομένα τους σε αυτό. Μπορούμε να το κάνουμε αυτό δημιουργώντας 3 ξεχωριστά σενάρια (που γίνεται στο PyCharm). Ένα ωραίο χαρακτηριστικό που περιλαμβάνεται στο PyCharm είναι ότι μπορείτε να συνδεθείτε στο Pi σας και με αυτόν τον τρόπο μπορείτε να αποκτήσετε πρόσβαση στη βάση δεδομένων σας και να γράψετε απευθείας σε αυτήν. Τα δεδομένα διαβάζονται επίσης απευθείας από το Raspberry Pi και οι λυχνίες LED ανάβουν ανάλογα με αυτό που χρειάζεστε.

Το μπλε LED ανάβει: Το χώμα δεν είναι αρκετά υγρό. Το LED RGB ανάβει πράσινο: όλα είναι καλά. Το LED RGB ανάβει κόκκινο: είναι πολύ ζεστό, ανοίξτε την οροφή για να κρυώσει λίγο. Το LED RGB ανάβει μπλε: κάνει πολύ κρύο, κλείστε την οροφή αν είναι ανοιχτή.

Μπορείτε να κατεβάσετε όλα τα σενάρια από το αποθετήριο github μου:

Σημείωση: Χρησιμοποίησα τα προσωπικά μου στοιχεία σύνδεσης για τις βάσεις δεδομένων, οπότε ίσως χρειαστεί να τα αλλάξετε για να ταιριάζουν με τα δικά σας.

Σημείωση: Ο φάκελος DB1 περιέχει μια κατηγορία "βάση δεδομένων" που εισάγεται στον κώδικα που θα συνδεθεί με τη βάση δεδομένων σας.

Βήμα 5: Εμφάνιση της IP σας στην οθόνη

Εμφάνιση της IP σας στην οθόνη
Εμφάνιση της IP σας στην οθόνη

Η οθόνη δείχνει τη διεύθυνση IP στην οποία λειτουργεί το Raspberry Pi, με αυτόν τον τρόπο μπορείτε εύκολα να συνδεθείτε χωρίς καλώδια στο Raspberry Pi. Έγραψα επίσης ένα σενάριο για αυτό το οποίο διαβάζει την IP του pi σας και το εμφανίζει στην οθόνη (σημειώστε ότι οι καρφίτσες GPIO ταιριάζουν διαφορετικά μπορεί να μην λειτουργήσει). Το Raspberry Pi εκτελεί αυτό το σενάριο αυτόματα κατά την εκκίνηση. Μπορείτε να το κάνετε αυτό προσθέτοντας κάποιον κώδικα στο αρχείο rc.local στο Raspberry Pi. Μπορείτε να φτάσετε εκεί πληκτρολογώντας 'sudo nano /etc/rc.local', πριν από την τελευταία γραμμή κώδικα που θέλετε να προσθέσετε 'Python3.5/home/user/filelocation &'.

Μπορείτε να βρείτε το σενάριο εδώ:

Σημείωση: το "&" στο τέλος, αυτό θα κάνει το σενάριο να τρέξει μία φορά και θα το σταματήσει αμέσως, ώστε να μπορούν να εκτελούνται και άλλα σενάρια.

Βήμα 6: Μέτρηση των αισθητήρων κάθε 10 λεπτά

Μέτρηση των αισθητήρων κάθε 10 λεπτά
Μέτρηση των αισθητήρων κάθε 10 λεπτά

Δεν θέλουμε η βάση δεδομένων μας να συμπληρώνεται από το sensordata ποτέ 0,001 δευτερόλεπτα, διαφορετικά αυτό θα δυσχεράνει τη βάση δεδομένων να συμβαδίζει με όλα τα δεδομένα που έρχονται και μπορεί να καταρρεύσει. Αυτός είναι ο λόγος για τον οποίο πρόσθεσα ένα απόσπασμα στο "crontab" στο Raspberry Pi. Το Crontab είναι ένα πρόγραμμα που παρακολουθεί τις προγραμματισμένες εργασίες, οπότε μπορείτε απλά να εκτελείτε το σενάριο κάθε 10 λεπτά μόνο μία φορά.

Πώς να το ρυθμίσετε:

Μπορείτε να το ρυθμίσετε πληκτρολογώντας πρώτα στη γραμμή εντολών Raspberry Pi 'crontab -e', αυτό ανοίγει τον επεξεργαστή για crontab. Μετακινηθείτε προς τα κάτω στο κάτω μέρος του αρχείου και προσθέστε 3 γραμμές, μία για κάθε αισθητήρα.

' */10 * * * * python3.5/home/user/filepath/sensor1'

Σημείωση: Το '*/10' είναι τα 10 λεπτά που θέλουμε να είναι μεταξύ κάθε μέτρησης. Ο κώδικας που πληκτρολόγησα μετά είναι η έκδοση python που εκτελείτε και το αρχείο που θέλετε να εκτελέσετε, οπότε πρέπει να γράψετε μία γραμμή για κάθε αισθητήρα επειδή υπάρχουν από 3 διαφορετικά αρχεία.

Βήμα 7: Δημιουργία του ιστότοπου

Δημιουργία της Ιστοσελίδας
Δημιουργία της Ιστοσελίδας

Έφτιαξα τον ιστότοπό μου σε ένα πρόγραμμα που ονομάζεται Atom. Είναι ένα πολύ απλό στη χρήση πρόγραμμα και συνιστάται αν είστε αρκετά νέοι στο να γράφετε HTML και CSS όπως εγώ.

Μπορείτε να βρείτε όλο τον κώδικα και τις εικόνες που χρησιμοποιούνται ακολουθώντας αυτόν τον σύνδεσμο:

Δημιούργησα το μπροστινό μέρος του ιστότοπου στο Visual Studio Code, οπότε αν δεν σχεδιάζετε να φτιάξετε μόνοι σας το HTML & CSS, μπορείτε απλά να προσθέσετε τα αρχεία σε έναν νέο φάκελο στο Visual Studio Code αντί για Atom.

Βήμα 8: Δημιουργία του Back-end

Το back-end και το front-end θα είναι τα πράγματα που πραγματικά κάνουν να συμβεί κάτι στον ιστότοπο που μόλις δημιουργήσαμε. Στο back-end συνδέουμε ξανά τη βάση δεδομένων μας και αντί να βάλουμε δεδομένα στη βάση δεδομένων. Τώρα θα διαβάσουμε όλα τα δεδομένα από τους διαφορετικούς αισθητήρες και χρησιμοποιώντας το Socket. IO θα τα στείλουμε στο μπροστινό μας μέρος, ώστε να μπορούμε να τα εμφανίσουμε στον ιστότοπο.

Μπορείτε να βρείτε τον κωδικό στο back-end εδώ:

Σημείωση: Χρησιμοποιούμε την κλάση βάσης δεδομένων που χρησιμοποιήσαμε νωρίτερα, οπότε δεν το συμπεριέλαβα σε αυτό το αποθετήριο.

Βήμα 9: Δημιουργία του Front-end

Το front-end είναι εκεί που συνδυάζουμε τον κώδικα HTML & CSS μαζί με JavaScript και το Back-end. Το JavaScript που έγραψα προσπαθεί να κάνει μια σύνδεση με το back-end που πρέπει να είναι σε λειτουργία. Τώρα το Back-end θα μας στείλει όλα τα δεδομένα από τους αισθητήρες και μπορούμε να κάνουμε μερικές λειτουργίες στο JavaScript που επεξεργάζονται το αρχείο HTML έτσι ώστε να ταιριάζει στις τρέχουσες τιμές μας.

Μπορείτε να βρείτε το JavaScript εδώ:

Σημείωση: βεβαιωθείτε ότι έχετε συνδέσει στο HTML σας τον σωστό φάκελο του τόπου της JavaScript, διαφορετικά μπορεί να μην λειτουργήσει.

Βήμα 10: Κατασκευή του θερμοκηπίου

Κατασκευή του θερμοκηπίου
Κατασκευή του θερμοκηπίου
Κατασκευή του θερμοκηπίου
Κατασκευή του θερμοκηπίου

Αγόρασα ένα πακέτο από το Brico:

Απλώς ακολουθήστε τα βήματα που συνοδεύουν το πακέτο. Αφού γίνει αυτό, δεν είμαστε έτοιμοι να βάλουμε το Raspberry Pi εκεί. Πρώτα πρέπει να φτιάξουμε ένα «πάτωμα» ή ένα πάτο για το Θερμοκήπιο, μπορείτε να το κάνετε παίρνοντας μια ξύλινη πλάκα και μετρήστε πόσο μεγάλο πρέπει να είναι για να ταιριάζει. Πρώτα έφτιαξα ξύλινο σκελετό, ώστε το ξύλινο πιάτο να έχει κάτι για να στηριχτεί.

Βήμα 11: Συνδυάζοντας τα πάντα μαζί

Βάζοντας τα πάντα μαζί
Βάζοντας τα πάντα μαζί
Βάζοντας τα πάντα μαζί
Βάζοντας τα πάντα μαζί
Βάζοντας τα πάντα μαζί
Βάζοντας τα πάντα μαζί

Είμαστε σχεδόν έτοιμοι! Απλά αυτό το τελευταίο βήμα και είστε έτοιμοι. Πάρτε το Raspberry Pi και το θερμοκήπιο, κάντε μερικές τρύπες ώστε να μπορείτε να βάλετε τα LED μέσα από αυτό, κάντε μια τρύπα για την οθόνη και μια τρύπα για το τροφοδοτικό Raspberry Pi. Βάλτε τα πάντα στο θερμοκήπιο, συνδέστε το Pi και είστε έτοιμοι! Έχετε το δικό σας θερμοκήπιο!

Συνιστάται: