Πίνακας περιεχομένων:
- Προμήθειες
- Βήμα 1: Υλικό
- Βήμα 2: Βάση δεδομένων
- Βήμα 3: Back-end
- Βήμα 4: Ιστότοπος
- Βήμα 5: Front-end
- Βήμα 6: Θήκη
Βίντεο: Έξυπνος συναγερμός: 6 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:34
Από το σχολείο πήρα την εργασία να κάνω ένα έργο. Επέλεξα για έξυπνο ξυπνητήρι γιατί πάντα κοιμάμαι με το ξυπνητήρι μου και χάνω το σχολείο τότε. Μπορείτε να σκοτώσετε τον συναγερμό σας μόνο εάν υπάρχει φως, ήχος και κίνηση, ώστε να μην μπορείτε να ξανακοιμηθείτε ή να τον αναβάλλετε χωρίς να ανοίξετε τα μάτια σας. Υπάρχει επίσης ένας ιστότοπος όπου μπορείτε να δείτε το μοτίβο ύπνου σας, να ορίσετε ξυπνητήρια και να δημιουργήσετε νέους συναγερμούς.
Προμήθειες
Για την κατασκευή του έργου χρειάζονται κάποια υλικά. μπορείτε να βρείτε μια λίστα παρακάτω. Μπορείτε επίσης να βρείτε τα πάντα πίσω στο λογαριασμό των υλικών, συμπεριλαμβανομένης της τιμής.
- Βατόμουρο πι 3
- T-cobbler breakout board
- Αισθητήρας PIR
- Φωτοανιχνευτής
- Αισθητήρας ανίχνευσης ήχου
- Βομβητής
- οθόνη LCD
- Κουμπί
Βήμα 1: Υλικό
Πριν ξεκινήσω να κατασκευάζω τα πάντα, έφτιαξα 2 σχήματα (1 ηλεκτρικό και 1 στο ψωμί) στο φούρνο και τα έλεγξα για να βεβαιωθώ ότι δεν υπήρχαν σφάλματα σε αυτό. Μόλις ήμουν σίγουρος ότι όλα ήταν εντάξει, ξεκίνησα με το έργο. Πρώτα απ 'όλα ξεκίνησα με το βομβητή και το κουμπί γιατί αυτά ήταν τα πιο εύκολα εξαρτήματα. Μετά από αυτό, συνέδεσα την οθόνη μου με το raspberry pi. Στο τέλος, συνέδεσα τους αισθητήρες μου. ο αισθητήρας φωτός και ο αισθητήρας κίνησης είναι εύκολοι επειδή δεν χρειάζεστε τίποτα άλλο, αλλά ο αισθητήρας PIR χρειάζεται κάτι επιπλέον. Για να διασφαλίσετε ότι το PIR δεν θα κάνει βραχυκύκλωμα, πρέπει να χρησιμοποιήσετε γέφυρα τάσης. Αυτό σημαίνει ότι πρέπει να χρησιμοποιήσετε μια πρόσθετη αντίσταση 1k ohm και 2k ohm για να είστε σίγουροι ότι όλα πάνε καλά. Μπορείτε να βρείτε την ακριβή χρήση των ακίδων και πώς να συνδέσετε τα πάντα με το pi στα σχήματα.
Βήμα 2: Βάση δεδομένων
Για να αποθηκεύσω όλα τα δεδομένα χρειαζόμουν μια βάση δεδομένων.
Η βάση δεδομένων μου περιλαμβάνει 6 πίνακες.
- Αισθητήρας
- Αισθητήρες ιστορίας
- Πρόσωπο
- Alarm_person
- Sleep_patern
- Τρομάζω
υπάρχουν 2 μέρη στη βάση δεδομένων. 1 για τους αισθητήρες και 1 για το άτομο και όλα τα στατιστικά του.
Ο πίνακας αισθητήρων περιέχει ένα αναγνωριστικό και ένα όνομα. Αυτός ο πίνακας είναι συνδεδεμένος με το History_sensors που έχει αναγνωριστικό, τιμή, Sensor_id και όνομα. το sensor_id είναι απαραίτητο για να ξέρετε ποιος αισθητήρας έχει μια τιμή και η ημερομηνία είναι απαραίτητη για να μάθετε πότε ο αισθητήρας το μέτρησε.
Το άτομο του πίνακα περιέχει ένα αναγνωριστικό, ένα όνομα και έναν κωδικό πρόσβασης. Ο κωδικός πρόσβασης και το όνομα είναι απαραίτητα για να συνδεθείτε, ώστε κανένας άλλος να μην μπορεί να σας ειδοποιήσει. Αυτός ο πίνακας συνδέεται με τον πίνακα sleep_pattern και τον πίνακα Alarm_person. Ο πίνακας Sleep_patern περιέχει ένα αναγνωριστικό, Hours_sleep, Date, Person_id, Bedtime και Wake_up_time. Έτσι, εδώ είναι τα δεδομένα που αποθηκεύονται για να δημιουργήσετε ένα γράφημα σχετικά με τον πατέρα του ύπνου σας.
Ο πίνακας Alarm_person περιέχει ένα Person_id, Alarm_id και την ώρα. Αυτός ο πίνακας είναι απαραίτητος επειδή διαφορετικά άτομα μπορούν να χρησιμοποιούν συναγερμό ταυτόχρονα και 1 άτομο μπορεί να χρησιμοποιήσει πολλαπλούς συναγερμούς. Ο τελευταίος πίνακας είναι ο πίνακας συναγερμού. Αυτό περιέχει ένα αναγνωριστικό και μια περιγραφή.
Βήμα 3: Back-end
Στο back-end έπρεπε να γράψω διαφορετικές συναρτήσεις.
- ζητήστε τους αισθητήρες τραπεζιού
- ζητήστε τον πίνακα history_sensors
- ζητήστε το μοτίβο ύπνου
- βάλτε νέο συναγερμό
- ζητήστε τον συναγερμό του τραπεζιού
- εγγραφή χρήστη
- Σύνδεση
- τοποθετήστε τις τιμές των αισθητήρων στον πίνακα history_sensors
Χρησιμοποίησα pycharm και έγραψα τον κώδικα σε python.
για όλες τις λειτουργίες χρησιμοποιώ το @app.route και μετά τη διεύθυνση. κάθε φορά που πρέπει να χρησιμοποιείτε διαφορετική διεύθυνση γιατί διαφορετικά δεν θα λειτουργήσει. Μετά από αυτό γράφω μια συνάρτηση if με τη μέθοδο ως τιμή, οπότε όταν αυτό είναι αληθές εκτελεί τον κώδικα. στην τιμή if υπάρχει ένα try catch και μια δήλωση sql για να λάβετε τα δεδομένα ή να τα αφαιρέσετε.
Για τις λειτουργίες με τους αισθητήρες είναι διαφορετικό. Εδώ δεν χρησιμοποίησα το @app.route αλλά απλώς έκανα μια λειτουργία για τον αισθητήρα. εδώ δηλώνετε τις καρφίτσες σας και κάνετε μια λειτουργία επανάκλησης. με αυτόν τον τρόπο κάθε φορά που ο αισθητήρας ανιχνεύει κάτι που εκτελείται η λειτουργία. Στη λειτουργία επανάκλησης χρησιμοποίησα ένα αν λειτουργεί όταν ο αισθητήρας ανιχνεύσει κάτι. Στο if βρίσκεται ο κωδικός για την τοποθέτηση των δεδομένων στον πίνακα με μια δήλωση sql. Υπάρχει επίσης ένας ύπνος, γιατί διαφορετικά θα έβαζε πάρα πολλές τιμές στον πίνακα μόνο για 1 ανίχνευση.
Στο github μου μπορείτε να βρείτε τον πλήρη κώδικα για το έργο.
Βήμα 4: Ιστότοπος
Για τον ιστότοπό μου δούλεψα με html και css ο ιστότοπός μου περιέχει 11 σελίδες html.
Υπάρχουν τόσες πολλές σελίδες γιατί όλα λειτουργούν από τον ιστότοπο. μπορείτε να ορίσετε ένα ξυπνητήρι, να προσθέσετε ένα ξυπνητήρι και να διαγράψετε ένα. Στη σελίδα ρυθμίσεων μπορείτε να αλλάξετε τον κωδικό πρόσβασης και το email σας. Έχετε μια σελίδα για το μοτίβο ύπνου σας. Μπορείτε επίσης να προσθέσετε τη στιγμή που κοιμηθήκατε και όταν ξυπνήσετε. Το θετικό είναι ότι κάθε σελίδα έχει την ίδια εμφάνιση και χρησιμοποιεί κυρίως τα ίδια πράγματα, οπότε το css είναι συχνά το ίδιο σε κάθε σελίδα.
Βήμα 5: Front-end
Το μπροστινό μέρος είναι γραμμένο σε javascript.
Βήμα 6: Θήκη
Για την περίπτωσή μου επέλεξα να χρησιμοποιήσω ξύλο. Δεν είναι τόσο δύσκολο να το κόψεις φαίνεται ωραίο. Η θήκη μου είναι 26 εκατοστά σε 14 εκατοστά με ύψος 7, 5 εκατοστά. Είναι τόσο μεγάλο γιατί όλα όσα χρειάζονται για να χωρέσουν. Έκανα τρύπες για τους αισθητήρες, το κουμπί και την οθόνη LCD έτσι ώστε να είναι ορατός ο χρόνος και οι αισθητήρες να μπορούν να ανιχνεύσουν κίνηση ή φως. Για να τα φτιάξω χρησιμοποίησα λέιζερ. Μέσα στη θήκη κάθεται το breadboard μου και το raspberry pi.
Συνιστάται:
Smart Desk LED Light - Έξυπνος φωτισμός W/ Arduino - Χώρος εργασίας Neopixels: 10 βήματα (με εικόνες)
Smart Desk LED Light | Έξυπνος φωτισμός W/ Arduino | Neopixels Workspace: Τώρα μια μέρα περνάμε πολύ χρόνο στο σπίτι, μελετάμε και δουλεύουμε εικονικά, οπότε γιατί να μην κάνουμε τον χώρο εργασίας μας μεγαλύτερο με ένα προσαρμοσμένο και έξυπνο σύστημα φωτισμού Arduino και Ws2812b LEDs. Εδώ σας δείχνω πώς να φτιάξετε το Smart σας Φωτιστικό γραφείου LED που
Έξυπνος διακόπτης χωρίς αφή: 8 βήματα (με εικόνες)
Έξυπνος διακόπτης χωρίς άγγιγμα: Η ανάγκη για κοινωνικές αποστάσεις και ασφαλείς πρακτικές υγείας, όπως η χρήση απολυμαντικών μετά τη χρήση δημόσιων περιβαλλόντων, όπως βρύσες, διακόπτες κ.λπ., είναι πολύ σημαντική για τη μείωση της εξάπλωσης του κορονοϊού. Υπάρχει λοιπόν άμεση ανάγκη στην καινοτομία
Έξυπνος κάδος απορριμμάτων: 6 βήματα
Smart Dustbin: Γεια σας παιδιά !!! Είμαι ο Vedaansh Verdhan. Και σήμερα θα σας δείξω πώς να φτιάξετε το δικό σας Smart Dustbin. Ακολουθήστε με στο Instragram για να λάβετε πληροφορίες σχετικά με το επόμενο έργο μου. Ας ξεκινήσουμε !!!! Λογαριασμός Instragram: --- robotics_08
Έξυπνος διανομέας φακών επαφής: 8 βήματα (με εικόνες)
Έξυπνος διανομέας φακών επαφής: Σε αυτό το διδακτικό θα σας δείξω πώς να φτιάξετε τον δικό σας Έξυπνο διανομέα επαφών
Συναγερμός θραύσης γυαλιού / συναγερμός διάρρηξης: 17 βήματα
Συναγερμός θραύσης γυαλιού / συναγερμός διάρρηξης: Αυτό το κύκλωμα μπορεί να χρησιμοποιηθεί για να ηχήσει συναγερμός για να εντοπίσει το σπάσιμο ενός γυάλινου παραθύρου από έναν εισβολέα, ακόμη και όταν ο εισβολέας διασφαλίζει ότι δεν υπάρχει ήχος από το σπασμένο γυαλί