- Απαιτούμενα υλικά:
- Επεξήγηση ενοτήτων:
- Σχηματικό και υλικό
- Δημιουργία API για αποστολή E-mail χρησιμοποιώντας IFTTT:
- Πρόγραμμα Arduino
- -CircuitDigest
- Εργαζόμενος
Αυτό είναι ένα άλλο ενδιαφέρον έργο IOT στο οποίο θα δημιουργήσουμε ένα σύστημα ασφαλείας που μπορεί να ενεργοποιήσει ένα E-mail όταν εντοπίσει κάποιον. Αυτό το έργο συνδυάζει την ισχύ του ESP8266, του αισθητήρα PIR και της μονάδας φωνής ISD1820. Στο τέλος αυτού του άρθρου θα έχετε δημιουργήσει ένα πλήρως λειτουργικό σύστημα ασφαλείας που μπορεί να οπλιστεί / αφοπλιστεί (ενεργοποιημένο / απενεργοποιημένο) εξ αποστάσεως μέσω διαδικτύου. Μπορείτε να εγγράψετε το δικό σας κλιπ ήχου που θα αναπαραχθεί όταν ανιχνευτεί κίνηση και επίσης να στείλετε ένα μήνυμα με Ημερομηνία και ώρα σε ένα συγκεκριμένο αναγνωριστικό e-mail που δηλώνει την εισβολή. Αρκετά δροσερό….. !!! ??
Ας το φτιάξουμε λοιπόν..
Απαιτούμενα υλικά:
Τα υλικά που απαιτούνται για την κατασκευή αυτού του έργου παρατίθενται παρακάτω
- ESP8266
- Αισθητήρας PIR
- Μονάδα φωνής ISD1820
- LM317, LM7805
- BC547 (2Nos)
- 1Κ, 200ohm, 330ohm αντιστάσεις
- Πυκνωτές 10uf και 0.1uf
- Προσαρμογέας 12V / μπαταρία 9V για τροφοδοσία της εγκατάστασης
Επεξήγηση ενοτήτων:
Το έργο φιλοξενεί τρία σημαντικά στοιχεία που είναι η μονάδα ESP8266, ο αισθητήρας PIR και η μονάδα φωνής ISD1820. Εάν είστε εξοικειωμένοι με αυτές τις ενότητες, τότε μπορείτε να παραλείψετε αυτό το μέρος για να προχωρήσετε στα σχήματα, αλλά αν θέλετε να μάθετε πώς λειτουργούν.
Ενότητα ESP8266:
Είμαι βέβαιος ότι θα συναντήσατε αυτήν την ενότητα κάποια στιγμή. Είναι μια πολύ διάσημη και ισχυρή μονάδα WiFi που χρησιμοποιείται κυρίως σε έργα IOT.
Αυτό το έργο προϋποθέτει ότι ξέρετε πώς να προγραμματίσετε μια μονάδα ESP8266 αν δεν επισκεφτείτε τα παρακάτω δύο οδηγούς όπου σας εξήγησα πώς να ξεκινήσετε με το ESP8266 και πώς μπορείτε να προγραμματίσετε ένα χρησιμοποιώντας το Arduino IDE. Πρέπει να το γνωρίζετε για να ολοκληρώσετε το έργο.
- Ξεκινώντας με ESP8266
- Προγραμματισμός ESP8266 με χρήση του Arduino IDE
Αισθητήρας PIR:
Ο αισθητήρας PIR σημαίνει παθητικό αισθητήρα υπερύθρων. Είναι ένας αισθητήρας χαμηλού κόστους που μπορεί να ανιχνεύσει την παρουσία ανθρώπων ή ζώων. Υπάρχουν δύο σημαντικά υλικά στον αισθητήρα το ένα είναι ο πυροηλεκτρικός κρύσταλλος που μπορεί να ανιχνεύσει τις θερμικές υπογραφές από έναν ζωντανό οργανισμό (ανθρώπους / ζώα) και το άλλο είναι ένας φακός Fresnel που μπορεί να διευρύνει το εύρος του αισθητήρα. Επίσης, οι μονάδες αισθητήρων PIR μας παρέχουν μερικές επιλογές για τη ρύθμιση της λειτουργίας του αισθητήρα, όπως φαίνεται στην παρακάτω εικόνα.
Τα δύο ποτενσιόμετρα (πορτοκαλί χρώμα) χρησιμοποιούνται για τον έλεγχο της ευαισθησίας και της ενεργοποίησης του χρόνου στον αισθητήρα. Βασικά, ο πείρος Dout του αισθητήρα υπάρχει μεταξύ των ακίδων Vcc και Gnd. Η μονάδα λειτουργεί σε 3.3V αλλά μπορεί να τροφοδοτηθεί και με 5V. Στην επάνω αριστερή γωνία διαθέτει επίσης μια ρύθμιση pin pin που μπορεί να χρησιμοποιηθεί για να λειτουργήσει η μονάδα σε δύο διαφορετικούς τρόπους. Το ένα είναι το "H" και το άλλο είναι το "I".
Στη λειτουργία "H" ο πείρος εξόδου Dout θα φτάσει ψηλά (3.3V) όταν ένα άτομο ανιχνευθεί εντός εύρους και πέσει χαμηλά μετά από ένα συγκεκριμένο χρόνο (ο χρόνος καθορίζεται από το ποτενσιόμετρο). Σε αυτήν τη λειτουργία ο πείρος εξόδου θα ανεβεί ψηλά, ανεξάρτητα από το εάν το άτομο εξακολουθεί να υπάρχει εντός της εμβέλειας ή έχει εγκαταλείψει την περιοχή. Χρησιμοποιούμε τη μονάδα μας σε λειτουργία "H" στο έργο μας.
Στη λειτουργία "I", ο ακροδέκτης εξόδου Dout θα φτάσει ψηλά (3.3V) όταν ένα άτομο ανιχνευθεί εντός εμβέλειας και θα παραμείνει ψηλό όσο παραμένει εντός του ορίου της περιοχής αισθητήρων. Μόλις το άτομο φύγει από την περιοχή, ο πείρος θα πέσει χαμηλά μετά τον συγκεκριμένο χρόνο που μπορεί να ρυθμιστεί χρησιμοποιώντας το ποτενσιόμετρο.
Σημείωση: Η θέση των ποτενσιόμετρων ή των ακίδων ενδέχεται να διαφέρει ανάλογα με τον προμηθευτή του αισθητήρα PIR. Ακολουθήστε την οθόνη μεταξιού για να προσδιορίσετε τους pinouts
Μονάδα φωνής ISD1820:
Η μονάδα φωνής ISD 1820 είναι πραγματικά μια δροσερή ενότητα που θα μπορούσε να προετοιμάσει τα Έργα σας με ανακοινώσεις φωνής. Αυτή η μονάδα μπορεί να εγγράψει ένα κλιπ ήχου για 10 δευτερόλεπτα και μετά να το αναπαράγει όταν απαιτείται. Η ίδια η μονάδα διαθέτει μικρόφωνο και ηχείο (8ohms 0,5watts) και θα πρέπει να μοιάζει με αυτό που φαίνεται παρακάτω.
Η μονάδα λειτουργεί σε + 5V και μπορεί να τροφοδοτηθεί χρησιμοποιώντας τα Berg sticks στα αριστερά. Έχει επίσης τρία κουμπιά στο κάτω μέρος που είναι Rec. κουμπί, PlayE. κουμπί και PlayL. κουμπί αντίστοιχα. Μπορείτε να εγγράψετε τη φωνή σας πατώντας το Rec. κουμπί και παίξτε το χρησιμοποιώντας το κουμπί PlayE. Το PlayL θα αναπαράγει τη φωνή όσο κρατάτε πατημένο το κουμπί. Κατά τη διασύνδεση με MCU ή ESP μπορούμε να χρησιμοποιήσουμε τις ακίδες στα αριστερά. Αυτές οι ακίδες είναι ανεκτές 3V-5V και ως εκ τούτου μπορούν να οδηγηθούν απευθείας από το Arduino / ESP8266. Στο έργο μας ελέγχουμε τον πείρο PLAYE χρησιμοποιώντας τον πείρο GPIO 0 της μονάδας ESP8266. Για να μπορούμε να παίξουμε την ηχογραφημένη φωνή όταν εντοπίζεται εισβολέας.
Σχηματικό και υλικό
Το πλήρες σχήμα αυτού του έργου συστήματος ασφαλείας IoT φαίνεται παρακάτω:
Το κύκλωμα αποτελείται από δύο ρυθμιστές τάσης. Ο ένας είναι ένας ρυθμιστής 3.3V σχεδιασμένος χρησιμοποιώντας το LM317 και ο άλλος ένας ρυθμιστής 5V που έγινε χρησιμοποιώντας το IC 7805 Regulator. Το LM317 είναι ένας ρυθμιστής μεταβλητής τάσης του οποίου η έξοδος ρυθμίζεται στα 3,3V χρησιμοποιώντας τις αντιστάσεις 200ohm και 330ohm. Και οι δύο ρυθμιστές τροφοδοτούνται χρησιμοποιώντας έναν προσαρμογέα 12V. Η κατανάλωση ισχύος αυτού του κυκλώματος είναι πολύ ελάχιστη, επομένως μια μπαταρία 9V μπορεί επίσης να χρησιμοποιηθεί στη θέση ενός προσαρμογέα 12V.
Ο αισθητήρας PIR και η μονάδα φωνής είναι ενεργοποιημένες κάνοντας τον ακροδέκτη GPIO 2 υψηλό. Αυτός ο ακροδέκτης θα οδηγήσει το BC547 μέσω μιας αντίστασης περιορισμού ρεύματος 1k και θα ολοκληρώσει το κύκλωμα ισχύος και για τις δύο μονάδες. Ο πείρος GPIO_0 χρησιμοποιείται ένας πείρος εισόδου. Συνδέεται με τον πείρο Dout του αισθητήρα PIR σε ένα τρανζίστορ BC547. Όταν αυτό το pin φτάσει ψηλά, θα ενεργοποιήσουμε ένα E-mail που θα δηλώνει την εισβολή μέσω του προγράμματος Arduino.
Το ρεύμα πηγής των ακίδων εξόδου (Dout, GPIO_2 και GPIO2) είναι πολύ μικρότερο, επομένως έχω χρησιμοποιήσει ένα τρανζίστορ για να τα οδηγήσω. Επίσης, οι ακίδες GPIO του ESP8266 δεν πρέπει να φορτωθούν όταν η μονάδα είναι ενεργοποιημένη αλλιώς η μονάδα θα εισέλθει σε απεριόριστο βρόχο επαναφοράς. Για να το αποφύγω αυτό, έχω τοποθετήσει δύο διακόπτες για να τους αποσυνδέσω προσωρινά ενώ ενεργοποιώ.
Μπορείτε να κολλήσετε τα παραπάνω κυκλώματα σε έναν πίνακα Perf ή απλά να χρησιμοποιήσετε ένα breadboard. Έχω χρησιμοποιήσει θηλυκά / αρσενικά μπαστούνια για να μπορώ να αποφύγω το κολλητήρι στις μονάδες. Μόλις τελειώσετε, ο πίνακας θα πρέπει να μοιάζει με παρακάτω
Δημιουργία API για αποστολή E-mail χρησιμοποιώντας IFTTT:
Μόλις το υλικό είναι έτοιμο, ας δημιουργήσουμε ένα API (Interface Program Application) που μπορεί να στείλει E-mail σε ένα συγκεκριμένο ID E-mail. Αυτό μπορεί εύκολα να γίνει με τη βοήθεια ενός ιστότοπου που ονομάζεται IFTTT.com. Έχω καλύψει επίσης ένα έργο που θα μπορούσε να στείλει SMS χρησιμοποιώντας ESP8266 και Email χρησιμοποιώντας PIC Microcontroller που χρησιμοποιεί τις ίδιες υπηρεσίες IFTTT.
Εάν δεν έχετε χρησιμοποιήσει ακόμα το IFTTT επισκεφτείτε το βίντεο στο τέλος αυτού του σεμιναρίου, εάν είστε εξοικειωμένοι, ακολουθήστε τα παρακάτω βήματα
1. Συνδεθείτε στον λογαριασμό σας IFTTT
2. Αναζητήστε το "Maker Web hooks" και κάντε κλικ στο connect
3. Τώρα αναζητήστε το "Gmail" και κάντε κλικ στο connect και ακολουθήστε τα βήματα για να δώσετε πρόσβαση
4. Στη συνέχεια, δημιουργήστε ένα Applet κάνοντας κλικ στο My Applet-> New Applet.
5. Εδώ, η συνάρτηση "This" θα είναι για την υπηρεσία webhooks και η συνάρτηση "that" θα είναι οι Υπηρεσίες Gmail
6. Κάντε κλικ λοιπόν στο "Αυτό", αναζητήστε και επιλέξτε άγκιστρα κατασκευαστή Ιστού. Θα ζητήσει το όνομα της εκδήλωσης που έχω ονομάσει την εκδήλωσή μου ως "123" μπορείτε να ονομάσετε το δικό σας οτιδήποτε
7. Στη συνέχεια, κάντε κλικ στο "Αυτό", αναζητήστε και επιλέξτε το Gmail και εισαγάγετε το θέμα και το σώμα της αλληλογραφίας.
8. Μόλις εισαχθούν όλες οι απαιτούμενες λεπτομέρειες, το Apple σας θα πρέπει να είναι έτοιμο και θα πρέπει να φαίνεται κάπως έτσι παρακάτω
9. Τώρα, αναζητήστε και μπείτε ξανά στο Web Maker Hooks και κάντε κλικ στο "Τεκμηρίωση". Στη συνέχεια, κάτω από το όνομα συμβάντος εισαγάγετε το όνομα συμβάντος που χρησιμοποιήσαμε στο Applet. Στην περίπτωσή μου είναι "123" και αντιγράψτε το URL αφού θα το χρειαζόμαστε στο πρόγραμμα Arduino. Η διεύθυνση URL θα πρέπει να ακολουθεί κάτι τέτοιο παρακάτω.
10. Μπορείτε να κάνετε κλικ στο κουμπί "Δοκιμή το" για να ελέγξετε αν ο σύνδεσμος λειτουργεί σωστά και θα έπρεπε να έχετε λάβει ένα δοκιμαστικό μήνυμα.
Πρόγραμμα Arduino
Το πρόγραμμα Arduino για αυτό το έργο είναι απλό και εύκολο. Πρέπει απλώς να κάνουμε το ESP να λειτουργεί ως AP και STA. Στη συνέχεια, δημιουργήστε μια ιστοσελίδα χρησιμοποιώντας κώδικα HTML, όπου μπορούμε να ARM / DISARM το σύστημα συναγερμού. Ο πλήρης κώδικας δίνεται στο τέλος αυτού του σεμιναρίου ο κώδικας εξηγείται επίσης χρησιμοποιώντας γραμμές σχολίων. Περαιτέρω οι σημαντικές γραμμές εξηγούνται παρακάτω.
const char * ssid = "BPAS σπίτι"; // Εισαγάγετε το Wifi SSID εδώ const char * password = "cracksen" // Εισαγάγετε τον κωδικό πρόσβασής σας εδώ
Στην παραπάνω γραμμή κώδικα αλλάξτε το όνομα SSID και τον κωδικό πρόσβασης στο όνομα SSID των δρομολογητών σας και τον αντίστοιχο κωδικό πρόσβασης.
Αν θέλετε να βρείτε σε ποια IP είναι συνδεδεμένο το ESP8266 μπορείτε να το μάθετε ανοίγοντας τη σειριακή οθόνη, οι ακόλουθες γραμμές κώδικα θα εκτυπώσουν την IP σας στη σειριακή οθόνη Arduino IDE.
Serial.println (""); Serial.print ("Connected to"); Serial.println (SSD); Serial.print ("Διεύθυνση IP:"); Serial.println (WiFi.localIP ()); // Η σειριακή οθόνη θα δώσει τα πρόσθετα IP της μονάδας ESP
Ο κώδικας HTML που είναι υπεύθυνος για τη δημιουργία ιστοσελίδας δίνεται παρακάτω. Μπορείτε να προσαρμόσετε την ιστοσελίδα σας με τον δικό σας κωδικό. Έχω τροποποιήσει το τμήμα σχολίων για να αναγνωρίσω τον χρήστη εάν η σελίδα φορτώθηκε με επιτυχία.
// Κώδικας HTML για ιστοσελίδα // mainPage + = "
Σύστημα ασφαλείας βασισμένο σε IOT
-CircuitDigest
Κατάσταση συναγερμού:
"; σχόλια ="Κάντε κλικ στο ARM για να ενεργοποιήσετε το σύστημα ασφαλείας
"; // Τέλος κώδικα HTML //Οι παρακάτω γραμμές κώδικα καθορίζουν τι πρέπει να γίνει όταν ο συναγερμός είναι οπλισμένος ή αφοπλισμένος. Στο πρόγραμμά μου άλλαξα το τμήμα σχολίων του κώδικα HTML και έκανα το GPIO 2 ακίδων ΥΨΗΛΟ / ΧΑΜΗΛΟ με βάση το κουμπί όπως φαίνεται παρακάτω
server.on ("/ switch2On", () {feedback = "
Ο συναγερμός είναι σε λειτουργία και λειτουργεί
"; // Τροποποίηση κώδικα HTML currentPage = mainPage + feedback; server.send (200," text / html ", currentPage); currentPage =" "; digitalWrite (GPIO_2, HIGH); // Ενεργοποίηση της μονάδας PIR και της φωνής power_module = true; delay (1000);}); server.on ("/ switch2Off", () {feedback = "Ο συναγερμός είναι εκτός λειτουργίας
"; // Τροποποίηση κώδικα HTML currentPage = mainPage + feedback; server.send (200," text / html ", currentPage); currentPage =" "; digitalWrite (GPIO_2, LOW); // Απενεργοποίηση PIT και Voice Module power_module = false; καθυστέρηση (1000);});Μια άλλη σημαντική γραμμή που πρέπει να αλλάξει για να λειτουργήσει σωστά το σύστημα είναι η γραμμή συμβολοσειράς URL. Επικολλάτε τη γραμμή (μετά το "/ trigger") που αντιγράψατε από τον ιστότοπο IFTTT εδώ. Έχω δείξει τη δική μου παρακάτω, αλλά δεν χρησιμοποιώ το κλειδί API μου χρησιμοποιήστε το δικό σας εδώ
String url = "/ trigger / 123 / with / key / mDsoOV_EERS3xRfrh3_UQBhbcx0qlRHns-z2qXXXXX"; // Πρέπει να το αλλάξετε στη διεύθυνση URL του API σας
Ο υπόλοιπος κωδικός είναι αυτονόητος, εάν έχετε οποιαδήποτε αμφιβολία μπορείτε να χρησιμοποιήσετε την ενότητα σχολίων και θα σας βοηθήσω.
Εργαζόμενος
Μόλις είστε έτοιμοι με το υλικό και τους κωδικούς, μπορείτε να ανεβάσετε το πρόγραμμα στη μονάδα ESP8266 χρησιμοποιώντας μια πλακέτα FTDI. ΕΑΝ δεν είστε σίγουροι πώς να ανεβάσετε προγράμματα στο ESP8266 χρησιμοποιώντας το Arduino IDE επισκεφτείτε αυτό το σεμινάριο.
Αφού ανεβάσετε το πρόγραμμα, κάντε κλικ στο σειριακό μόνιτορ και θα δείτε κάτι τέτοιο παρακάτω. Εάν δεν επαναφέρετε τη μονάδα ESP8266 και δοκιμάστε ξανά
Εδώ, μπορείτε επίσης να σημειώσετε τη διεύθυνση IP που έχει εκχωρηθεί στη μονάδα ESP8266. Στη συνέχεια, μπορείτε να χρησιμοποιήσετε το IP για να φορτώσετε την ιστοσελίδα στο πρόγραμμα περιήγησής σας και να οπλίσετε / απενεργοποιήσετε το σύστημα ασφαλείας IoT από εκεί, όπως φαίνεται στην παρακάτω εικόνα.
Μόλις επαληθεύσετε όλα αυτά, μπορείτε τώρα να μεταφέρετε το ESP8266 στον πίνακα Perf και να το ενεργοποιήσετε και στη συνέχεια να κλείσετε τους διακόπτες όπως φαίνεται στο βίντεο.
Μετά την ενεργοποίηση μπορείτε να χρησιμοποιήσετε το IP για να μπείτε στην παραπάνω ιστοσελίδα και να ενεργοποιήσετε το σύστημα Securtiy. Αφού ενεργοποιήσετε, περιμένετε 50-60 δευτερόλεπτα για τη βαθμονόμηση του αισθητήρα PIR.
Τώρα το έργο σας είναι έτοιμο για δράση, μπορείτε να το αφήσετε σε ένα μέρος που επιθυμείτε και εάν κάποιος διασχίσει αυτά τα μέρη και πέσει εντός του εύρους του αισθητήρα PIR, θα ενεργοποιηθεί ένα φωνητικό μήνυμα και θα σταλεί ένα E-mail στο E-mail σας Ταυτότητα με την ημερομηνία και την ώρα που διέσχισε. Το E-mail εμφανίζεται παρακάτω.
Λοιπόν, αυτό είναι.. Ελπίζω να σας άρεσε το έργο και θα απολαύσετε να φτιάξετε το δικό σας. Η πλήρης εργασία του Έργου φαίνεται στο παρακάτω βίντεο. Εάν έχετε αμφιβολίες ή προτάσεις, μπορείτε να τις γράψετε στην παρακάτω ενότητα σχολίων και θα απαντήσω όσο το δυνατόν περισσότερο.