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

Έξυπνο ξυπνητήρι: 13 βήματα
Έξυπνο ξυπνητήρι: 13 βήματα

Βίντεο: Έξυπνο ξυπνητήρι: 13 βήματα

Βίντεο: Έξυπνο ξυπνητήρι: 13 βήματα
Βίντεο: Φτιάξε το τραγικό ξυπνητήρι σου επιτέλους | Ξύπνα σαν άνθρωπος και όχι σαν να είσαι σε στρατόπεδο 2024, Ιούλιος
Anonim
Έξυπνο ξυπνητήρι
Έξυπνο ξυπνητήρι

Γεια σας, με λένε Alexandra Christiaens και σπουδάζω Τεχνολογία Μέσων και Επικοινωνιών στο Howest στο Kortrijk του Βελγίου.

Ως σχολική εργασία, μας ζητήθηκε να φτιάξουμε μια συσκευή IoT. Ενθαρρυνθήκαμε να κάνουμε κάτι που θα έκανε τη διαφορά είτε στη δική μας ζωή είτε στη ζωή των ανθρώπων που γνωρίζουμε. Δυσκολεύτηκα να βρω ένα έργο και όταν προσπάθησα να ψάξω για ένα κατάλληλο έργο, συχνά σκεφτόμουν: «Είμαι πολύ κουρασμένος για αυτό». Τελικά συνειδητοποίησα ότι αυτό θα μπορούσε να είναι το πρότζεκτ μου: θα έφτιαχνα ένα έξυπνο ξυπνητήρι που θα με βοηθούσε να σηκωθώ το πρωί και να με βοηθήσει να κοιμηθώ εγκαίρως το βράδυ. Δεδομένου ότι οι απαιτήσεις για αυτήν την εργασία υπαγόρευαν ότι πρέπει να χρησιμοποιήσουμε ένα Raspberry Pi για να τρέξουμε τα πάντα, αποφάσισα να ονομάσω τη συσκευή μου "Sleepi" ως λογοπαίγνιο.

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

Βήμα 1: Βήμα 1: Συλλογή των εξαρτημάτων

Βήμα 1: Συλλογή των εξαρτημάτων
Βήμα 1: Συλλογή των εξαρτημάτων
Βήμα 1: Συλλογή των εξαρτημάτων
Βήμα 1: Συλλογή των εξαρτημάτων
Βήμα 1: Συλλογή των εξαρτημάτων
Βήμα 1: Συλλογή των εξαρτημάτων

Έτσι, πρώτα απ 'όλα, ας βεβαιωθούμε ότι έχουμε όλα όσα χρειαζόμαστε πριν ξεκινήσουμε την κατασκευή. Έκανα μια λίστα με τα πιο σημαντικά στοιχεία. Κάτω μπορείτε να βρείτε ένα pdf με πιο λεπτομερείς πληροφορίες για τα εξαρτήματα.

- 1 x Raspberry Pi 3 μοντέλο Β

- 1 x (κενή) κάρτα microSD και προσαρμογέας (έχω κάρτα 16 GB, αλλά 8 GB είναι αρκετά)

- Τροφοδοσία 1 x 5V για το Raspberry Pi

- 1 x καλώδιο ethernet

- 2 μπαταρίες 9V

- Κλιπ μπαταρίας 2 x 9V

- 1 x GPIO 40 ακίδων επέκτασης και καλώδιο ουράνιου τόξου

- 2 x BB830 Solderless Plug-in Breadbord

- 1 x Arduino Uno

- 1 x 0,56 ιντσών οθόνη 4*7 τμημάτων

- 1x αισθητήρας θερμοκρασίας DS18B20

- 1 x αισθητήρας φωτεινότητας TSL2561

- 1 x 1602A οθόνη LCD

- 1 μετατροπέας επιπέδου

- 1 x SN74HC595N shiftregister

- 1 x Περιστροφικός κωδικοποιητής

- 1 x ποτενσιόμετρο

- 1 x Power RGB LED

- 1 x ηχείο

- 4 x 337B τρανζίστορ

- 1 x δίοδος

- 1 κουμπί x

- 3 x xl4005 31 LED πρόγραμμα οδήγησης

- 7 x αντιστάσεις (2 x 10k Ohm, 4 x 1k Ohm, 1 x 470 Ohm)

- Διάφορα καλώδια από jumper (αρσενικό σε αρσενικό και αρσενικό σε θηλυκό)

Προαιρετικός:

- 1 x ξύλινο πάνελ πολλαπλής χρήσης (χρησιμοποίησα ένα με τις ακόλουθες μετρήσεις που ήταν περισσότερο από αρκετό: 860mm x 860mm x 5mm)

- Διάφορα εργαλεία για την ξυλουργική

- Ακρυλικό χρώμα σε χρώμα που σας αρέσει

Βήμα 2: Βήμα 2: Σχήματα

Βήμα 2: Διαγράμματα
Βήμα 2: Διαγράμματα

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

Οι περισσότερες καρφίτσες GPIO είναι εναλλάξιμες, οπότε μπορείτε να αλλάξετε μερικές από αυτές αν θέλετε. Ωστόσο, μην ξεχάσετε να αλλάξετε τους αριθμούς pin στον κώδικα.

Ωστόσο, ορισμένα στοιχεία πρέπει να συνδεθούν με ορισμένες ακίδες. Βεβαιωθείτε ότι ο αισθητήρας φωτεινότητας είναι συνδεδεμένος σε GPIO 23 (SDA) και GPIO 24 (SCL) αντίστοιχα. Θα εξηγήσω γιατί αυτό είναι σημαντικό στο βήμα 5.

Βήμα 3: Βήμα 3: Ρύθμιση Raspberry Pi

Τώρα ήρθε η ώρα να δημιουργήσουμε το Pi μας:

1. Τοποθετήστε την κάρτα microSD μέσα στον προσαρμογέα και συνδέστε την στον υπολογιστή σας.

Εάν η κάρτα microSD δεν είναι άδεια, διαμορφώστε την πρώτα με τη μέθοδο που προτιμάτε.

2. Εγκαταστήστε το λογισμικό Raspbian OS από τον ιστότοπο Raspberry pi.

Κατεβάστε το αρχείο ZIP και εξαγάγετε το στην επιθυμητή θέση.

3. Κατεβάστε τη διαχείριση δίσκων Win32.

Κάντε κλικ στο εικονίδιο φακέλου για να επιλέξετε την εικόνα Επιλέξτε το microSD σας στο "Device" Κάντε κλικ στο "Write"

Όταν η εικόνα είναι γραμμένη στην κάρτα MicroSD, μπορείτε να την ανοίξετε στην Εξερεύνηση των Windows.

Ανοίξτε το αρχείο "cmdline.txt" Στο τέλος του αρχείου, προσθέστε την ακόλουθη γραμμή κειμένου: ip = 169.254.10.1 Βεβαιωθείτε ότι όλα βρίσκονται στην ίδια γραμμή. Αποθηκεύστε το αρχείο.

Τώρα αφαιρέστε την κάρτα MicroSD από τον υπολογιστή σας. Βεβαιωθείτε ότι η ισχύς του Pi σας είναι απενεργοποιημένη και τοποθετήστε την κάρτα στο Raspberry Pi.

Συνδέστε ένα καλώδιο ethernet στο Pi και τον υπολογιστή σας.

Εφαρμόστε ισχύ στο Pi σας με προσαρμογέα ισχύος 5, 2V.

Βήμα 4: Βήμα 4: Σύνδεση Raspberry Pi

Βήμα 4: Σύνδεση Raspberry Pi
Βήμα 4: Σύνδεση Raspberry Pi

Για να συνδεθείτε

το Pi με τον υπολογιστή μας, θα χρησιμοποιήσουμε το Putty.

1. Εγκαταστήστε το Putty και ανοίξτε το.

2. Συμπληρώστε τη διεύθυνση IP και τη θύρα όπως φαίνεται στην εικόνα και κάντε κλικ στο «άνοιγμα».

3. Συνδεθείτε με τις ακόλουθες προεπιλογές:

ένα. Όνομα χρήστη: pi

σι. Κωδικός πρόσβασης: βατόμουρο

4. Για να ρυθμίσετε το WiFi:

ένα. Sudo nano /etc/wpa_supllicant/wpa_supllicant.conf

σι. Στο κάτω μέρος του αρχείου, προσθέστε αυτές τις γραμμές:

Εγώ. Δίκτυο = {

ii ssid = "Συμπληρώστε το όνομα του ασύρματου δικτύου σας"

iii psk = "Συμπληρώστε τον κωδικό πρόσβασης του ασύρματου δικτύου σας"

iv }

ντο. Κλείστε το αρχείο και αποθηκεύστε το

5. Εισαγάγετε την ακόλουθη εντολή για να καταλάβετε τη διεύθυνση IP του Pi σας: ifconfig wlan0

6. Τώρα μπορείτε να χρησιμοποιήσετε αυτήν τη διεύθυνση IP στο Putty για να πραγματοποιήσετε ασύρματη σύνδεση (δείτε παραπάνω).

Βήμα 5: Βήμα 5: Αλλαγή ρυθμίσεων με το Raspi-config

Τώρα πρέπει να βεβαιωθούμε ότι το Pi μπορεί να επικοινωνήσει με όλα μας τα στοιχεία.

Θα αλλάξουμε ορισμένες ρυθμίσεις στο raspi-config

Ανοίξτε το raspi-config με την εντολή:

sudo raspi-config

2. Επιλέξτε 4 Επιλογές τοπικοποίησης.

3. Επιλέξτε I2 Αλλαγή ζώνης ώρας.

4. Αλλάξτε τη ζώνη ώρας στην τοπική ζώνη ώρας και ολοκληρώστε για να επιστρέψετε στο raspi-config.

5. Επιλέξτε 5 Επιλογές διασύνδεσης.

6. Επιλέξτε P5 I2C.

7. Ενεργοποιήστε την επικοινωνία I2C.

8. Επιλέξτε 5 Επιλογές διασύνδεσης

9. Επιλέξτε P6 Serial

10. Απενεργοποίηση κελύφους σύνδεσης.

11. Ενεργοποίηση σειριακής επικοινωνίας

Βήμα 6: Βήμα 6: Αλλαγή ρυθμίσεων στο /boot/config.txt

Τώρα πρέπει να επαναδιαμορφώσουμε ορισμένα πράγματα στο αρχείο /boot/config.txt

1. Πρόσβαση στο αρχείο:

sudo nano /boot/config.txt

2. Στο κάτω μέρος πρέπει να δείτε:

enable_uart = 1

Αυτό συμβαίνει επειδή ενεργοποιήσαμε τη σειριακή θύρα νωρίτερα.

3. Προσθέστε τις ακόλουθες δύο γραμμές:

dtoverlay = pi3-miniuart-bt

dtoverlay = i2c-gpio, bus = 3

Το Raspberry Pi 3 διαθέτει 2 σειριακές θύρες: μια σειριακή θύρα υλικού και μια σειριακή θύρα λογισμικού. Με την πρώτη εντολή εκχωρούμε τη σειριακή θύρα λογισμικού στη λειτουργία Bluetooth και εκχωρούμε τη σειριακή θύρα υλικού στις ακίδες Rx και Tx που θα χρησιμοποιήσουμε για επικοινωνία με το Arduino.

Η δεύτερη γραμμή ενεργοποιεί ένα δίαυλο λογισμικού I²C στο Pi. Αυτό συμβαίνει επειδή ο δίαυλος I hardwareC υλικού μερικές φορές δίνει σφάλματα όταν ο αισθητήρας που είναι συνδεδεμένος σε αυτό το δίαυλο I²C χρησιμοποιεί τέντωμα ρολογιού. Ο δίαυλος λογισμικού I²C θα είναι αυτόματα ενεργός σε GPIO 23 (SDA) και GPIO 4 (SCL), γι 'αυτό ήταν τόσο σημαντικό να συνδεθεί σωστά ο αισθητήρας φωτεινότητας που χρησιμοποιεί I²C για την αποστολή δεδομένων.

Βήμα 7: Βήμα 7: Προσθέστε τον χρήστη στις σωστές ομάδες

Τέλος, προσθέστε το χρήστη σε ορισμένες ομάδες:

1. Ελέγξτε σε ποιες ομάδες ανήκει ο τρέχων χρήστης σας:

ομαδοποιεί το όνομα χρήστη σας

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

adm dialout sudo input netdev gpio i2c spi ·

Εάν είναι απαραίτητο, προσθέστε τον χρήστη στις κατάλληλες ομάδες:

sudo adduser το όνομα ομάδας σας

Βήμα 8: Βήμα 8: Βάση δεδομένων

Βήμα 8: Βάση δεδομένων
Βήμα 8: Βάση δεδομένων
Βήμα 8: Βάση δεδομένων
Βήμα 8: Βάση δεδομένων
Βήμα 8: Βάση δεδομένων
Βήμα 8: Βάση δεδομένων

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

Για να προσθέσετε τη βάση δεδομένων στο Raspberry Pi, κάντε τα εξής βήματα:

1. Κάντε μια σύνδεση μέσω Putty

2. Ενημερώστε το MySQL

sudo apt-get ενημέρωση

sudo apt-get install mysql-server --fix-missing -y

sudo επανεκκίνηση

3. Ασφαλίστε το MariaDB

sudo mysql_secore_installation

4. Συνδεθείτε στο MariaDB

sudo mysql -u ρίζα

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

ΧΟΡΗΓΗΣΗ ΟΛΩΝ ΤΩΝ ΠΡΟΤΙΜΗΤΙΚΩΝ *. * ΣΤΟ ‘fill_in_y_y_cosen_username’@’%’

ΤΑΥΤΟΠΟΙΗΘΗΚΕ ΑΠΟ 'fill_in_your_chosen_password' WITH GRANT OPTION?

ΠΡΟΣΦΟΡΑ ΠΡΟΣΦΟΡΑΣ, ΕΞΟΔΟΣ

6. Κατεβάστε τη βάση δεδομένων από το Github.

7. Εγκαταστήστε τον πάγκο εργασίας.

8. Κάντε μια σύνδεση στον πάγκο εργασίας με το pi σας και εκτελέστε το αρχείο.

Βήμα 9: Βήμα 9: Κώδικας Python

1. Κατεβάστε και αποθηκεύστε τα Pythonfiles από το Github.

2. Κατεβάστε και ανοίξτε το Pycharm.

3. Κάντε μια διερμηνέα και διαμόρφωση ανάπτυξης κατάλληλη για το Raspberry Pi σας.

4. Επεξεργαστείτε το αρχείο mainCode1.py στο Pycharm και αλλάξτε τους αριθμούς pin και τις ρυθμίσεις βάσεων δεδομένων στις προσωπικές σας ρυθμίσεις από τα προηγούμενα βήματα.

Βήμα 10: Βήμα 10: Αυτόματη εκτέλεση του κώδικα Python

Βήμα 10: Αυτόματη εκτέλεση του κώδικα Python
Βήμα 10: Αυτόματη εκτέλεση του κώδικα Python

1. Κάντε μια σύνδεση Putty με το Pi σας.

2. Ανοίξτε το αρχείο /etc/rc.local:

sudo nano /etc/rc.local

3. Πριν από την έξοδο, προσθέστε τις ακόλουθες γραμμές:

ύπνος 60

python3 /path_from_root_to_your_pythonfile/name_of_your_pythonfile.py

Βήμα 11: Βήμα 11: Κωδικός Arduino

1. Κατεβάστε και αποθηκεύστε το αρχείο.ino από το Github.

2. Συνδέστε το Arduino με το φορητό υπολογιστή σας μέσω USB.

3. Αποσυνδέστε τα καλώδια Rx και Tx που συνδέουν το Arduino με το Raspberry Pi.

4. Ανοίξτε το αρχείο και ανεβάστε το στο Arduino.

5. Αποσυνδέστε το Arduino από το φορητό υπολογιστή σας και επανασυνδέστε σωστά τα καλώδια Rx και Tx.

6. Δώστε δύναμη στο Arduino. Η οθόνη τμήματος 4*7 θα πρέπει τώρα να δείχνει 12:34

Βήμα 12: Βήμα 12: Διακομιστής ιστοσελίδων

Βήμα 12: Διακομιστής ιστοσελίδων
Βήμα 12: Διακομιστής ιστοσελίδων

1. Εγκατάσταση apache:

sudo apt install apache2 -y

2. Γίνετε ιδιοκτήτης από τον κατάλογο/var/www/html:

sudo chown pi/var/www/html

3. Μεταβείτε στον κατάλογο:

cd/var/www/html

4. Ελέγξτε αν είστε ο κάτοχος αντί του root:

ls -al

5. Κατεβάστε και ανοίξτε το Filezilla

6. Κάντε μια σύνδεση με το pi σας όπως φαίνεται στην εικόνα. (είτε χρησιμοποιήστε 169.254.10.1 και ένα καλώδιο ethernet είτε συνδεθείτε μέσω wi-fi)

ένα. Μεταβείτε στον κατάλογο/var/www/html

σι. Διαγράψτε την προεπιλεγμένη σελίδα index.html

ντο. Μετακινήστε όλα τα προστιθέμενα αρχεία σε αυτόν τον κατάλογο

Βήμα 13: Βήμα 13: Χτίζοντας το εξωτερικό

Βήμα 13: Χτίζοντας το εξωτερικό
Βήμα 13: Χτίζοντας το εξωτερικό
Βήμα 13: Χτίζοντας το εξωτερικό
Βήμα 13: Χτίζοντας το εξωτερικό
Βήμα 13: Χτίζοντας το εξωτερικό
Βήμα 13: Χτίζοντας το εξωτερικό

Μπορείτε να φτιάξετε το εξωτερικό του ξυπνητηριού όπως θέλετε! Έφτιαξα ένα κουτί για το ξυπνητήρι μου με ένα ξύλινο πάνελ πολλαπλού πλάτους 5 mm. Θέλετε να κάνετε κάτι παρόμοιο, αυτά είναι τα βήματα για το εν λόγω πλαίσιο:

1. Σχεδιάστε τα παρακάτω σχήματα στον πίνακα πολυπλεξίας:

Πλευρές: 2 x τετράγωνο (180 mm x 180 mm)

Επάνω και κάτω: 2 x ορθογώνιο (180 mm x 300 mm)

Μπροστά και πίσω: 2 x ορθογώνιο (170 mm x 300 mm)

2. Πριονίστε και τρίψτε κάθε σχήμα τετράγωνο και ορθογώνιο

3. Πάρτε λίγο ανταλλακτικό ξύλο και φτιάξτε μικρές σανίδες ύψους 20 mm και πλάτους 20 mm.

4. Βιδώστε τις μικρές σανίδες στο εσωτερικό (κάτω, μπροστά και πίσω) του πολυπλέγματος όπως φαίνεται στις φωτογραφίες.

5. Αποφασίστε πού θέλετε να κάνετε τις κατάλληλες οπές για την οθόνη LCD, οθόνη 4*7 τμημάτων, μεγάφωνο, αισθητήρα φωτεινότητας, RGB LED, περιστροφικό κωδικοποιητή και κουμπί.

6. Μετρήστε κάθε στοιχείο που θέλετε να εμφανιστεί εξωτερικά και σχεδιάστε σχήματα κατάλληλου μεγέθους στο multiplex.

7. Κόψτε τα απαραίτητα κομμάτια.

8. Συνδέστε μερικούς μεντεσέδες στο εξωτερικό του κουτιού, συνδέοντας το πάνω μέρος και το πίσω μέρος.

9. Συνδέστε έναν μαγνήτη στο εσωτερικό του μπροστινού μέρους και μια μικρή μεταλλική πλάκα στο εσωτερικό της εξωτερικής πλευράς.

10. Βιδώστε ή κολλήστε τα πάντα όπου θέλετε.

11. Συναρμολογήστε το κουτί βιδώνοντας όλα τα εξωτερικά μαζί (εκτός από το επάνω μέρος).

Μπορείτε να παραλείψετε 3 και 4 εάν χρησιμοποιείτε μικρότερες βίδες (χρησιμοποίησα βίδες 12 mm). Η χρήση μικρότερων βιδών μειώνει ελαφρώς τη σταθερότητα του κιβωτίου.

Συνιστάται: