
Πίνακας περιεχομένων:
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-23 14:39

Είμαι μαθητής στο Howest Kortrijk που σπουδάζει New Media and Communication Technology (NMCT).
Όλοι έπρεπε να κάνουμε ένα έργο που βασίστηκε γύρω από το βατόμουρο ή/και το Arduino. Έπρεπε να χρησιμοποιήσουμε αισθητήρες και βάσεις δεδομένων για να εμφανίσουμε τα δεδομένα σε έναν ιστότοπο και τότε μου ήρθε η ιδέα να δημιουργήσω ένα μίνι έξυπνο σπίτι.
Με το έξυπνο σπίτι, θα μπορείτε να δείτε όλες τις ενδείξεις αισθητήρων στον ιστότοπο.
Σε αυτό το διδακτικό θα σας καθοδηγήσω σε κάθε βήμα, ώστε να μπορείτε να αναδημιουργήσετε αυτό το έργο για τον εαυτό σας.
Βήμα 1: Υλικά: Τι χρειάζεστε
- Raspberry Pi
- DHT22
- Grove - Αισθητήρας ποιότητας αέρα
- Grove - Αισθητήρας αερίου (MQ2)
- Breadboard
- Raspberry Pi T τσαγκάρης
- Ανδρικά/Γυναικεία καλώδια βραχυκυκλωτήρων
- LED 5mm
- Αντιστάσεις
- Ξύλο και εργαλεία
- Βοηθητικό μοτέρ
- GrovePi+
Μπορείτε να αγοράσετε αυτά τα είδη online (Ali express, amazon, kiwi electronics…) ή στα τοπικά σας καταστήματα.
Ένας λεπτομερής κατάλογος μερών με σύνδεσμο προς τα καταστήματα δίνεται παρακάτω στο BOM.
Βήμα 2: Καλωδίωση


Χρησιμοποίησα το Fritzing για την καλωδίωση για να έχω μια ωραία επισκόπηση του πώς πρέπει να γίνει η καλωδίωσή μου. Εγώ ο ίδιος χρησιμοποίησα ένα GrovePi+ για 2 αισθητήρες μου. Αν σκοπεύετε να το κάνετε χωρίς GrovePi+ ακολουθήστε το σχήμα Fritzing. Οι αισθητήρες I δεν λειτουργούν για εσάς, δοκιμάστε να χρησιμοποιήσετε διαφορετικές ακίδες.
Μπορείτε να βρείτε το αρχείο Fritzing παρακάτω.
Βήμα 3: Βάση δεδομένων χρησιμοποιώντας MySQL

Ένα από τα πιο ουσιαστικά καθήκοντα που έπρεπε να εφαρμόσουμε ήταν η σύνδεση με μια βάση δεδομένων MySQL.
Κάθε φορά που ένας αισθητήρας παίρνει ενδείξεις ή ανάβει ένα φως, θα δείτε αυτές τις αλλαγές στη βάση δεδομένων.
Στη συνέχεια, η βάση δεδομένων στέλνει αυτά τα δεδομένα στον ιστότοπο, ώστε ο χρήστης να μπορεί να τα δει και εκεί.
Παρακάτω μπορείτε να βρείτε το αρχείο.xml μου όπου έχετε μια επισκόπηση του τρόπου λειτουργίας της βάσης δεδομένων, αλλά πρώτα πρέπει να εγκαταστήσετε MySQL και φιάλη στο Raspberry Pi.
Η κωδικοποίηση των αισθητήρων έγινε μέσω pycharm, οπότε βεβαιωθείτε ότι είναι εγκατεστημένο επίσης (στον υπολογιστή σας).
Πρώτα πρέπει να ελέγξετε για ενημερώσεις και να εγκαταστήσετε πακέτα, όπως αυτό:
sudo apt-get ενημέρωση && sudo apt-get αναβάθμιση
sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
Τώρα θα χρησιμοποιήσουμε ένα εικονικό περιβάλλον:
me@my-rpi: ~ $ python3 -m pip install-upgrade pip setuptools wheel virtualenvme@my-rpi: ~ $ mkdir project1 && cd project1 me@my-rpi: ~/project1 $ python3 -m venv --system- site-packages env me@my-rpi: ~/project1 $ source env/bin/activ (env) me@my-rpi: ~/project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib
Θα πρέπει να σας πει ότι το mariadb.service είναι ενεργό.
Τώρα, στο pycharm μεταβείτε στο VCS> Import from Version Control> GitHub en clone
Στη συνέχεια, διαμορφώστε τη διαμόρφωση ανάπτυξης για τον κατάλογο που μόλις δημιουργήσατε, π. /home/me/project1.
Αφού γίνει αυτό, μεταβείτε στις ρυθμίσεις διερμηνέα και διαμορφώστε το εικονικό περιβάλλον που μόλις δημιουργήσατε, π. /home/me/project/env/bin/python. Πρέπει επίσης να συμπληρωθεί η χαρτογράφηση διαδρομής.
Εάν τα κάνατε όλα αυτά, η βάση δεδομένων θα έπρεπε να λειτουργεί ήδη.
sudo systemctl κατάσταση mysql
Τώρα πρέπει να δημιουργήσουμε χρήστες για τη βάση δεδομένων μας, όπως παρακάτω:
sudo mariadb
ΔΗΜΙΟΥΡΓΙΑ ΧΡΗΣΤΗ 'project-admin'@'localhost' IDENTIFIED BY 'adminpassword'? ΔΗΜΙΟΥΡΓΙΑ ΧΡΗΣΤΗ 'project-web'@'localhost' IDENTIFIED BY 'webpassword'? ΔΗΜΙΟΥΡΓΙΑ ΧΡΗΣΤΗ 'project-sensor'@'localhost' IDENTIFIED BY 'sensorpassword'; ΔΗΜΙΟΥΡΓΙΑ έργου ΒΑΣΗΣ ΒΑΣΩΝ
ΧΟΡΗΓΗΣΗ ΟΛΩΝ ΤΩΝ ΠΡΟΤΙΜΙΣΜΑΤΩΝ ΣΧΕΤΙΚΑ ΜΕ ΤΟ ΕΡΓΟ.* Στο 'project-admin'@'localhost' WITH GRANT OPTION. GRANT SELECT, INSERT, UPDATE, DELETE ON project.* TO 'project-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON project.* TO 'project-sensor'@'localhost'? ΠΡΟΣΦΟΡΕΣ ΠΡΟΣΦΟΡΑΣ;
Τώρα για να δείτε τη βάση δεδομένων μας στο pycharm πρέπει να κάνουμε μια σύνδεση.
Αυτό μπορούμε να το κάνουμε πηγαίνοντας στο Προβολή> Εργαλείο Windows> Βάση δεδομένων και κάνοντας κλικ στο πράσινο κουμπί "συν".
Πηγή δεδομένων> MySQL και κάντε κλικ (εάν υπάρχει) στο κουμπί Λήψη προγράμματος οδήγησης που εμφανίζεται.
Στη συνέχεια, μεταβείτε στο SSH/SSL και ελέγξτε το SSH. Συμπληρώστε τον κεντρικό υπολογιστή/χρήστη/κωδικό πρόσβασης για το pi και χρησιμοποιήστε τη θύρα 22 εάν δεν έχετε συμπληρώσει ακόμα.
Εάν θέλετε το pycharm να θυμάται τον κωδικό πρόσβασής σας, επιλέξτε το πλαίσιο ελέγχου "Απομνημόνευση κωδικού πρόσβασης".
Στην καρτέλα "Γενικά", συμπληρώστε το localhost στον κεντρικό υπολογιστή, εκτελέστε έργο στη βάση δεδομένων και χρησιμοποιήστε τον διαχειριστή έργου με τον κωδικό πρόσβασης για να μπορέσετε να δοκιμάσετε τη σύνδεση.
Για να κάνετε τώρα τη βάση δεδομένων χρήσιμη, πρέπει να εκτελέσετε το.sql που τοποθετώ παρακάτω. Δοκιμάστε να χρησιμοποιήσετε την επιλογή εισαγωγής, εάν δεν μπορείτε να εισαγάγετε ένα αρχείο dumpfile, πρέπει να προσθέσετε τους πίνακες με μη αυτόματο τρόπο.
Αφού γίνει αυτό, πρέπει να βρείτε τον κατάλογο conf με τα δύο αρχεία.service. Εκεί αλλάξτε κάθε seb που βρίσκετε με το όνομα του χρήστη που χρησιμοποιείτε στο pi σας. Επίσης, η ομάδα πρέπει να είναι www-data.
Το επόμενο βήμα είναι να ξεκινήσετε αυτές τις υπηρεσίες στο pi σας, όπως παρακάτω:
sudo cp conf/project-*. service/etc/systemd/system/
sudo systemctl δαίμονας-επαναφόρτωση
sudo systemctl start project-*
έργο sudo systemctl status-*
Θα πρέπει να δείτε δύο ενεργές υπηρεσίες όταν όλα πάνε σύμφωνα με το σχέδιο.
Το τελευταίο βήμα είναι να ενεργοποιήσετε το nginx.
Αρχικά ελέγξτε για apache2 στο pi σας, εάν το έχετε εγκαταστήσει, διαγράψτε το ή απενεργοποιήστε το.
Στο αρχείο nginx πρέπει πρώτα να αλλάξετε το uwsgi_pass και μετά να εκτελέσετε αυτές τις εντολές.
sudo cp conf/nginx/etc/nginx/sites-available/project
sudo rm/etc/nginx/sites-enabled/default
sudo ln -s/etc/nginx/sites-available/project1/etc/nginx/sites-enabled/project
sudo systemctl επανεκκίνηση nginx.service
sudo systemctl status nginx.service
Το Nginx πρέπει να είναι ενεργό και να λειτουργεί. Εάν όλα είναι σωστά, μπορείτε τώρα να σερφάρετε στο pi σας. Θα δείτε το "Hello world" στην αρχή, αλλά πρέπει ακόμα να αλλάξετε το περιεχόμενο αυτού του αρχείου με τον κωδικό μου παρακάτω.
Μπορείτε να ενεργοποιήσετε τις υπηρεσίες έτσι ώστε να εκτελούνται αυτόματα όταν ξεκινά το pi.
Όταν το κάνατε αυτό, βεβαιωθείτε ότι έχετε βάλει τουλάχιστον 1 σπίτι με διεύθυνση στη βάση δεδομένων. Μπορείτε να το κάνετε αυτό με ένα απλό ένθετο.
Βήμα 4: Κωδικοποίηση


Μπορείτε να κατεβάσετε τον κώδικα μέσω του Github:
github.com/NMCT-S2-Project-I/project-i-Tib…
Ο κωδικός για τους αισθητήρες περιλαμβάνεται στο αρχείο sensor.py.
Μην ξεχάσετε να αλλάξετε το όνομά μου σε δικό σας (ή το χρήστη από ό, τι χρησιμοποιείτε στο pi σας) στα αρχεία υπηρεσιών, ώστε να μπορούν να εκτελούνται σωστά και να τοποθετούν τον κώδικά μου στα ήδη υπάρχοντα αρχεία στο Pycharm σας.
Βήμα 5: Στέγαση




Έκανα ένα γρήγορο σχέδιο για το πώς ήθελα το σπίτι μου, αλλά το δικό σας μπορεί να φαίνεται εντελώς διαφορετικό. Απλώς πρέπει να βεβαιωθείτε ότι έχετε ένα σύνολο, ώστε το σερβο να ανοίγει και να κλείνει ένα παράθυρο.
Χρησιμοποίησα κυρίως ένα μικρό τρυπάνι και ένα πριόνι για να κόψω το ξύλο. Επίσης, βεβαιώθηκα ότι οι τοίχοι ήταν αρκετά χοντροί ώστε να μπορώ να τοποθετήσω το σερβο μου μέσα σε αυτά.
Όταν τελειώσετε με το σχέδιό σας και το σερβο είναι στη θέση του, δεν έχετε παρά να συνδέσετε τους αισθητήρες και να τοποθετήσετε το pi στο εσωτερικό του σπιτιού και είστε έτοιμοι να πάτε.
Όπως ανέφερα πριν το σπίτι σας μπορεί να μοιάζει ακριβώς με το δικό μου, χρειάζεται μόνο να αφήσετε χώρο για το σερβίς και το παράθυρο.
Τέλος τελειώσατε με το έργο. Ελπίζω ότι αυτός ο οδηγός είναι αρκετά σαφής για να μπορέσετε κι εσείς να φτιάξετε ένα φοβερό σπιτάκι όπως εγώ.
Καλή τύχη.
Συνιστάται:
Πώς να φτιάξετε 4G LTE Double BiQuade Antenna Εύκολα Βήματα: 3 Βήματα

Πώς να κάνετε εύκολα 4G LTE διπλή κεραία BiQuade Antenna: Τις περισσότερες φορές αντιμετώπισα, δεν έχω καλή ισχύ σήματος στις καθημερινές μου εργασίες. Ετσι. Searchάχνω και δοκιμάζω διάφορους τύπους κεραίας αλλά δεν δουλεύω. Μετά από σπατάλη χρόνου βρήκα μια κεραία που ελπίζω να φτιάξω και να δοκιμάσω, γιατί δεν είναι η βασική αρχή
Σχεδιασμός παιχνιδιών στο Flick σε 5 βήματα: 5 βήματα

Σχεδιασμός παιχνιδιών στο Flick σε 5 βήματα: Το Flick είναι ένας πραγματικά απλός τρόπος δημιουργίας ενός παιχνιδιού, ειδικά κάτι σαν παζλ, οπτικό μυθιστόρημα ή παιχνίδι περιπέτειας
Σύστημα ειδοποίησης αντίστροφης στάθμευσης αυτοκινήτου Arduino - Βήματα βήμα προς βήμα: 4 βήματα

Σύστημα ειδοποίησης αντίστροφης στάθμευσης αυτοκινήτου Arduino | Βήματα βήμα προς βήμα: Σε αυτό το έργο, θα σχεδιάσω ένα απλό κύκλωμα αισθητήρα στάθμευσης αντίστροφης στάθμευσης αυτοκινήτου Arduino χρησιμοποιώντας Arduino UNO και υπερηχητικό αισθητήρα HC-SR04. Αυτό το σύστημα ειδοποίησης αυτοκινήτου με βάση το Arduino μπορεί να χρησιμοποιηθεί για αυτόνομη πλοήγηση, κλίμακα ρομπότ και άλλα εύρη
Ανίχνευση προσώπου στο Raspberry Pi 4B σε 3 βήματα: 3 βήματα

Ανίχνευση προσώπου στο Raspberry Pi 4B σε 3 βήματα: Σε αυτό το Instructable πρόκειται να πραγματοποιήσουμε ανίχνευση προσώπου στο Raspberry Pi 4 με το Shunya O/S χρησιμοποιώντας τη βιβλιοθήκη Shunyaface. Το Shunyaface είναι μια βιβλιοθήκη αναγνώρισης/ανίχνευσης προσώπου. Το έργο στοχεύει στην επίτευξη της ταχύτερης ταχύτητας ανίχνευσης και αναγνώρισης με
DIY Vanity Mirror σε εύκολα βήματα (χρησιμοποιώντας φώτα λωρίδας LED): 4 βήματα

DIY Vanity Mirror σε εύκολα βήματα (χρησιμοποιώντας φώτα λωρίδας LED): Σε αυτήν την ανάρτηση, έφτιαξα ένα DIY Vanity Mirror με τη βοήθεια των λωρίδων LED. Είναι πραγματικά υπέροχο και πρέπει να τα δοκιμάσετε επίσης