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

IoT Keychain Finder Using ESP8266-01: 11 βήματα (με εικόνες)
IoT Keychain Finder Using ESP8266-01: 11 βήματα (με εικόνες)

Βίντεο: IoT Keychain Finder Using ESP8266-01: 11 βήματα (με εικόνες)

Βίντεο: IoT Keychain Finder Using ESP8266-01: 11 βήματα (με εικόνες)
Βίντεο: Полный курс Redux Toolkit + RTK Query для начинающих | Редакс за 2 часа! 2024, Ιούλιος
Anonim
IoT Keychain Finder Using ESP8266-01
IoT Keychain Finder Using ESP8266-01
IoT Keychain Finder Using ESP8266-01
IoT Keychain Finder Using ESP8266-01
IoT Keychain Finder Using ESP8266-01
IoT Keychain Finder Using ESP8266-01

Είστε σαν εμένα που ξεχνάω πάντα πού κρατούσατε τα κλειδιά σας; Ποτέ δεν μπορώ να βρω τα κλειδιά μου εγκαίρως! Και εξαιτίας αυτής της συνήθειάς μου, άργησα στο κολέγιο μου, εκείνη την περιορισμένη έκδοση πωλήσεων καλούδια αστρικών πολέμων (εξακολουθεί να ανησυχεί!), Ένα ραντεβού (δεν ξαναπήρε την κλήση μου!)

Τι ακριβώς είναι αυτό το IoT Keychain

Επιτρέψτε μου να σας δώσω μια αφηρημένη ιδέα, φανταστείτε ότι προγραμματίσατε ένα δείπνο με τους γονείς σας σε ένα πολυτελές εστιατόριο. Wereσα ίσα που βγήκες στο δρόμο ξαφνικά τα κλειδιά λείπουν, ωχ! Ξέρεις ότι το κλειδί είναι κάπου στο σπίτι. Στη συνέχεια, θυμάσαι, έβαλα ένα μπρελόκ IoT που έφτιαξα αναφερόμενο στο Ashwin's Instructable, δόξα τω Θεώ! Βγάζετε το τηλέφωνό σας και ανοίγετε το Chrome και στη συνέχεια πληκτρολογείτε IP μπρελόκ (π.χ. 192.168.43.193/) ή mycarkey.local/ (αυτό λειτουργεί λόγω mDNS) και πατάτε την αναζήτηση. Ουάου !, ένας ιστότοπος εμφανίζεται στο τηλέφωνό σας (φανταστείτε ότι το μπρελόκ σας είναι ο διακομιστής, τόσο περίεργο!). Κάνετε κλικ στο κουμπί Buz My Key και σε στιγμές ακούτε ένα μπιπ που προέρχεται από τα παπούτσια εργασίας σας (τζιζ αυτές οι γάτες). Λοιπόν, βρήκατε τα κλειδιά και βγήκατε στο δρόμο σε λίγο, voila!

Μια σύντομη ιδέα για το πώς λειτουργεί

Λοιπόν, το ESP-01 στο Keychain συνδέεται με οποιοδήποτε WiFi έχετε αναφέρει στο πρόγραμμα (μπορείτε να αναφέρετε πολλά ονόματα WiFi μαζί με τους κωδικούς πρόσβασής τους και το ESP-01 θα συνδεθεί στο ισχυρότερο διαθέσιμο δίκτυο WiFi σε εκείνο το σημείο). Εάν πάρετε το μπρελόκ εκτός της εμβέλειας WiFi, το ESP-01 πιθανότατα θα αποσυνδεθεί και θα προσπαθήσει να συνδεθεί με το διαθέσιμο WiFi που αναφέρεται (οπότε αν τοποθετήσατε το κλειδί σας στο σπίτι του φίλου σας, μπορείτε να το βρείτε εύκολα απλώς ενεργοποιώντας το hotspot του τηλεφώνου σας (δεν απαιτούνται δεδομένα) και το ESP-01 θα συνδεθεί αυτόματα στο hotspot σας και, στη συνέχεια, μπορείτε να ηχήσετε το μπρελόκ και να το βρείτε εύκολα).

Πριν ξεκινήσω θα συνιστούσα σε όλους τους χρήστες ESP για πρώτη φορά να διαβάσουν έναν οδηγό για αρχάριους στο ESP8266 του Pieter P. Κάντε κλικ εδώ. Αυτός ο οδηγός ήταν πολύ χρήσιμος για μένα ως αρχάριος στο τσιπ ESP8266.

Ποια είναι η σχέση μεταξύ ESP8266 και ESP-01

Όταν ξεκίνησα να δουλεύω με το ESP μπερδεύτηκα αρκετά. Υπήρχαν πολλές πληροφορίες σχετικά με τα τσιπ ESP στο διαδίκτυο. Πίστευα ότι τα ESP8266, ESP-01, ESP-12E κλπ ήταν όλα διαφορετικά και δεν μπορούσα να χρησιμοποιήσω το πρόγραμμα που γράφτηκε στο ESP-01 στο ESP-12E, αλλά αυτό δεν ισχύει. Επιτρέψτε μου να ξεκαθαρίσω τις αμφιβολίες σας! Το ESP8266 είναι ένα τσιπ που χρησιμοποιείται σε όλες τις μονάδες ESP (όπως ESP-12E και ESP-01). Υπάρχουν πολλές περισσότερες μονάδες ESP διαθέσιμες στην αγορά και όλες χρησιμοποιούν τσιπ ESP8266. Η μόνη διαφορά μεταξύ τους είναι η λειτουργικότητα που παρέχει η μονάδα ESP. Ας πούμε ότι το ESP-01 έχει πολύ λιγότερες καρφίτσες GPIO ενώ το ESP-12E έχει πολλές καρφίτσες GPIO. Το ESP-01 μπορεί να μην έχει διαφορετικούς τρόπους ύπνου όπως το ESP-12E, ενώ το ESP-01 είναι πιο φθηνό και μικρό σε μέγεθος.

Λάβετε υπόψη ότι όλοι χρησιμοποιούν το ίδιο τσιπ ESP8266, μπορούμε να χρησιμοποιήσουμε το ίδιο πρόγραμμα ESP8266 σε όλες τις μονάδες ESP χωρίς προβλήματα εφόσον δεν χρησιμοποιείτε πρόγραμμα που μπορεί να λειτουργήσει μόνο σε ένα συγκεκριμένο τσιπ (ας πούμε ότι προσπαθείτε να ενεργοποιήστε την καρφίτσα GPIO 6 στο ESP-01 που δεν έχει. Δεν ανησυχείτε και τα προγράμματα που έδωσα σε αυτό το σεμινάριο είναι συμβατά με όλες τις μονάδες ESP. Στην πραγματικότητα έκανα όλη την κωδικοποίηση στο ESP-12E NodeMCU καθώς ήταν πιο εύκολο να εργαστείτε και σφάλματα εντοπισμού σφαλμάτων στον πίνακα ανάπτυξης. Αφού πείστηκα για τη δουλειά μου, δοκίμασα τότε αυτά τα προγράμματα στο ESP-01 που λειτουργούσαν σαν γοητεία χωρίς καμία τροποποίηση!

Μερικά βασικά σημεία:

  • Ο στόχος μου είναι να σας βοηθήσω να καταλάβετε πώς μπορούμε να ενσωματώσουμε το IoT οπουδήποτε.
  • Το βασικό συμπέρασμα από αυτό το Instructable είναι η γνώση της ενσωμάτωσης του ESP-01 μέσα σε ένα μπρελόκ που φαίνεται περίεργο, αλλά η μηχανική είναι γεμάτη προκλήσεις! Συνιστώ σε όλους να βρουν διαφορετικά σχέδια για μπρελόκ και να προσπαθήσουν να κάνουν την ιδέα του IoT μπρελόκ τέλεια.
  • Το μπρελόκ IoT που έχω φτιάξει δεν είναι ιδιαίτερα αποδοτικό στην μπαταρία (6 ώρες με μπαταρία Li-Po 500mAH 3.7v) και είναι λίγο ογκώδες. Αλλά ξέρω, μπορείτε να το κάνετε τέλειο αν όχι καλύτερο και να κάνετε το δικό σας Instructable (μην ξεχάσετε να με αναφέρετε!)

Αρκετά μπλα μπλα μπλα! Ας αρχίσουμε

Πώς ρέει το Instructable μου

  1. Απαιτούμενα υλικά και εξαρτήματα [Βήμα 1]
  2. ESP-01 Ξεκινώντας [Βήμα 2]
  3. Αφήστε το Ready the Buzzer για το ESP-01 [Βήμα 3]
  4. Προετοιμασία για προγραμματισμό [Βήμα 4]
  5. Εξατομίκευση του προγράμματος [Βήμα 5]
  6. Αφήνει το πρόγραμμα ESP-01 [Βήμα 6]
  7. IP και mDNS για έλεγχο βομβητή [Βήμα 7]
  8. Επιλογή κατάλληλης μπαταρίας [Βήμα 8]
  9. Τοποθέτηση όλων των στοιχείων [Βήμα 9]
  10. Προετοιμασία εξωτερικού καλύμματος για τοποθέτηση του κυκλώματος μπρελόκ και της μπαταρίας [Βήμα 10]
  11. Timeρα να ζηλέψετε τους φίλους σας! Μερικές τελικές σκέψεις [Βήμα 11]

Βήμα 1: Απαιτούμενα υλικά και εξαρτήματα

Απαιτούμενα υλικά και εξαρτήματα
Απαιτούμενα υλικά και εξαρτήματα
Απαιτούμενα υλικά και εξαρτήματα
Απαιτούμενα υλικά και εξαρτήματα

Είστε λοιπόν έτοιμοι, τέλεια!

Έχω αναφέρει όλα τα στοιχεία που χρησιμοποιούνται σε αυτό το Instructable στην παραπάνω εικόνα (μια εικόνα αξίζει χίλιες λέξεις)

Βήμα 2: ESP-01 Ξεκινώντας

ESP-01 Ξεκινώντας
ESP-01 Ξεκινώντας

Έχω χρησιμοποιήσει πολλές μονάδες ESP αλλά πρέπει να πω ότι το ESP-01 είναι η αγαπημένη μου μονάδα ESP8266 καθώς είναι η μικρότερη και φθηνότερη.

Υπάρχουν συνολικά 8 ακίδες στο ESP-01. Παρέδωσα την εικόνα του διαγράμματος pin παραπάνω.

Θα χρησιμοποιήσουμε τον πίνακα Arduino UNO και το Arduino IDE για τον προγραμματισμό του ESP-01, καθώς πολλοί από εσάς πρέπει να έχετε Arduino στο σπίτι.

Υπάρχουν δύο λειτουργίες στο ESP-01:

  • Λειτουργία προγραμματισμού
  • Κανονική λειτουργία εκκίνησης

Για να αλλάξουμε τις λειτουργίες απαιτούμε μόνο εναλλαγή των ακίδων RST και GPIO 0.

Το ESP8266 θα ελέγξει κατά την εκκίνηση σε ποια λειτουργία πρέπει να ξεκινήσει. Το κάνει αυτό ελέγχοντας τον ακροδέκτη GPIO 0. Εάν ο πείρος είναι γειωμένος, το 0V ESP θα ξεκινήσει σε λειτουργία προγραμματισμού. Εάν ο πείρος διατηρείται αιωρούμενος ή συνδέεται κανονικά με μπότες ESP 3,3V.

Ο ακροδέκτης RST είναι ενεργός χαμηλά, οπότε 0V στον ακροδέκτη RST θα επαναφέρει το τσιπ (απλώς αγγίξτε τον πείρο RST στη γείωση για ένα δευτερόλεπτο)

Για κανονική λειτουργία εκκίνησης: Το GPIO 0 θα πρέπει είτε να κινείται είτε να είναι συνδεδεμένο σε 3.3V μετά την επαναφορά ή την εκκίνηση του τσιπ για πρώτη φορά

Για τη λειτουργία προγραμματισμού: Το GPIO 0 θα πρέπει να είναι γειωμένο μετά την επαναφορά ή την εκκίνηση του τσιπ για πρώτη φορά και να παραμένει γειωμένο μέχρι να τελειώσει ο προγραμματισμός. Για να βγείτε από αυτήν τη λειτουργία, απλώς αφαιρέστε τον ακροδέκτη GPIO 0 από το έδαφος και κρατήστε τον είτε αιωρούμενο είτε συνδεθείτε σε 3V και στη συνέχεια γειώστε τον πείρο RST για ένα δευτερόλεπτο. Το ESP ξεκινά ξανά στην κανονική λειτουργία.

Το ESP-01 διαθέτει μνήμη flash 1MB.

Προειδοποίηση! Το ESP-01 λειτουργεί με 3.3V, αν δώσετε περισσότερα από 3.6V σε οποιαδήποτε από τις καρφίτσες θα τηγανίσετε το τσιπ (έχω τηγανίσει ήδη δύο ESP-01). Μπορούμε να το χρησιμοποιήσουμε μεταξύ 3V - 3.6V, τώρα αυτό είναι χρήσιμο γιατί θα χρησιμοποιούμε μπαταρία LiPo 3.7V. Θα εξηγήσω πώς μπορούμε να χρησιμοποιήσουμε αυτήν την μπαταρία με το ESP-01 στα επόμενα βήματα.

Βήμα 3: Ας ετοιμάσουμε τον βομβητή για το ESP-01

Αφήστε το Ready the Buzzer για το ESP-01
Αφήστε το Ready the Buzzer για το ESP-01

Υπάρχουν δύο τύποι Buzzer:

  • Ενεργός βομβητής
  • Παθητικός βομβητής

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

Οι παθητικοί βομβητές απαιτούν PWM. Έτσι, εάν εφαρμόζετε σταθερή τάση, ο βομβητής δεν θα κάνει ήχο.

Επιλέξτε έναν ενεργό βομβητή 3V.

Οι ακίδες ESP-01 μπορούν να δώσουν μόνο έως και 12mA, το οποίο είναι πολύ λιγότερο λαμβάνοντας υπόψη την απαίτηση ισχύος για έναν βομβητή 3V. Έτσι, θα χρησιμοποιήσουμε ένα τρανζίστορ NPN (έχω χρησιμοποιήσει το 2N3904) ως διακόπτη για τον έλεγχο του βομβητή.

Ακολουθήστε το διάγραμμα σύνδεσης παραπέμποντας στις εικόνες που ανεβάσατε παραπάνω. Κάντε τις συνδέσεις σε μια σανίδα ψωμιού. Στα επερχόμενα στάδια μπορείτε να δοκιμάσετε το κύκλωμά σας και να βεβαιωθείτε ότι όλα λειτουργούν προτού συγκολλήσετε όλα τα εξαρτήματα σε ένα PCB.

Βήμα 4: Προετοιμασία για προγραμματισμό

Ετοιμασία για προγραμματισμό
Ετοιμασία για προγραμματισμό
Ετοιμασία για προγραμματισμό
Ετοιμασία για προγραμματισμό

Τώρα ας ορίσουμε το Arduino IDE για τον προγραμματισμό του ESP-01

Πρώτα θα προσθέσουμε τον πίνακα ESP8266 στο Arduino IDE. Ανοίξτε το Arduino IDE και μεταβείτε στο Αρχείο> Προτιμήσεις. Θα δείτε τη διεύθυνση URL πρόσθετων διαχειριστών πινάκων. Επικολλήστε αυτόν τον σύνδεσμο:

  • Τώρα μεταβείτε στα Εργαλεία> Πίνακας> Διαχειριστής πινάκων
  • Αναζήτηση esp8266. Θα πρέπει να δείτε την κοινότητα esp8266 by ESP8266. Εγκαταστήστε το.
  • Τώρα μεταβείτε στην επιλογή Εργαλεία> Πίνακας> Πίνακες ESP8266. Επιλέξτε γενική μονάδα ESP8266.
  • Εγινε! Έχετε ρυθμίσει το Arduino IDE

Συνδέσεις

Συνδέστε το ESP-01 στην πλακέτα Arduino UNO αναφέροντας το διάγραμμα συνδέσεων στις παραπάνω εικόνες.

Δεν πρόκειται να χρησιμοποιήσουμε τσιπ Atmega328p (Ναι, αυτό το μεγάλο μεγάλο τσιπ στον πίνακα Arduino). Απλώς χρησιμοποιούμε την πλακέτα Arduino UNO για τον προγραμματισμό του ESP-01, αυτός είναι ο λόγος που έχουμε συνδέσει το RESET pin του Atmega στη θύρα 5V.

Οι καρφίτσες GPIO0 και RST χρησιμοποιούνται για τον έλεγχο της εκκίνησης ESP-01. Περισσότερα στο βήμα 6

Το RED LED χρησιμοποιείται για να ελέγξει εάν το μεταφορτωμένο πρόγραμμα λειτουργεί ή όχι.

Εντάξει τώρα που έγιναν οι συνδέσεις, κατεβάστε τον κωδικό μπρελόκ μου από κάτω. Στο επόμενο βήμα θα εξηγήσω πώς να κάνω κάποιες αλλαγές στον κώδικα μου και πώς να ανεβάσω το πρόγραμμα.

Μερικές επιπλέον πληροφορίες (παραλείψτε αν θέλετε)

Mayσως έχετε παρατηρήσει ότι το Rx πηγαίνει στο Rx και το Tx πηγαίνει στο Tx. Αυτό δεν είναι σωστό!. Εάν μια συσκευή εκπέμπει, τότε η άλλη συσκευή λαμβάνει (Tx σε Rx) και αντίστροφα (Rx σε Tx). Γιατί λοιπόν αυτή η σύνδεση;

Λοιπόν, ο πίνακας Arduino UNO έγινε έτσι. Επιτρέψτε μου να ξεκαθαρίσω ότι το Rx και το Tx του καλωδίου USB που συνδέονται με την πλακέτα Arduino UNO συνδέονται με το Atmega328p. Η σύνδεση γίνεται έτσι: Το Rx του USB πηγαίνει στο Tx του Atmega και το Tx του USB πηγαίνει στο Rx του Atmega. Τώρα το Pin Pin 0 και 1 που δίνονται ως Rx και Tx αντίστοιχα συνδέονται απευθείας με το Atmega (το Rx του Atmega είναι το Rx στο Port Pin 0 και το Tx του Atmega είναι το Tx του Pin Pin 1) και όπως δεν πρόκειται να χρησιμοποιήστε το Atmega για προγραμματισμό και χρειάζεστε μόνο συνδέσεις USB απευθείας, μπορείτε να δείτε ότι το Tx του USB είναι το Rx του πίνακα Arduino UNO Pin 0 και το Rx του USB είναι ένα Tx του Arduino UNO Pin 1

Φτου! Τώρα γνωρίζετε τις συνδέσεις Rx Tx.

Πρέπει να έχετε παρατηρήσει μια αντίσταση μεταξύ σύνδεσης Rx - Rx. Αυτό είναι σημαντικό για την αποτροπή του τηγανίσματος του τσιπ ESP-01 λόγω TTL 5V. Χρησιμοποιήσαμε μια διαχωρισμένη σύνδεση τάσης η οποία ουσιαστικά μειώνει τα 5V σε Rx σε 3,3V έτσι ώστε το ESP-01 να μην τηγανιστεί. Αν θέλετε να μάθετε πώς λειτουργεί το διαχωριστικό τάσης, μεταβείτε σε αυτόν τον σύνδεσμο:

Βήμα 5: Εξατομίκευση του προγράμματος

Εξατομίκευση του Προγράμματος
Εξατομίκευση του Προγράμματος
Εξατομίκευση του Προγράμματος
Εξατομίκευση του Προγράμματος

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

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

//-----------------------------------

κάντε τις αλλαγές σας εδώ.

//----------------------------------

Διαβάστε τα σχόλια που έχω δώσει στο πρόγραμμα για να κατανοήσετε καλύτερα τον κώδικα

…….

Μπορείτε να προσθέσετε πολλά ονόματα WiFi και τους αντίστοιχους κωδικούς πρόσβασης στο πρόγραμμα. Το ESP-01 θα συνδεθεί με αυτό που είναι το ισχυρότερο τη στιγμή της σάρωσης. Κατά την αποσύνδεση, θα σαρώνει συνεχώς το διαθέσιμο WiFi στο οποίο μπορεί να συνδεθεί και στη συνέχεια συνδέεται αυτόματα. Θα σας συνιστούσα να προσθέσετε το Home WiFi και το Mobile Hotspot στο πρόγραμμα.

Σύνταξη για προσθήκη WiFi: wifiMulti.addAP ("Hall_WiFi", "12345678");

Η πρώτη συμβολοσειρά είναι το όνομα του WiFi και η δεύτερη συμβολοσειρά είναι ο κωδικός πρόσβασης.

…….

Εάν θέλετε να αλλάξετε τον πείρο στον οποίο είναι συνδεδεμένος ο βομβητής, μπορείτε να τον αναφέρετε στη μεταβλητή

const int buz_pin = pin_no;

Το pin_no θα πρέπει να είναι έγκυρη τιμή σύμφωνα με τη μονάδα ESP που χρησιμοποιείτε.

Η τιμή LED_BUILTIN είναι η ακίδα GPIO 2 για ESP-01.

…….

Επιπλέον [Παράλειψη αν θέλετε]

Καθώς το ESP-01 θα λειτουργεί σαν διακομιστής, υπάρχει ένας βασικός κώδικας ιστότοπου HTML τον οποίο έχω ήδη προσθέσει στο πρόγραμμα που κατεβάσατε προηγουμένως. Δεν θα μπω σε λεπτομέρειες, αλλά αν θέλετε να εξερευνήσετε την πηγή HTML, μπορείτε να την κατεβάσετε από κάτω. [Μετονομασία του αρχείου από html code.html.txt σε html code.html]

Βήμα 6: Αφήνει το πρόγραμμα ESP-01

Αφήνει το πρόγραμμα ESP-01
Αφήνει το πρόγραμμα ESP-01
Αφήνει το πρόγραμμα ESP-01
Αφήνει το πρόγραμμα ESP-01

1)

  • Συνδέστε την πλακέτα Arduino UNO στον υπολογιστή σας.
  • Βεβαιωθείτε ότι στην περιοχή Εργαλεία είναι επιλεγμένες αυτές οι επιλογές

    • Πίνακας: "Generic ESP8266 Module"
    • Ταχύτητα μεταφόρτωσης: "115200"
    • Αφήστε τις άλλες επιλογές να παραμείνουν προεπιλεγμένες
  • Μην μεταβείτε στα Εργαλεία> Θύρα
  • Επιλέξτε Arduino UNO COM Port (Ο υπολογιστής μου έδειχνε COM3. Ο δικός σας μπορεί να διαφέρει.

2) Αυτό είναι. Τώρα πριν κάνουμε κλικ στο Upload, πρέπει να κάνουμε εκκίνηση του ESP-01 σε λειτουργία προγραμματισμού. Για αυτή τη γείωση 0V, η ακίδα ESP-01. Στη συνέχεια γειώστε τον πείρο RST για ένα δευτερόλεπτο. Τώρα το ESP-01 έχει ξεκινήσει σε λειτουργία προγραμματισμού.

3) Τώρα κάντε κλικ στο Upload στο Arduino IDE. Χρειάζεται λίγος χρόνος για τη σύνταξη του σκίτσου. Παρακολουθήστε τα παράθυρα κατάστασης εντολών κάτω από το Arduino IDE.

4) Μόλις ολοκληρωθεί η μεταγλώττιση, θα πρέπει να δείτε Σύνδεση ……._ ……._ ……… Αυτό συμβαίνει όταν ο υπολογιστής σας προσπαθεί να συνδεθεί στο ESP-01. Εάν αποκτήσετε τη σύνδεση ……. για μεγάλο χρονικό διάστημα ή εάν η σύνδεση αποτύχει (μου συμβαίνει πολύ) απλώς επαναφέρετε ξανά το ESP-01 (πατάω το RST στο ESP-01 στη γείωση 0V 2-3 φορές για να βεβαιωθώ ότι έχει ξεκινήσει σε λειτουργία προγραμματισμού) Το

Μερικές φορές ακόμη και μετά από αυτό, η σύνδεση αποτυγχάνει, αυτό που κάνω είναι μετά τη σύνδεση …… _ …… επαναφέρω ξανά το ESP-01 και συνήθως αυτό λειτουργεί. Λάβετε υπόψη ότι το pin GPIO 0 θα πρέπει να είναι γειωμένο καθ 'όλη τη διάρκεια της περιόδου προγραμματισμού.

5) Αφού ολοκληρωθεί η μεταφόρτωση θα λάβετε:

Φεύγοντας ……

Σκληρή επαναφορά μέσω καρφίτσας RTS…

Αυτό υποδεικνύει ότι ο κωδικός μεταφορτώθηκε με επιτυχία. Τώρα αφαιρέστε τον ακροδέκτη GPIO 0 από τη γείωση και, στη συνέχεια, επαναφέρετε ξανά το ESP-01. Τώρα το ESP θα εκκινήσει σε κανονική λειτουργία και θα προσπαθήσει να συνδεθεί στο δίκτυο WiFi που αναφέρατε στο πρόγραμμα.

Μπορείτε να παρακολουθείτε το πρόγραμμα ESP-01 από το Serdu Monitor Arduino.

6) Ανοίξτε το Serial Monitor, στην κάτω δεξιά γωνία Επιλέξτε NL και CR και baud rate ως 115200. Επαναφέρετε το ESP-01 (διατηρήστε το GPIO 0 αιωρούμενο ή συνδεδεμένο σε 3.3V καθώς προσπαθούμε να εκτελέσουμε το μεταφορτωμένο πρόγραμμα) και στη συνέχεια θα δείτε όλα τα μηνύματα που επιστρέφονται από το ESP-01. Αρχικά μπορεί να δείτε κάποιες τιμές σκουπιδιών που είναι φυσιολογικές σε όλες τις μάρκες ESP8266. Αφού η σύνδεση είναι επιτυχής, θα δείτε μια διεύθυνση IP τυπωμένη στην οθόνη. Κρατήστε μια σημείωσή του.

Έχω προσθέσει μερικά emoticons στο serial.print () το οποίο φαίνεται καλό στο Serial Monitor καθώς δίνει κάποιες εκφράσεις. Ποιος είπε ότι δεν μπορούμε να είμαστε πιο δημιουργικοί!

Βήμα 7: IP και MDNS για τον έλεγχο του βομβητή

IP και MDNS για τον έλεγχο του βομβητή
IP και MDNS για τον έλεγχο του βομβητή
IP και MDNS για τον έλεγχο του βομβητή
IP και MDNS για τον έλεγχο του βομβητή
IP και MDNS για τον έλεγχο του βομβητή
IP και MDNS για τον έλεγχο του βομβητή

Πριν μπω σε λεπτομέρειες σχετικά με τον τρόπο λειτουργίας του διακομιστή, δοκιμάστε να ενεργοποιήσετε το βομβητή. Η συσκευή στην οποία προσπαθείτε να αποκτήσετε πρόσβαση στον διακομιστή ESP-01 θα πρέπει να είναι συνδεδεμένη στο ίδιο δίκτυο με το ESP-01 ή να είναι συνδεδεμένη στο hotspot της συσκευής σας. Τώρα ανοίξτε το αγαπημένο σας πρόγραμμα περιήγησης και πληκτρολογήστε τη διεύθυνση IP που λάβατε στο προηγούμενο βήμα και αναζητήστε. Θα πρέπει να ανοίξει μια σελίδα. Κάντε κλικ στο Toggle buzz και το RED LED θα αρχίσει να αναβοσβήνει!

Τι είναι η διεύθυνση IP;

Η IP είναι μια διεύθυνση που λαμβάνει κάθε συσκευή μετά τη σύνδεση σε δίκτυο WiFi. Η διεύθυνση IP είναι σαν ένα μοναδικό αναγνωριστικό που βοηθά στην εύρεση μιας συγκεκριμένης συσκευής. Καμία δύο συσκευή δεν μπορεί να έχει την ίδια διεύθυνση IP στο ίδιο δίκτυο. Όταν το ESP-01 συνδέεται με το WiFi ή το hotspot, του εκχωρείται μια διεύθυνση IP την οποία εκτυπώνει στο Serial Monitor.

Τι είναι λοιπόν το mDNS;

Ας καταλάβουμε το DNS. Αντιπροσωπεύει το σύστημα ονομάτων τομέα. Είναι ένας ειδικός διακομιστής που επιστρέφει τη διεύθυνση IP του τομέα που έχετε αναζητήσει. Ας πούμε, για παράδειγμα, ότι πραγματοποιήσατε αναζήτηση στην διεύθυνση installables.com. Το πρόγραμμα περιήγησης ερωτά τον διακομιστή DNS και ο διακομιστής επιστρέφει τη διεύθυνση IP του installables.com. Τη στιγμή που γράφω αυτό το Instructable, έλαβα τη διεύθυνση IP του hînνου προϊόντος.com ως 151.101.193.105. Τώρα αν βάλω 151.101.193.105 στη γραμμή διευθύνσεων του προγράμματος περιήγησης και κάνω αναζήτηση θα έχω τον ίδιο ιστότοπο Instructables.com, τακτοποιημένος! Υπάρχει ένα ακόμη πλεονέκτημα του DNS, η διεύθυνση IP των συσκευών αλλάζει συνεχώς λέγοντας ότι η IP των δρομολογητών σας σήμερα ήταν 92.16.52.18 και αύριο ίσως 52.46.59.190. Η IP αλλάζει κάθε φορά που η συσκευή σας επανασυνδέεται σε δίκτυο. Καθώς το DNS ενημερώνει αυτόματα το IP όλων των συσκευών, είμαστε πάντα δρομολογημένοι στον κατάλληλο διακομιστή προορισμού.

Αλλά δεν μπορούμε να φτιάξουμε έναν διακομιστή DNS για το ESP-01 που θα ρωτούσε ότι είναι IP. Σε αυτή την περίπτωση θα χρησιμοποιήσουμε mDNS. Λειτουργεί σε τοπικές συσκευές. Στη σειριακή οθόνη μπορεί να έχετε παρατηρήσει το esp01.local/ αυτό είναι το όνομα που ορίσαμε στο ESP-01 που θα απαντούσε αυτόματα στο esp01.local/ (δοκιμάστε να κάνετε αναζήτηση στο esp01.local/ στο πρόγραμμα περιήγησής σας). Έτσι, μπορείτε τώρα να έχετε άμεση πρόσβαση στο ESP-01 ακριβώς όπως αναζητάτε το installables.com χωρίς να γνωρίζετε τη διεύθυνση IP τους. Υπάρχει όμως ένα πρόβλημα, το mDNS δεν λειτουργεί ακόμα στο Android σημαίνει ότι δεν μπορείτε να έχετε πρόσβαση στο ESP σας χρησιμοποιώντας mDNS σε συσκευές Android, αλλά πρέπει να πληκτρολογήσετε τη διεύθυνση IP στη γραμμή αναζήτησης. Το mDNS λειτουργεί τέλεια σε iOS, macOS, ipadOS και για Windows πρέπει να εγκαταστήσετε το Bonjour ενώ στο Linux πρέπει να εγκαταστήσετε το Avahi.

Για να αλλάξετε το όνομα του ESP-01 mDNS βρείτε το mdns.begin ("esp01"). στο πρόγραμμά μου και αντικαταστήστε τη συμβολοσειρά "esp01" με οποιαδήποτε προτιμώμενη συμβολοσειρά θέλετε.

Εάν δεν θέλετε να χρησιμοποιήσετε το mDNS, υπάρχει κάτι άλλο που μπορείτε να κάνετε. Μεταβείτε στις ρυθμίσεις του δρομολογητή σας μετά τη σύνδεση του ESP-01 στο δρομολογητή σας και ορίστε μια στατική διεύθυνση IP για το ESP-01. Η στατική IP δεν αλλάζει με την πάροδο του χρόνου. Μπορείτε να κάνετε αναζήτηση στο διαδίκτυο σχετικά με τον τρόπο ρύθμισης παραμέτρων του δρομολογητή για να ορίσετε στατική IP σε οποιαδήποτε συσκευή. Θα βρείτε πολλές χρήσιμες ιστοσελίδες. Έτσι, μόλις εκχωρήσετε τη στατική IP, κρατήστε μια σημείωση ή δημιουργήστε έναν σελιδοδείκτη στο πρόγραμμα περιήγησης, ώστε την επόμενη φορά να μπορείτε να πραγματοποιήσετε αναζήτηση απευθείας από τον σελιδοδείκτη.

Τώρα για κινητά hotspots, η IP δεν αλλάζει (δεν άλλαξε για μένα όπως ποτέ!). Μπορείτε να λάβετε τις διευθύνσεις IP της συσκευής που είναι συνδεδεμένες στο hotspot σας από τη μετάβαση στις ρυθμίσεις hotspot Android. Απλώς δημιουργήστε έναν σελιδοδείκτη της IP ESP-01 στο πρόγραμμα περιήγησης και αυτό είναι όλο, μπορείτε να αποκτήσετε πρόσβαση στον ιστότοπο ανά πάσα στιγμή και να βουήσετε το μπρελόκ σας.

ΔΙΕΥΘΥΝΣΗ IP ΑΝΑΘΕΣΗ ΣΤΟ ESP-01 ΟΤΑΝ Η ΣΥΝΔΕΣΗ ΜΕ ΚΙΝΗΤΟ HOTSPOT ΚΑΙ WIFI ΜΠΟΡΕΙ ΝΑ ΔΙΑΦΟΡΕΙ

Σημείωση: Για πρόσβαση στο ESP-01 πρέπει να βρίσκεστε στο ίδιο δίκτυο με τη μονάδα ESP. Έτσι δεν μπορείτε να το ελέγξετε μέσω διαδικτύου αλλά μόνο μέσω του τοπικού δικτύου.

Βήμα 8: Επιλογή κατάλληλης μπαταρίας

Επιλογή κατάλληλης μπαταρίας
Επιλογή κατάλληλης μπαταρίας

Ας καταλάβουμε πρώτα το mAh

Ας πούμε ότι έχετε μια μπαταρία 3.7V με χωρητικότητα 200mAh. Η μπαταρία είναι συνδεδεμένη σε κύκλωμα που καταναλώνει 100mA. Πόσο καιρό λοιπόν θα μπορεί η μπαταρία να τροφοδοτεί το κύκλωμα;

απλά διαιρέστε

200mAh/100mA = 2 ώρες

Ναι, 2 ώρες!

Το mAh είναι μια βαθμολογία που δηλώνει πόση ενέργεια μπορεί να δώσει μια πηγή για μια ώρα. Εάν η μπαταρία έχει 200mAh, δίνει 200mA ισχύ συνεχώς για 1 ώρα πριν εξαντληθεί.

Έχω επιλέξει μπαταρία 3.7V 500mAh (προτιμήστε περισσότερα mAh> 1000mAh (προτιμάται). Δεν θα μπορούσα να πάρω καλύτερη μπαταρία mAh σε κανένα κατάστημα).

Το ESP-01 καταναλώνει περίπου 80mA ρεύμα

Κατά προσέγγιση το κύκλωμά μας θα πρέπει να καταναλώνει 100mA χωρίς να βουίζει ο βομβητής. Έτσι, η μπαταρία μας θα πρέπει να μπορεί να τροφοδοτήσει το κύκλωμα για περισσότερες από 5 ώρες (για μπαταρία 500mAh), δεδομένου ότι ο βομβητής είναι απενεργοποιημένος τις περισσότερες φορές. Μια μπαταρία 1000mAh θα πρέπει να παρέχει πάνω από 10 ώρες εφεδρική μπαταρία. Επιλέξτε λοιπόν μια μπαταρία σύμφωνα με τις απαιτήσεις σας.

Εντάξει, τώρα μπορούμε να συνδέσουμε την μπαταρία απευθείας στο κύκλωμά μας; ΟΧΙ. Η τάση της μπαταρίας είναι 3,7V. Οποιαδήποτε τάση πάνω από 3,6V θα σκοτώσει το τσιπ ESP8266. Τότε τι να κάνουμε; Μπορείτε να αυξήσετε την τάση στα 5V και στη συνέχεια να την κατεβάσετε στα 3.3V χρησιμοποιώντας έναν ρυθμιστή μεταγωγής, αλλά γεια! αυτά τα κυκλώματα θα πάρουν πολύ χώρο. Και επίσης ξεχνάμε ότι η μπαταρία 3.7V θα δώσει 4.2V σε πλήρη φόρτιση. Αυτό με ενόχλησε πολύ αρχικά!

Τότε θυμήθηκα ότι μπορούμε να χρησιμοποιήσουμε μια δίοδο για να ρίξουμε την τάση. Αν θυμάστε, η δίοδος πυριτίου πέφτει περίπου 0,7V όταν είναι μεροληπτική προς τα εμπρός. Μπορείτε να συνδέσετε το ESP-01 στη δίοδο που ήταν συνδεδεμένη με την μπαταρία των 3.7V. Η δίοδος πρέπει να πέσει 0,7V έτσι ώστε να πάρει 3V (3,7 - 0,7). Και με πλήρη φόρτιση θα πρέπει να πάρουμε 3,5 (4,2 - 0,7), το οποίο είναι ένα καλό εύρος για την τροφοδοσία του ESP -01. Πηγαίνετε για δίοδο σειράς 1N400x.

Ανατρέξτε στις συνδέσεις στις παραπάνω εικόνες.

Εντάξει. Τώρα που ολοκληρώσαμε την μπαταρία, ας δούμε πώς να φτιάξουμε μια βάση φόρτισης για το μπρελόκ μας.

Βήμα 9: Τοποθέτηση όλων των εξαρτημάτων

Τοποθέτηση όλων των εξαρτημάτων
Τοποθέτηση όλων των εξαρτημάτων
Τοποθέτηση όλων των εξαρτημάτων
Τοποθέτηση όλων των εξαρτημάτων

Έχουμε σχεδόν τελειώσει το μπρελόκ μας!

Το μόνο που απομένει είναι να φτιάξετε ένα μπρελόκ και να τοποθετήσετε όλα τα εξαρτήματα μέσα.

Το διάγραμμα κυκλώματος δίνεται παραπάνω. Βεβαιωθείτε ότι σχεδιάζετε πώς τα στοιχεία σας θα ταιριάζουν μεταξύ τους.

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

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

Χρησιμοποιώ θηλυκές καρφίτσες επικεφαλίδας συγκολλημένες στο PCB για σύνδεση ESP-01. Γίνεται εύκολο να αφαιρεθεί και να εισαχθεί το ESP-01 στο κύκλωμα.

Φροντίστε να κάνετε το κύκλωμά σας όσο το δυνατόν μικρότερο!

Βήμα 10: Προετοιμασία εξωτερικού καλύμματος για τοποθέτηση του κυκλώματος και της μπαταρίας του μπρελόκ

Προετοιμασία εξωτερικού καλύμματος για τοποθέτηση του κυκλώματος και της μπαταρίας
Προετοιμασία εξωτερικού καλύμματος για τοποθέτηση του κυκλώματος και της μπαταρίας
Προετοιμασία εξωτερικού καλύμματος για τοποθέτηση του κυκλώματος και της μπαταρίας
Προετοιμασία εξωτερικού καλύμματος για τοποθέτηση του κυκλώματος και της μπαταρίας

Εδώ θέλω να έχετε διαφορετικές ιδέες για το μπρελόκ.

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

Καταιγίστε ιδέες και βγάλτε εκπληκτικές ιδέες για τα μπρελόκ!

Βήμα 11: Τελειώνοντας

Τελειώνω!
Τελειώνω!

Συγχαρητήρια! Έχετε φτιάξει το μπρελόκ IoT!

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

Μέχρι τότε συνέχισε να χτίζεις, συνέχισε να σπάς, συνέχισε να ξαναχτίζεις!

Εγγραφείτε με για να λαμβάνω ειδοποίηση για το επόμενο Instructable.

Οποιαδήποτε ερώτηση μπορείτε να τη δημοσιεύσετε στην ενότητα σχολίων. Τα λέμε στο επόμενο Instructable.

Συνιστάται: