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

EasyTalk: Εύκολη επικοινωνία και ένα ημερολόγιο δίπλα σας: 6 βήματα
EasyTalk: Εύκολη επικοινωνία και ένα ημερολόγιο δίπλα σας: 6 βήματα

Βίντεο: EasyTalk: Εύκολη επικοινωνία και ένα ημερολόγιο δίπλα σας: 6 βήματα

Βίντεο: EasyTalk: Εύκολη επικοινωνία και ένα ημερολόγιο δίπλα σας: 6 βήματα
Βίντεο: Ψυχολόγος ή Μπάρμαν; - Speak Easy (Barman Simulator) 2024, Νοέμβριος
Anonim
EasyTalk: Εύκολη επικοινωνία και ένα ημερολόγιο δίπλα σας
EasyTalk: Εύκολη επικοινωνία και ένα ημερολόγιο δίπλα σας
EasyTalk: Εύκολη επικοινωνία και ένα ημερολόγιο δίπλα σας
EasyTalk: Εύκολη επικοινωνία και ένα ημερολόγιο δίπλα σας

Το όνομά μου είναι Kobe Marchal, σπουδάζω στο Howest του Βελγίου και είμαι φοιτητής Τεχνολογίας Πολυμέσων και Επικοινωνιών (MCT). Για την τελευταία μου εργασία το πρώτο έτος, έπρεπε να φτιάξω μια συσκευή IoT.

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

Αυτή η συσκευή ονομάζεται EasyTalk και λύνει αυτό το πρόβλημα. Είναι μια μικρή συσκευή που χρησιμοποιεί οθόνη OLED για να μπορείτε να δείτε τα συμβάντα σας, την ώρα ή τη θερμοκρασία και την ποιότητα του αέρα αυτή τη στιγμή. Όταν αποστέλλεται ένα μήνυμα, σας παρατηρεί με έναν ήχο ειδοποίησης και εμφανίζει το μήνυμα στην οθόνη όπου μπορείτε να απαντήσετε με ναι ή όχι.

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

Βήμα 1: Υλικά

Υλικά
Υλικά
Υλικά
Υλικά
Υλικά
Υλικά

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

  • Raspberry Pi 4 Model B - 4GB
  • Pibow Coupé 4 - Ninja
  • 12 x Premium Jumperwires op strip - 40 stuks - M/M - 20cm
  • 6 x Premium Jumperwires op strip - 40 stuks - M/F - 20cm
  • 2 κεφαλίδες στοίβαξης 36 ακίδων
  • Κεφαλίδα αρσενικού κουτιού 40 ακίδων
  • 40 ακίδες Regenboog GPIO kabel
  • Μονόχρωμο κιτ μονάδας οθόνης OLED 2.42 "128x64 OLED
  • Ο ομιλητής Kleine Metalen συνάντησε τον Draadjes - 8 ohm 0,5W
  • Adafruit Mono 2.5W Class D Audio Versterker
  • Καλώδιο 3.5mm Aux Jack
  • Κουμπί στιγμιαίας πίεσης νήματος 7mm
  • Tuimelschakelaar
  • Αισθητήρας PIR Bewegingssensor
  • Αισθητήρας θερμοκρασίας DS18B20 Digitale
  • Grove - Lucht kwaliteit sensor v1.3
  • Grove - I2C ADC
  • Raspberry Pi 4 USB-C Voeding
  • Flexibel mini-statief
  • Αντίσταση 470 Ohm
  • Αντίσταση 4, 7K Ohm
  • Σωλήνες συρρίκνωσης θερμότητας
  • 6 x Βίδες M2 x 6mm
  • 6 x Βίδες M2 x 8mm
  • 3 x Βίδες M2 x 16mm
  • Αλουμίνιο 3 mm

Έφτιαξα επίσης ένα Bill Of Materials (BOM), ώστε να μπορείτε να δείτε πόσα πλήρωσα για όλα τα υλικά και πού τα πήρα.

Βήμα 2: Raspberry Pi

Για αυτό το έργο, χρησιμοποιούμε ένα Raspberry Pi επειδή είναι εύκολο να εγκατασταθεί και μπορεί να χρησιμοποιηθεί για πολλά πράγματα. Είναι τέλειο για αυτό που θέλουμε να κάνουμε.

Κατεβάστε το Raspberry Pi Desktop OS και εγκαταστήστε το στο Raspberry Pi. Πρέπει να ενεργοποιήσετε τα SPI, I2C και One Wire στη διαμόρφωση raspi. Προτείνω να απενεργοποιήσετε ορισμένα πράγματα στις Επιλογές εκκίνησης επίσης για να κάνετε την εκκίνηση γρηγορότερη. Εκτός από αυτό, χρησιμοποιώ μερικές βιβλιοθήκες που πρέπει να εγκαταστήσετε με pip για να λειτουργήσει αυτό.

pip3 εγκατάσταση:

  • adafruit-circuitpython-ssd1305
  • ics
  • Φλάσκα
  • Flask-Cors
  • Flask-JWT-Extended
  • mysql-connector-python

Χρειάζεστε επίσης apache2 για να δημιουργήσετε έναν ιστότοπο, εδώ χρησιμοποιούμε το apt:

sudo apt install apache2 -y

Πρέπει να ρυθμίσετε ασύρματη σύνδεση επειδή δεν μπορείτε να αποκτήσετε καλώδιο UTP στο Raspberry Pi όταν είναι στη θήκη.

Θα χρειαστεί επίσης να ρυθμίσετε το MariaDB, ώστε να έχετε πρόσβαση στη βάση δεδομένων.

Βήμα 3: Καλωδίωση

Καλωδίωση
Καλωδίωση
Καλωδίωση
Καλωδίωση

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

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

Βάση δεδομένων
Βάση δεδομένων

Αυτή η συσκευή χρησιμοποιεί μια κανονικοποιημένη βάση δεδομένων MySQL για να αποθηκεύσει όλες τις πληροφορίες της και να τις εμφανίσει στον ιστότοπο και στην ίδια τη συσκευή. Το δημιούργησα στο MySQL Workbench.

Υπάρχουν 5 πίνακες σε αυτήν τη βάση δεδομένων.

Ο πίνακας Activiteiten (= δραστηριότητες, συμβάντα) χρησιμοποιείται για την αποθήκευση όλων των συμβάντων του ημερολογίου. Αυτό περιλαμβάνει επίσης όλα τα συμβάντα που εισάγονται από άλλο ημερολόγιο.

Το Table Apparaten (= συσκευές) χρησιμοποιείται για την αποθήκευση των διαφόρων τύπων συσκευών που χρησιμοποιούνται στον πίνακα Historiek (= ιστορικό). Υπάρχουν δύο αισθητήρες που χρησιμοποιούνται σε αυτό το έργο, ένας αισθητήρας θερμοκρασίας και ένας αισθητήρας ποιότητας του αέρα, αλλά έχω επίσης μια τρίτη "συσκευή", τον ίδιο τον ιστότοπο για την αποθήκευση των μηνυμάτων που αποστέλλονται από τον ιστότοπο στη συσκευή.

Ο πίνακας Gebruikers (= χρήστες) αποθηκεύει τους χρήστες. Μπορούν να συνδεθούν με τον κωδικό πρόσβασής τους και να καθορίσουν ένα ψευδώνυμο που εμφανίζεται με ένα μήνυμα κατά την αποστολή στη συσκευή.

Ο πίνακας Historiek (= ιστορικό) χρησιμοποιείται για την αποθήκευση των τιμών των αισθητήρων και των μηνυμάτων που αποστέλλονται στη συσκευή.

Τέλος, οι σύνδεσμοι πίνακα (= URL) αποθηκεύουν όλες τις διευθύνσεις URL του εξωτερικού ημερολογίου.

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

Κώδικας
Κώδικας
Κώδικας
Κώδικας
Κώδικας
Κώδικας

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

Ο κωδικός πρόσβασης τοποθετείται στον προεπιλεγμένο φάκελο html από το apache2. Μπορείτε να βρείτε αυτόν το φάκελο στο/var/www/html.

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

Πρέπει να αλλάξουμε κάποιες τιμές και σε αυτόν τον κώδικα. Πρώτα μεταβείτε στο app.py. Στη γραμμή 23 ορίστε το όνομα του αισθητήρα θερμοκρασίας ενός καλωδίου. Αυτό μάλλον θα είναι κάτι διαφορετικό για εσάς. Για να βρείτε το σωστό όνομα, ανοίξτε ένα τερματικό και πληκτρολογήστε:

ls/sys/bus/w1/συσκευές

και αναζητήστε μια συμβολοσειρά που αποτελείται από πολλούς διαφορετικούς αριθμούς και αντικαταστήστε αυτήν στη γραμμή 23.

Το άλλο πράγμα που πρέπει να αλλάξουμε είναι στο αρχείο config.py, αλλάξτε τον κωδικό πρόσβασης της βάσης δεδομένων.

Εάν θέλετε αυτό να τρέχει κατά την εκκίνηση, πρέπει επίσης να αλλάξετε το αρχείο EasyTalk.service. Απλώς αλλάξτε το WorkingDirectory και το User. Πρέπει να αντιγράψετε αυτό το αρχείο με την επόμενη εντολή:

sudo cp EasyTalk.service/etc/systemd/system/EasyTalk.service

Στη συνέχεια εκτελέστε το:

sudo systemctl εκκίνηση EasyTalk.service

Στη συνέχεια, ενεργοποιήστε το ώστε να ξεκινήσει κατά την εκκίνηση

sudo systemctl ενεργοποιήστε την υπηρεσία EasyTalk.service

Βήμα 6: Θήκη

Υπόθεση
Υπόθεση
Υπόθεση
Υπόθεση
Υπόθεση
Υπόθεση
Υπόθεση
Υπόθεση

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

Θα χρειαστείτε και κάποια έντονα για να βιδώσετε τα πάντα μαζί.

  • 6 x Βίδες M2 x 6mm
  • 6 x Βίδες M2 x 8mm
  • 3 x Βίδες M2 x 16mm

Θα είμαι ειλικρινής όμως. Μου πήρε 4-5 ώρες για να φτιάξω αυτό το πράγμα. Επειδή είναι τόσο μικρό, όλα ταιριάζουν και είναι δύσκολο να βιδώσετε μερικές φορές τα έντονα, αλλά λειτουργεί αν το κάνετε προσεκτικά.

Σχεδίασα επίσης ένα PCB για να αντικαταστήσει το breadboard, πρέπει πρώτα να κολλήσετε τις κεφαλίδες και 5 αντιστάσεις (4 x 470 Ohm, 1 x 4.7K Ohm).

Όταν διαθέτετε το PCB, προτείνω να ξεκινήσετε με τη συγκόλληση καλωδίων σε όλα όσα υποτίθεται ότι συνδέονται με το PCB.

Όταν γίνει αυτό, θα βιδώσετε την οθόνη OLED στη θέση της και θα συνδέσετε το PCB σε αυτήν. Η οθόνη κρατά το PCB. Χρησιμοποιείτε βίδες 6mm για αυτό.

Στη συνέχεια, βιδώνετε τον αισθητήρα ποιότητας αέρα εκεί που υποτίθεται ότι είναι, αλλά αυτό είναι λίγο δύσκολο γιατί το ADC συνδέεται με αυτόν. Για να το κάνετε σωστά έτσι ώστε τα δύο εξαρτήματα να μην αγγίζουν το ένα το άλλο, χρησιμοποιείτε βίδες 16 mm με σωλήνες αλουμινίου 3 x 5 mm που πρέπει να πριονίσετε. Το έκανα με δύο βίδες επειδή δεν μπορούσα να φτάσω στην τρίτη. Συνδέετε τα 4 καλώδια όπου υποτίθεται ότι θα πάνε στο PCB.

Στη συνέχεια, συνδέετε τον ενισχυτή ήχου στο PCB και τοποθετείτε το ηχείο στη θέση του με τη θήκη εκτύπωσης 3D.

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

Όταν όλα αυτά είναι στη θέση τους, πρέπει να βιδώσετε το Raspberry Pi. Χρησιμοποιώ τη θήκη για αυτό επειδή δεν εμπιστεύομαι τη θερμότητα που παράγει, αυτή η θήκη είναι για προστασία, ώστε να μην λιώσει η τρισδιάστατη εκτύπωση. Πριν το βιδώσετε στη θέση του, πρέπει να συνδέσετε το καλώδιο τροφοδοσίας και το καλώδιο aux (στο οποίο πρέπει να ανοίξετε και να κολλήσετε ένα καλώδιο και στη συνέχεια να συνδεθείτε από το Raspberry Pi στο PCB) επειδή δεν μπορείτε να το φτάσετε μετά.

Στη συνέχεια, απλά συνδέστε το καλώδιο κεφαλίδας GPIO από το PCB στο Raspberry Pi και ελέγξτε αν όλα λειτουργούν πριν κλείσετε το καπάκι.

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

Αυτό είναι! Ελπίζω να σας άρεσε να διαβάζετε αυτό το άρθρο! -Κόμπε

Συνιστάται: