Σύνδεση Esp 01. Μονάδα Wifi που βασίζεται στο τσιπ ESP8266. Σύνδεση του ESP8266 στο Internet

Γίνεται ολοένα και μεγαλύτερη δημοτικότητα και το Arduino αναλαμβάνει ήδη την πρωτοβουλία - προσθέτοντας αυτές τις μονάδες Wi-Fi στη λίστα των υποστηριζόμενων πλακών.
Πώς όμως να το συνδέσω με το Arduino; Είναι δυνατόν να κάνω με κάποιο τρόπο χωρίς Arduino καθόλου; Αυτό ακριβώς θα είναι αυτό το άρθρο σήμερα.

Κοιτάζοντας μπροστά, θα πω ότι θα υπάρξει ένα δεύτερο άρθρο, πιο πρακτικό, με θέμα το υλικολογισμικό και τον προγραμματισμό της μονάδας ESP8266 στο περιβάλλον ανάπτυξης Arduino IDE. Πρώτα όμως πρώτα.

Αυτό το βίντεο αντιγράφει πλήρως το υλικό που παρουσιάζεται στο άρθρο.



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

Και εδώ είναι το pinout των ESP01, ESP03, ESP12:


*Αυτή η εικόνα μπορεί να προβληθεί σε καλής ποιότηταςκλειστό. ιστοσελίδα pighixxx.com.

Προσωπικά, μου αρέσει περισσότερο η έκδοση ESP07. Τουλάχιστον για το γεγονός ότι υπάρχει μια μεταλλική οθόνη (προστατεύει τα μικροκυκλώματα από εξωτερικές παρεμβολές, εξασφαλίζοντας έτσι πιο σταθερή λειτουργία), τη δική της κεραμική κεραία και έναν σύνδεσμο για μια εξωτερική κεραία. Αποδεικνύεται με τη σύνδεση σε αυτό εξωτερική κεραία, για παράδειγμα όπως διτετραγωνίδιο, τότε μπορείτε να επιτύχετε ένα καλό εύρος. Επιπλέον, υπάρχουν αρκετές θύρες εισόδου/εξόδου, οι λεγόμενες GPIO (General Purpose Input Output - ports input/output γενικού σκοπού), κατ' αναλογία με το Arduino - pins.

Ας επιστρέψουμε στις πρόβατες μονάδες Wi-Fi και στο Arduino. Σε αυτό το άρθρο, θα εξετάσω τη σύνδεση ενός ESP8266 (μοντέλο ESP01) σε ένα Arduino Nano V3.

Αλλά, αυτή η πληροφορίαθα είναι σχετικές με τις περισσότερες μονάδες ESP8266 και επίσης διάφορες πλακέτες Arduino, για παράδειγμα τις πιο δημοφιλείς Arduino UNO.

Λίγα λόγια για τα πόδια ESP01:

VccΚαι GND(στην παραπάνω εικόνα είναι 8 και 1) - φαγητό, ανά πόδι Vccμπορούν να υποβληθούν, κρίνοντας από την τεκμηρίωση, από 3 έως 3,6 V, ΕΝΑ GND- γείωση (μείον ισχύς). Είδα ένα άτομο να συνδέει αυτή τη μονάδα σε δύο μπαταρίες AA (η τάση τροφοδοσίας σε αυτήν την περίπτωση ήταν περίπου 2,7 V) και η μονάδα ήταν λειτουργική. Ωστόσο, οι προγραμματιστές υπέδειξαν το εύρος τάσης στο οποίο θα πρέπει να είναι εγγυημένη η λειτουργία της μονάδας· εάν χρησιμοποιείτε άλλη, αυτό είναι το πρόβλημά σας.

Προσοχή! Αυτή η μονάδα βασίζεται σε λογική 3,3V, ενώ το Arduino είναι ως επί το πλείστον λογική 5V. Τα 5 V μπορούν εύκολα να βλάψουν το ESP8266, επομένως πρέπει να τροφοδοτείται χωριστά από το Arduino.

- Το Arduino μου έχει ένα πόδι όπου λέει 3,3 V, γιατί να μην το χρησιμοποιήσω;

Μάλλον θα σκεφτείς. Το γεγονός είναι ότι το ESP8266 είναι μια μονάδα που απαιτεί ενέργεια και σε αιχμές μπορεί να καταναλώνει ρεύματα έως και 200 ​​mA και σχεδόν κανένα Arduino δεν μπορεί να παρέχει τέτοιο ρεύμα από προεπιλογή, με εξαίρεση το Arduino Due, στο οποίο το ρεύμα κατά μήκος της γραμμής 3,3 V μπορεί να φτάσει τα 800 mA, το οποίο είναι αρκετό, σε άλλες περιπτώσεις σας συμβουλεύω να χρησιμοποιήσετε έναν επιπλέον σταθεροποιητή 3,3 V, για παράδειγμα AMS1117 3,3 V. Υπάρχουν πολλά από αυτά τόσο στην Κίνα όσο και εδώ.

Πόδι RST 6 - προορίζεται για το υλικό για την επανεκκίνηση της μονάδας, εφαρμόζοντας για λίγο ένα χαμηλό λογικό επίπεδο σε αυτήν, η μονάδα θα επανεκκινήσει. Αν και το παραμέλησα στο βίντεο, σας συμβουλεύω «Πατήστε» αυτό το πόδι με μια αντίσταση 10 kOhm στο θετικό τροφοδοτικό, για να πετύχω καλύτερη σταθερότητα στη λειτουργία της μονάδας, διαφορετικά θα έκανα επανεκκίνηση με την παραμικρή παρεμβολή.

Πόδι CP_PD 4 (ή με άλλο τρόπο EN) - χρησιμεύει, και πάλι, για τη «σύνδεση» της μονάδας σε λειτουργία εξοικονόμησης ενέργειας, στην οποία καταναλώνει πολύ λίγο ρεύμα. Πάλι καλά - Δεν θα έβλαπτε να "πατήσετε" αυτό το πόδι με μια αντίσταση 10 kOhm στο θετικόΠιτάλοβα Στο βίντεο, βραχυκύκλωσα ανόητα αυτό το πόδι στο Vcc, επειδή δεν είχα τέτοια αντίσταση στο χέρι.

Πόδια RXD0 7 TXD0 2 - υλικό UART, το οποίο χρησιμοποιείται για αναβοσβήνει, αλλά κανείς δεν απαγορεύει τη χρήση αυτών των θυρών ως GPIO (GPIO3 και GPIO1, αντίστοιχα). Για κάποιο λόγο, το GPIO3 δεν επισημαίνεται στην εικόνα, αλλά είναι στο φύλλο δεδομένων:

Με την ευκαιρία, στο πόδι TXD0 2 το LED "Connect" είναι συνδεδεμένο και ανάβει όταν το λογικό επίπεδο στο GPIO1 είναι χαμηλό ή όταν η μονάδα στέλνει κάτι μέσω UART.

GPIO0 5 - δεν μπορεί μόνο να είναι μια θύρα I/O, αλλά και να βάλει τη μονάδα σε λειτουργία προγραμματισμού. Αυτό γίνεται με τη σύνδεση αυτής της θύρας σε ένα χαμηλό λογικό επίπεδο («πατώντας» το στο GND) και τροφοδοτώντας τη μονάδα με ρεύμα. Στο βίντεο το κάνω με ένα κανονικό κουμπί. Αφού αναβοσβήνει, μην ξεχάσετε να τραβήξετε προς τα έξω το βραχυκυκλωτήρα/πατήστε το κουμπί (δεν είναι απαραίτητο να κρατάτε πατημένο το κουμπί κατά το αναβοσβήνει· όταν είναι ενεργοποιημένο, η μονάδα μεταβαίνει σε λειτουργία προγραμματισμού και παραμένει σε αυτήν μέχρι να επανεκκινηθεί).

GPIO2 3 - θύρα εισόδου/εξόδου.

Και ένα ακόμη σημαντικό σημείο, κάθε GPIO της μονάδας Wi-Fi μπορεί να παρέχει με ασφάλεια ρεύμα έως και 6mA, για να μην το κάψετε, φροντίστε να τοποθετήσετε αντιστάσεις σε σειρά με τις θύρες εισόδου/εξόδου επάνω... Θυμηθείτε τον νόμο του Ohm R = U/I = 3,3V / 0,006 A = 550 Ohm, δηλαδή, στα 560 Ohm. Ή να το παραμελήσετε και μετά να αναρωτηθείτε γιατί δεν λειτουργεί.

Στο ESP01, όλα τα GPIO υποστηρίζουν PWM, επομένως στα τέσσερα GPIO μας, δηλαδή το GPIO0-3, μπορείτε να συνδέσετε ένα πρόγραμμα οδήγησης κινητήρα, ala L293 / L298, και να κατευθύνετε δύο κινητήρες, για παράδειγμα σκάφη, ή να κάνετε RGB Wi-Fi οτιδήποτε. Ναι, ναι, αυτή η ενότητα έχει πολλά πράγματα και για απλά έργα δεν χρειάζεται ο βιολιστής Arduino, μόνο για να αναβοσβήνει. Και αν χρησιμοποιείτε ESP07, τότε γενικά οι θύρες είναι σχεδόν ίδιες με αυτές του Uno, γεγονός που σας επιτρέπει να κάνετε με σιγουριά χωρίς Arduino. Είναι αλήθεια ότι υπάρχει μια δυσάρεστη στιγμή, το ESP01 δεν έχει καθόλου αναλογικές θύρες και το ESP07 έχει μόνο μία, που ονομάζεται ADC. Αυτό φυσικά κάνει πιο δύσκολη την εργασία με αναλογικούς αισθητήρες. Σε αυτή την περίπτωση, ένας αναλογικός πολυπλέκτης Arduino θα βοηθήσει.

Όλα φαίνεται να εξηγούνται με pinout, και εδώ είναι το διάγραμμα για τη σύνδεση του ESP8266 στο Arduino Nano:

Βλέπετε το jumper στις ακίδες RST και GND στο Arduino Nano; Αυτό είναι απαραίτητο για να μην παρεμβαίνει το Arduino στο υλικολογισμικό της μονάδας· στην περίπτωση σύνδεσης του ESP8266 με χρήση Arduino, αυτό είναι απαραίτητη προϋπόθεση.

Επίσης, αν συνδεθείτε στο Arduino, το RX της μονάδας πρέπει να πάει στο RX του arduino, TX - TX. Αυτό συμβαίνει επειδή το τσιπ μετατροπέα είναι ήδη συνδεδεμένο με τις ακίδες του Arduino σε διασταύρωση.

Επίσης σημαντικό είναι ένα ωμικό διαχωριστικό που αποτελείται από αντιστάσεις 1 kOhm και 2 kOhm (μπορεί να κατασκευαστεί από δύο αντιστάσεις 1 kOhm συνδέοντάς τις σε σειρά) κατά μήκος της γραμμής RX της μονάδας. Επειδή το Arduino είναι λογική 5 V και η μονάδα είναι 3.3. Αυτό αποδεικνύεται ότι είναι ένας πρωτόγονος μετατροπέας επιπέδου. Πρέπει να υπάρχει, επειδή τα πόδια της μονάδας RXD TXD δεν είναι ανεκτικά στα 5 V.

Λοιπόν, μπορείτε να κάνετε χωρίς Arduino εντελώς συνδέοντας το ESP8266 μέσω ενός κανονικού μετατροπέα USB-UART. Στην περίπτωση σύνδεσης στο Arduino, χρησιμοποιούμε ουσιαστικά έναν τυπικό μετατροπέα διεπαφές usbκαι uart, παρακάμπτοντας τους εγκεφάλους. Γιατί λοιπόν να ξοδέψετε επιπλέον χρήματα εάν μπορείτε να κάνετε χωρίς Arduino καθόλου; Μόνο σε αυτή την περίπτωση, συνδέουμε το RXD της μονάδας στο TXD του μετατροπέα, TXD - RXD.

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

Όλα είναι πολύ πιο απλά εδώ: συνδέστε το καλώδιο στον υπολογιστή, εγκαταστήστε τα προγράμματα οδήγησης και προγραμματίστε, απλώς μην ξεχάσετε να χρησιμοποιήσετε το βραχυκυκλωτήρα/κουμπί στο GPIO0 για να αλλάξετε τη μονάδα σε λειτουργία υλικολογισμικού.

Λοιπόν, αυτό είναι μάλλον όλο με τη θεωρία, το άρθρο αποδείχθηκε αρκετά μεγάλο και θα δημοσιεύσω το πρακτικό μέρος, ala firmware και τον προγραμματισμό της ενότητας, λίγο αργότερα.

Πώς να δοκιμάσετε το ESP8266

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

Προσοχή!Το επιτρεπόμενο εύρος τάσης τροφοδοσίας για τη μονάδα ESP8266 είναι από 3,0 έως 3,6 βολτ. Η παροχή αυξημένης τάσης τροφοδοσίας στη μονάδα είναι εγγυημένη ότι θα προκαλέσει βλάβη στο ESP8266.

Για να δοκιμάσετε το ESP8266 ESP-01, απλώς συνδέστε τρεις ακίδες: VCC και CH_PD (ενεργοποίηση chip) σε τροφοδοτικό 3,3 volt και GND στη γείωση. Εάν δεν έχετε ESP-01, αλλά μια άλλη μονάδα και έχει έξοδο GPIO15, τότε θα χρειαστεί επιπλέον να συνδέσετε το GPIO15 στη γείωση.

Εάν το εργοστασιακό υλικολογισμικό ξεκινήσει με επιτυχία στη μονάδα ESP8266, η κόκκινη λυχνία LED θα ανάψει (η ένδειξη λειτουργίας, σε ορισμένες εκδόσεις της μονάδας, για παράδειγμα ESP-12, ενδέχεται να απουσιάζει) και η μπλε λυχνία LED θα αναβοσβήνει μερικές φορές (αυτή είναι ένδειξη μεταφοράς δεδομένων από τη μονάδα στο τερματικό μέσω της γραμμής TX-RX, μπορεί να έχει διαφορετικό χρώμα) και στο δικό σας ασύρματο δίκτυοθα πρέπει να εμφανιστεί ένα νέο σημείο πρόσβασης με το όνομα "ESP_XXXX", το οποίο μπορείτε να δείτε από οποιοδήποτε Συσκευές WiFi. Το όνομα του σημείου πρόσβασης εξαρτάται από τον κατασκευαστή του υλικολογισμικού και μπορεί να είναι διαφορετικό, για παράδειγμα AI-THINKER_AXXXXC. Εάν εμφανιστεί το σημείο πρόσβασης, τότε μπορείτε να συνεχίσετε τα πειράματα περαιτέρω, εάν όχι, ελέγξτε ξανά την τροφοδοσία, CH_PD, GND και εάν όλα είναι σωστά συνδεδεμένα, τότε πιθανότατα έχετε μια ελαττωματική μονάδα, αλλά υπάρχει ελπίδα ότι η Το υλικολογισμικό στη μονάδα έχει μη τυπικές ρυθμίσεις και, ίσως το αναβοσβήνοντας θα σας βοηθήσει.

Πώς να συνδέσετε γρήγορα το ESP8266

Το ελάχιστο κιτ για τη σύνδεση και το φλας της μονάδας ESP8266 περιλαμβάνει:

Κόκκινο - Τροφοδοτικό 3,3V

Μαύρο - GND

Κίτρινο - στην πλευρά ESP8266 - RX, στην πλευρά USB-TTL - TX

Πράσινο - πλευρά ESP8266 - TX, πλευρά USB-TTL - RX

Πορτοκαλί - CH_PD (CHIP ENABLE) - πρέπει πάντα να είναι συνδεδεμένο στο ρεύμα

Μπλε - GPIO0 - συνδεδεμένο μέσω διακόπτη στη γείωση για να ενεργοποιηθεί η λειτουργία αναβοσβήνει της μονάδας. Για μια κανονική εκκίνηση της μονάδας, το GPIO0 μπορεί να μείνει συνδεδεμένο πουθενά.

Ροζ στο δεξί διάγραμμα - μη σταθεροποιημένο τροφοδοτικό 5-8 βολτ

4. Για να ξεκινήσετε τη μονάδα, σπάστε το κύκλωμα GPIO0 - GND και μπορείτε να εφαρμόσετε ρεύμα (και με αυτήν ακριβώς τη σειρά: πρώτα βεβαιωνόμαστε ότι το GPIO0 "κρέμεται στον αέρα", μετά τροφοδοτούμε με ρεύμα το VCC και το CH_PD)

Προσοχή! Στα παραπάνω, πραγματικά λειτουργικά, παραδείγματα σύνδεσης του ESP8266, χρησιμοποιούν τη σύνδεση των ακίδων ESP8266 «απευθείας» με τη γείωση και την τροφοδοσία ή «κρέμονται στον αέρα», καθώς δεν έχουμε συνδεδεμένο το RESET πουθενά, κάτι που είναι απολύτως λάθος και είναι κατάλληλο μόνο για τα πρώτα δύο πειράματα, αν και λειτουργεί αρκετά καλά στη συντριπτική πλειοψηφία των ενοτήτων. Μόνο ο ακροδέκτης VCC είναι συνδεδεμένος «απευθείας» στο τροφοδοτικό· οι υπόλοιποι ακροδέκτες: CH_PD, RESET, GPIO0, GPIO2 πρέπει να τραβήξουν προς τα πάνω (έλξη) στο τροφοδοτικό (VCC) μέσω μιας αντίστασης από 4,7 έως 50 kOhm. "Άμεσα", συνδέουμε μόνο το GND στο αρνητικό (κοινό καλώδιο) του τροφοδοτικού και τραβάμε το GPIO0 (ανασυρόμενο) επίσης μέσω μιας αντίστασης έως 10k στο GND για να θέσουμε τη μονάδα σε λειτουργία λήψης υλικολογισμικού. Εάν σκοπεύετε να συνεχίσετε να πειραματίζεστε με το ESP8266, τότε κάντε το με τον ίδιο τρόπο όπως για οποιονδήποτε άλλο μικροελεγκτή. Μια λεπτομερής περιγραφή του pullup και του pulldown ξεφεύγει από το πεδίο εφαρμογής αυτού του άρθρου, αλλά μπορείτε εύκολα να αναζητήσετε στο google την περιγραφή σωστή σύνδεσηθύρες εισόδου/εξόδου. Η σύνδεση " " θα σας επιτρέψει να αποφύγετε πολλά "θαύματα" και προβλήματα και θα είναι αναπόφευκτα απαραίτητη εάν αντιμετωπίσετε δυσκολίες κατά την εκκίνηση ή το αναβοσβήσιμο της μονάδας ESP8266.

Πώς να συνδέσετε σωστά το ESP8266

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

Διάγραμμα σύνδεσης για το ESP8266 (χωρίς αυτόματη φόρτωση του υλικολογισμικού, το αναβοσβήνουμε εγκαθιστώντας πρώτα το βραχυκυκλωτήρα BURN και επανεκκινώντας τη μονάδα)

Διάγραμμα σύνδεσης με υποστήριξη για αυτόματη φόρτωση υλικολογισμικού από Arduino IDE, UDK, Sming. Το Flash Download Tool και το XTCOM_UTIL ενδέχεται να χρειαστεί να απενεργοποιήσουν το RTS/DTR. Εάν δεν είναι βολικό για εσάς να απενεργοποιήσετε το RTS και το DTR, τότε μπορείτε να προσθέσετε βραχυκυκλωτήρες στο κύκλωμα

Αυτά τα διαγράμματα δεν δείχνουν τη σύνδεση ADC και ελεύθερων GPIO - η σύνδεσή τους θα εξαρτηθεί από το τι θέλετε να εφαρμόσετε, αλλά εάν θέλετε σταθερότητα, μην ξεχάσετε να τραβήξετε όλα τα GPIO στην τροφοδοσία (pullup) και το ADC στη γείωση (αναπτυσσόμενο ) μέσω αντιστάσεων έλξης .

Οι αντιστάσεις στα 10k μπορούν να αντικατασταθούν με άλλες από 4,7k έως 50k, με εξαίρεση το GPIO15 - η τιμή του πρέπει να είναι έως 10k. Η τιμή του πυκνωτή, που εξομαλύνει τους παλμούς υψηλής συχνότητας, μπορεί να είναι διαφορετική.

Θα χρειαστεί να συνδέσετε το RESET και το GPIO16 μέσω μιας αντίστασης βαθύ ύπνου 470 Ohm, εάν χρησιμοποιείτε τη λειτουργία βαθύ ύπνου: για έξοδο από τη λειτουργία βαθύ ύπνου, η μονάδα επανεκκινείται από μόνη της εφαρμόζοντας ένα χαμηλό επίπεδο στο GPIO16. Χωρίς αυτή τη σύνδεση, ο βαθύς ύπνος θα είναι αιώνιος για τη μονάδα σας.

Με την πρώτη ματιά, αυτά τα διαγράμματα φαίνεται να υποδηλώνουν ότι τα GPIO0, GPIO2, GPIO15, GPIO1 (TX), GPIO3 (RX) είναι απασχολημένα και δεν μπορείτε να τα χρησιμοποιήσετε για τους σκοπούς σας, αλλά αυτό δεν συμβαίνει. Ένα υψηλό επίπεδο στο GPIO0 και στο GPIO2, ένα χαμηλό επίπεδο στο GPIO15 απαιτούνται μόνο για την εκκίνηση της λειτουργικής μονάδας και στη συνέχεια μπορείτε να τα χρησιμοποιήσετε κατά την κρίση σας, απλώς θυμηθείτε να εξασφαλίσετε τα απαιτούμενα επίπεδα πριν από την επανεκκίνηση της λειτουργικής μονάδας.

Μπορείτε να χρησιμοποιήσετε τα TX, RX ως GPIO1 και GPIO3 αντίστοιχα, χωρίς να ξεχνάτε ότι όταν ξεκινήσει η μονάδα, οποιοδήποτε υλικολογισμικό θα τραβήξει το TX, στέλνοντας πληροφορίες εντοπισμού σφαλμάτων στο UART0 με ταχύτητα 74480, αλλά μετά την επιτυχή φόρτωση μπορείτε να τα χρησιμοποιήσετε όχι μόνο ως UART0 για ανταλλάσσουν δεδομένα με άλλη συσκευή, αλλά και όπως τα κανονικά GPIO.

Για μονάδες με μικρότερο αριθμό ενσύρματων ακίδων, όπως το ESP-01, δεν απαιτείται σύνδεση των ακυρωμένων ακίδων, π.χ. στο ESP-01, μόνο τα VCC, GND, GPIO0, GPIO2, CH_PD και RESET είναι ενσύρματα - απλά τα σφίγγετε. Δεν χρειάζεται να κολλήσετε απευθείας στο τσιπ ESP8266EX και να προσελκύσετε μη δρομολογημένες ακίδες, μόνο εάν το χρειάζεστε.

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

Προσοχή! Ακόμη και αυτά τα σχήματα δεν μπορούν να ονομαστούν «ιδανικά». Δεν υπάρχει όριο στην τελειότητα: είναι βολικό να συνδέσετε ένα δεύτερο USB-TTL στο UART1 (με το ESP8266 μπορείτε να πάρετε μόνο GND και UTXD1, δηλ. GPIO2) για να συνδέσετε ένα τερματικό εντοπισμού σφαλμάτων (θα χρειαστείτε έναν δεύτερο μετατροπέα USB-TTL) - τότε μπορείτε να αναβοσβήσετε τη μονάδα ESP8266 μέσω UART0 χωρίς να απενεργοποιήσετε το τερματικό εντοπισμού σφαλμάτων στο UART1. Θα ήταν καλή ιδέα να συνδέσετε μικρές αντιστάσεις στις ακίδες και των δύο UART, να βάλετε μια δίοδο στη γραμμή RTS, να προσθέσετε έναν πυκνωτή στη γραμμή τροφοδοσίας για την απόσβεση των παλμών χαμηλής συχνότητας κ.λπ. Είναι πολύ βολικό, για παράδειγμα, σε αυτόν τον πίνακα εντοπισμού σφαλμάτων: τα LED συνδέονται σε όλα τα GPIO, μια φωτοαντίσταση είναι συνδεδεμένη στο ADC, αλλά είναι κρίμα που δεν υπάρχει κουμπί RESET και υπάρχει μόνο ένας βραχυκυκλωτήρας στο GPIO0.

Θα ήταν σωστό να σας πω ότι δεν υπάρχει ιδανικό και ταυτόχρονα καθολικό σύστημαΣυνδέσεις ESP8266. Το θέμα είναι ότι πολλά εξαρτώνται από το υλικολογισμικό που πρόκειται να ανεβάσετε εκεί. Τα παραπάνω διαγράμματα έχουν σχεδιαστεί για αρχάριους που μόλις αρχίζουν να κατακτούν το ESP8266 για πειραματισμό. Για πραγματικά έργα, ίσως χρειαστεί να αλλάξετε λίγο το διάγραμμα. Για παράδειγμα, πρέπει να συνδέσετε το RTS στο GPIO15 και το CTS στο GPIO13. Συνιστώ επίσης να δίνετε ιδιαίτερη προσοχή στη διατροφή σε πραγματικά έργα.

Σύνδεση ESP8266 μέσω Arduino

Εάν δεν έχετε διαθέσιμο μετατροπέα USB-TTL 3,3 V, αλλά έχετε ένα Arduino με ενσωματωμένο μετατροπέα USB-TTL, τότε μπορείτε να χρησιμοποιήσετε αυτό το διάγραμμα σύνδεσης

Τι πρέπει να προσέξετε:

1. Το Arduino Reset συνδέεται στο GND (μπλε καλώδιο) έτσι ώστε ο μικροελεγκτής στο Arduino να μην ξεκινάει, σε αυτή τη μορφή χρησιμοποιούμε το Arduino ως διαφανή μετατροπέα USB-TTL

2. Τα RX και TX δεν συνδέονται σταυρωτά, αλλά απευθείας - RX - RX (πράσινο), TX - TX (κίτρινο)

3. Όλα τα άλλα συνδέονται με τον ίδιο τρόπο όπως στα προηγούμενα παραδείγματα

Προσοχή! Αυτό το κύκλωμα απαιτεί επίσης αντιστοίχιση των επιπέδων TTL των 5 βολτ στο Arduino και 3,3 βολτ στο ESP8266, αλλά λειτουργεί καλά με αυτόν τον τρόπο.

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

Η σύνδεση στη σειριακή θύρα θα απαιτήσει λίγη μαγεία: λόγω της ποικιλίας υλικολογισμικού για το ESP8266, η σύνδεση μπορεί να γίνει σε διαφορετικές ταχύτητες. Η απαιτούμενη ταχύτητα μπορεί να προσδιοριστεί με απλή αναζήτηση μέσω τριών επιλογών: 9600, 57600 και 115200. Πώς να κάνετε αναζήτηση; Συνδεθείτε στην εικονική σειριακή θύρα στο πρόγραμμα τερματικού ρυθμίζοντας τις ακόλουθες παραμέτρους: 9600 8N1 και, στη συνέχεια, επανεκκινήστε τη μονάδα αποσυνδέοντας το CH_PD (ενεργοποίηση chip) από το τροφοδοτικό (το USB-TTL παραμένει συνδεδεμένο στο USB) και ενεργοποιώντας το ξανά (δηλ. απλά αλλάξτε το CH_PD , γιατί δεν παραμορφώνουμε το power - διαβάστε, μπορείτε επίσης να βραχυκυκλώσετε το RESET στη γείωση για να επανεκκινήσετε τη μονάδα) και παρατηρήστε τα δεδομένα στο τερματικό. Πρώτον, οι λυχνίες LED στο ESP8266 θα πρέπει να ανάβουν όπως περιγράφεται στην αρχή του άρθρου στην ενότητα. Δεύτερον, στο τερματικό θα πρέπει να δείτε ένα "σκουπίδια" διαφορετικών χαρακτήρων που τελειώνουν με τη γραμμή "έτοιμο". Εάν δεν βλέπουμε το "έτοιμο", τότε επανασυνδέουμε το τερματικό με διαφορετική ταχύτητα και επανεκκινούμε ξανά τη μονάδα.

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

Λίγα περισσότερα για τα «σκουπίδια». Το γεγονός είναι ότι όταν ξεκινά το υλικολογισμικό, το UART της μονάδας ESP8266 αλλάζει σε ρυθμό baud 74.880 (αυτοί οι Κινέζοι είναι τόσο αστείοι), εξάγει πληροφορίες εντοπισμού σφαλμάτων στο UART και μετά αλλάζει την ταχύτητα θύρας σε 115200 (ή 9600 ή 57600, ανάλογα με την έκδοση υλικολογισμικού), άρα αυτές οι πληροφορίες εντοπισμού σφαλμάτων μας εμφανίζονται ως σκουπίδια, επειδή συνδέουμε στη μονάδα με διαφορετική ταχύτητα. Μπορείτε να συνδεθείτε στο ESP8266 με ταχύτητα 74.880 (υποστηρίζει αυτήν την ταχύτητα) και θα δείτε αυτές τις πληροφορίες εντοπισμού σφαλμάτων, θα είναι κάπως έτσι:

wdt επαναφορά φορτίου 0x40100000, len 25052, δωμάτιο 16 ουρά 12 chksum 0x0b ho 0 ουρά 12 δωμάτιο 4 φορτίο 0x3ffe8000, len 3312, δωμάτιο 12 ουρά 4 chksum 0x57, ουρά 2 chksum 0x53ffe chksum 0x0d cs um 0x0d

επαναφορά wdt

φορτίο 0x40100000 , len 25052 , δωμάτιο 16

ουρά 12

chksum 0x0b

ho 0 ουρά 12 δωμάτιο 4

φορτίο 0x3ffe8000 , len 3312 , δωμάτιο 12

Τι να κάνω μετά

Εάν έχετε μια νέα μονάδα, τότε πιθανότατα αναβοσβήνει με ένα από τα παλιά προσαρμοσμένα υλικολογισμικά AT. Πιθανότατα πρόκειται για κάποιο είδος AI-THINKER AT v0.16 SDK v0.9.2. Μπορείτε να ελέγξετε την έκδοση υλικολογισμικού χρησιμοποιώντας την εντολή "AT+GMR", π.χ. απευθείας στο πρόγραμμα τερματικού, πληκτρολογήστε AT+GMR χωρίς εισαγωγικά και πατήστε Enter. Η μονάδα πρέπει να ανταποκρίνεται "OK" και να εμφανίζει την έκδοση υλικολογισμικού (για παράδειγμα, "0016000092" - στο διαφορετικές εκδόσειςΗ μορφή εξόδου της έκδοσης υλικολογισμικού AT είναι διαφορετική). Ο έλεγχος της μονάδας ESP8266 με εντολές AT αξίζει ένα ξεχωριστό άρθρο, αλλά μπορείτε εύκολα να το καταλάβετε μόνοι σας χρησιμοποιώντας ένα από τα βιβλία αναφοράς μας για τις εντολές AT:

Τη στιγμή της σύνταξης αυτού του άρθρου, η τρέχουσα έκδοση υλικολογισμικού για το ESP8266 είναι:

Ενημέρωση υλικολογισμικού ESP8266

Η μονάδα ESP8266 είναι αξιοσημείωτη στο ότι δεν απαιτεί ειδικό προγραμματιστή - το υλικολογισμικό ενημερώνεται στο ίδιο υλικό στο οποίο συνδέετε τη μονάδα ESP8266 στον υπολογιστή, π.χ. επίσης μέσω μετατροπέα USB-TTL (ή Arduino ή RPi). Για να ενημερώσετε το υλικολογισμικό στη μονάδα ESP8266, κάντε τα εξής:

1. Λήψη νέα έκδοσηυλικολογισμικό από τον ιστότοπό μας από την ενότητα (εδώ είναι ο σύνδεσμος προς τη στιγμή της σύνταξης αυτού του άρθρου)

2. Κατεβάστε ένα από τα βοηθητικά προγράμματα για το φλας ESP8266 ανάλογα με το λειτουργικό σας σύστημα από την ενότητα στον ιστότοπό μας

Για να εργαστείτε με το RemoteXY, η μονάδα ESP8266 πρέπει να έχει έκδοση υλικολογισμικού που να υποστηρίζει εντολές AT όχι μικρότερη από την έκδοση 0.40. Για να ελέγξετε την έκδοση της μονάδας, καθώς και για να αλλάξετε το υλικολογισμικό εάν χρειάζεται, συνδέστε τη μονάδα στον υπολογιστή μέσω σειριακής θύρας. Η μονάδα μπορεί να συνδεθεί μέσω Πλακέτα Arduinoή μέσω προσαρμογέα USB-UART.

Σύνδεση μέσω πλακέτας Arduino

Όταν χρησιμοποιείτε το Arduino, το κύριο τσιπ ATmega τίθεται σε λειτουργία επαναφοράς, μόνο ο ενσωματωμένος μετατροπέας USB-UART παραμένει ενεργός. Για να γίνει αυτό, η επαφή RESET είναι συνδεδεμένη στη γείωση. Οι ακίδες RX και TX συνδέονται απευθείας στο ESP8266, αντί να διασταυρώνονται όπως θα συνέβαιναν σε συνεργασία με έναν ελεγκτή.

Σύνδεση μέσω προσαρμογέα USB-UART

Ο μετατροπέας πρέπει να έχει έξοδο πηγής 3,3 V για την τροφοδοσία του ESP8266. Επίσης, αυτή η πηγή πρέπει να παρέχει το απαιτούμενο ρεύμα τουλάχιστον 200 mA.



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

Έλεγχος της τρέχουσας έκδοσης

Για να στείλετε εντολές AT και να προβάλετε απαντήσεις, πρέπει να χρησιμοποιήσετε οποιοδήποτε πρόγραμμα παρακολούθησης σειριακή θύρα. Το πρόγραμμα τερματικού από το Arduino IDE λειτουργεί πολύ καλά. Το πρόγραμμα πρέπει να ρυθμιστεί ώστε να στέλνει εντολές με χαρακτήρα τροφοδοσίας τελικής γραμμής και χαρακτήρα επιστροφής μεταφοράς. Η προεπιλεγμένη ταχύτητα λειτουργίας της μονάδας είναι 115200 bps. Για να λειτουργήσει η μονάδα σε κανονική λειτουργία, η επαφή CPIO0 πρέπει να είναι απενεργοποιημένη.

Μπορείτε να ελέγξετε την τρέχουσα έκδοση υλικολογισμικού εκτελώντας την εντολή AT: AT+GMR. Παράδειγμα απάντησης μονάδας:

AT έκδοση:0.40.0.0 (8 Αυγούστου 2015 14:45:58)
Έκδοση SDK: 1.3.0

Δημιουργία: 1.3.0.2 Σεπ 11 2015 11:48:04
Εντάξει

Αξίζει επίσης να μάθετε το μέγεθος της μνήμης flash της μονάδας σας· οι ρυθμίσεις για τις διευθύνσεις λήψης δεδομένων κατά την ενημέρωση του υλικολογισμικού εξαρτώνται από αυτό. Αυτό το εγχειρίδιο περιγράφει το υλικολογισμικό μιας μονάδας με μέγεθος μνήμης flash 8Mbit(512KB+512KB) ή 16Mbit(1024KB+1024KB), ως το πιο συνηθισμένο. Το μέγεθος της μνήμης flash μπορεί να βρεθεί εκτελώντας την εντολή AT για επαναφορά της μονάδας: AT+RST.

Ets 8 Ιανουαρίου 2013, πρώτη αιτία:2, λειτουργία εκκίνησης:(3,1)

Φόρτωση 0x40100000, len 1396, δωμάτιο 16
ουρά 4
chksum 0x89
φορτίο 0x3ffe8000, len 776, δωμάτιο 4
ουρά 4
chksum 0xe8
φορτίο 0x3ffe8308, len 540, δωμάτιο 4
ουρά 8
chksum 0xc0
csum 0xc0

2η έκδοση εκκίνησης: 1.4(b1)
Ταχύτητα SPI: 40MHz
Λειτουργία SPI: DIO
Μέγεθος και χάρτης SPI Flash: 8 Mbit (512KB+512KB)
μεταβείτε στην εκτέλεση user1 @ 1000

#t#n"t χρησιμοποιεί δεδομένα rtc mem
slЏ‚rlМя
Ai-Thinker Technology Co., Ltd.

Πρόγραμμα υλικολογισμικού

Για να ενημερώσετε το υλικολογισμικό, πρέπει να κάνετε λήψη του προγράμματος υλικολογισμικού και του ίδιου του υλικολογισμικού. Το πρόγραμμα για το φλας του ESP8266 θα χρησιμοποιεί το Flash Download Tools v2.4 από την επίσημη ιστοσελίδα της Espressif Systems. Σύνδεσμος για τη σελίδα λήψης στον επίσημο ιστότοπο: . Πρέπει να μεταβείτε στην ενότητα "Εργαλεία".

Σύνδεσμος με το πρόγραμμα στον χώρο αποθήκευσης αρχείων μας: FLASH_DOWNLOAD_TOOLS_v2.4_150924.rar

Υλικολογισμικό

Μπορείτε επίσης να κατεβάσετε το υλικολογισμικό από τον επίσημο ιστότοπο. Σύνδεσμος για τη σελίδα λήψης στον επίσημο ιστότοπο: . Πρέπει να μεταβείτε στην ενότητα "SDKs & Demos" και να πραγματοποιήσετε λήψη της έκδοσης υλικολογισμικού ESP8266 NONOS SDK όχι μικρότερη από την έκδοση 1.3.0. Με αυτήν την έκδοση υλικολογισμικού υλοποιείται η υποστήριξη για εντολές AT v0.40 και μεταγενέστερες.

Σύνδεσμος με το υλικολογισμικό στον χώρο αποθήκευσης αρχείων μας: esp8266_nonos_sdk_v1.4.0_15_09_18_0.rar

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

Ρυθμίσεις

Εκκινήστε το πρόγραμμα Φλας firmwareΚατεβάστε το Tools v2.4 (ομώνυμο αρχείο). Στο παράθυρο που ανοίγει, πρέπει να καθορίσετε σωστά τα ληφθέντα αρχεία και τις ρυθμίσεις σύνδεσης.


Τα ληφθέντα αρχεία βρίσκονται στον κατάλογο bin του αρχείου με το υλικολογισμικό. Για κάθε αρχείο πρέπει να καθορίσετε τη σωστή διεύθυνση λήψης. Χρησιμοποιήστε τον παρακάτω πίνακα για να επιλέξετε αρχεία και να εκχωρήσετε διευθύνσεις:

Ορίστε τις ακόλουθες ρυθμίσεις:

  • SPIAutoSet - εγκατεστημένο.
  • CrystalFreq - 26M;
  • ΜΕΓΕΘΟΣ FLASH – 8 Mbit ή 16 Mbit ανάλογα με το μέγεθος της μνήμης flash.
  • COM PORT – επιλέξτε τη θύρα στην οποία είναι συνδεδεμένο το ESP.
  • BAUDRATE – 115200

Για να ξεκινήσετε το υλικολογισμικό, πρέπει να πατήσετε το κουμπί "START".

Ακολουθία βημάτων για το αναβοσβήσιμο του υλικολογισμικού ESP8266

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

2. Εκκινήστε την οθόνη σειριακής θύρας. Εκδώστε τις εντολές AT AT+RST και AT+GMR για προσδιορισμό τρέχουσα έκδοσημέγεθος υλικολογισμικού και μονάδας μνήμης. Αυτό το βήμα σάς επιτρέπει επίσης να ελέγξετε ότι η μονάδα είναι συνδεδεμένη σωστά.

3. Εκτελέστε το πρόγραμμα υλικολογισμικού Flash Download Tools, διαμορφώστε σωστά τα ληφθέντα αρχεία και ορίστε τις ρυθμίσεις.

4. Απενεργοποιήστε τη μονάδα ESP8266.

5. Συνδέστε την ακίδα CPIO0 στη γείωση.

6. Δώστε ρεύμα στη μονάδα ESP8266.

7. Πατήστε το κουμπί START στο πρόγραμμα υλικολογισμικού

8. Περιμένετε μέχρι να ολοκληρωθεί το υλικολογισμικό της μονάδας. Όταν ολοκληρωθεί το υλικολογισμικό, το μήνυμα FINISH θα εμφανιστεί με πράσινο χρώμα.

9. Αποσυνδέστε το ρεύμα από τη μονάδα ESP8266. Αποσυνδέστε τη γείωση από τον πείρο CPIO0.

10. Ενεργοποιήστε τη μονάδα, ξεκινήστε την οθόνη σειριακής θύρας. Βεβαιωθείτε ότι η μονάδα και η νέα έκδοση υλικολογισμικού λειτουργούν εκτελώντας την εντολή AT AT+GMR.

Η μονάδα Wi-Fi ESP-01 είναι η πιο δημοφιλής μονάδα της σειράς ESP8266. Η επικοινωνία με υπολογιστή ή μικροελεγκτή πραγματοποιείται μέσω UART χρησιμοποιώντας ένα σύνολο εντολών AT. Επιπλέον, η μονάδα μπορεί να χρησιμοποιηθεί ως ανεξάρτητη συσκευή· για να γίνει αυτό, πρέπει να φορτώσετε το δικό σας υλικολογισμικό σε αυτήν. Μπορείτε να προγραμματίσετε και να κάνετε λήψη υλικολογισμικού μέσω της έκδοσης Arduino IDE πάνω από την 1.6.5. Για να αναβοσβήσετε το υλικολογισμικό της μονάδας θα χρειαστείτε έναν προσαρμογέα UART-USB. Η μονάδα ESP-01 μπορεί να χρησιμοποιηθεί ευρέως σε συσκευές IoT (Internet of Things).

Προδιαγραφέςμονάδα μέτρησης

  • Wi-Fi 802.11 b/g/n
  • Λειτουργίες WiFi: πελάτης, σημείο πρόσβασης
  • ισχύς εξόδου- 19,5 dB
  • Τάση τροφοδοσίας - 1,8 -3,6 V
  • Κατανάλωση ρεύματος - 220 mA
  • Θύρες GPIO: 4
  • Συχνότητα ρολογιούεπεξεργαστής - 80 MHz
  • Χωρητικότητα μνήμης κωδικών
  • ΕΜΒΟΛΟ- 96 KB
  • Διαστάσεις - 13×21 mm

Σύνδεση

Ας εξετάσουμε τη λειτουργία εντολής AT. Για να το κάνετε αυτό, συνδέστε τη μονάδα στον υπολογιστή μέσω προσαρμογέα USB-UART. Σκοπός των ακίδων της μονάδας (βλ. Εικόνα 1):
  • VCC - +3,3 V
  • GND - γείωση
  • Καρφίτσες RX, TX - UART
  • Έξοδος CH_PD - Ενεργοποίηση τσιπ
  • GPIO0, GPIO2 - ψηφιακές επαφές
Η ενότητα απαιτεί εξωτερικό τροφοδοτικό 3,3 V.

Εικόνα 1. Εκχωρήσεις ακίδων μονάδας ESP-01

Διάγραμμα σύνδεσης για επικοινωνία με τη μονάδα σε λειτουργία εντολών AT (Εικόνα 2):

Εικόνα 2. Διάγραμμα σύνδεσης της μονάδας ESP-01 σε υπολογιστή μέσω σειριακής θύρας

Εικόνα 3. Κύκλωμα συναρμολόγησης

Για να στείλετε εντολές AT σε Mac OS X, μπορείτε να χρησιμοποιήσετε το πρόγραμμα CoolTerm στο λειτουργικό σύστημα Πρόγραμμα WindowsΤερμίτης. Μπορείτε να μάθετε την ταχύτητα της θύρας COM για σύνδεση στη μονάδα μόνο πειραματικά· μπορεί να είναι διαφορετική για διαφορετικό υλικολογισμικό. Για τη μονάδα μου η ταχύτητα αποδείχθηκε ότι ήταν 9600 baud. Επιπλέον, ήταν δυνατή η πραγματοποίηση ανταλλαγής μόνο μετά την αποσύνδεση και επανασύνδεση του ακροδέκτη CH_PD στο τροφοδοτικό. Μετά τη σύνδεση, πληκτρολογήστε AT στο τερματικό και θα λάβετε μια απάντηση ΟΚ από τη μονάδα. Η εντολή AT+GMR δίνει τον αριθμό έκδοσης υλικολογισμικού της μονάδας, η εντολή AT+RST επανεκκινεί τη μονάδα (βλ. Εικ. 4). Μια λίστα βασικών εντολών AT μπορεί να βρεθεί σε αυτό το έγγραφο (ESP8266ATCommandsSet.pdf).

Εικόνα 4. Αποστολή εντολών AT στη μονάδα από το Termite

Εάν η λειτουργία εντολών AT δεν είναι βολική για εσάς, η πλακέτα μπορεί να διαμορφωθεί χρησιμοποιώντας το πρόγραμμα AppStack ESP8266 Config, το οποίο μπορείτε να λάβετε από τη σύνδεση http://esp8266.ru/download/esp8266-utils/ESP8266_Config.zip. ΕμφάνισηΤο πρόγραμμα παρουσιάζεται στην Εικόνα 5. Η μονάδα έχει ρυθμιστεί χρησιμοποιώντας GUI, ενώ η εκτέλεση των εντολών φαίνεται στην οθόνη του προγράμματος (βλ. Εικ. 6). Η οθόνη μπορεί επίσης να στείλει εντολές AT από τη γραμμή εντολών.

Εικόνα 5. Πρόγραμμα διαμόρφωσης AppStack ESP8266

Εικόνα 6. Σειριακή οθόνη του προγράμματος AppStack ESP8266 Config

Υπάρχουν δύο επιλογές για τη χρήση αυτής της ενότητας:

  • σε συνδυασμό με έναν μικροελεγκτή (για παράδειγμα Arduino), ο οποίος θα ελέγχει τη μονάδα μέσω UART.
  • γράφοντας το δικό σας υλικολογισμικό για να χρησιμοποιήσετε το ESP8266 ως αυτόνομη συσκευή.

Παράδειγμα χρήσης

Ας δούμε ένα παράδειγμα σύνδεσης ενός αισθητήρα υγρασίας και θερμοκρασίας DHT11 στη μονάδα ESP-01 και αποστολή δεδομένων σε υπηρεσία cloud ThingSpeak (https://thingspeak.com/). Θα χρειαστούμε τα ακόλουθα μέρη:
  • μονάδα ESP-01
  • σανίδα ψωμιού
  • αισθητήρας υγρασίας και θερμοκρασίας DHT11
  • αντίσταση 10 kOhm
  • καλώδια σύνδεσης
  • τροφοδοτικό 3 - 3,6V
Αρχικά, ας συνδέσουμε τον αισθητήρα DS18B20 στη μονάδα ESP-01. Το DS18B20 είναι ένας ψηφιακός αισθητήρας θερμοκρασίας που λειτουργεί μέσω μιας διασύνδεσης 1-Wire μονού καλωδίου. Το διάγραμμα σύνδεσης του αισθητήρα DS18B20 στη μονάδα φαίνεται στην Εικ. 7.

Εικόνα 7. Διάγραμμα σύνδεσης του αισθητήρα DHT11 στη μονάδα ESP-01.

Στη συνέχεια, πρέπει να δημιουργήσετε ένα προφίλ στην υπηρεσία ThingSpeak. Η υπηρεσία έχει οδηγίες για την αποστολή δεδομένων στην υπηρεσία και τη λήψη δεδομένων από την υπηρεσία.

Εικόνα 8. Πλήρες κύκλωμα.

Θα γράψουμε το πρόγραμμα Περιβάλλον Arduino IDE για ESP8266. Θα χρησιμοποιήσουμε τις βιβλιοθήκες ESP8266WiFi.h (ενσωματωμένη) και OneWire.h. Ας ανεβάσουμε το σκίτσο από τη Λίστα 1 στην πλακέτα Arduino - λήψη δεδομένων από τον αισθητήρα θερμοκρασίας και αποστολή των δεδομένων στην υπηρεσία ThingSpeak. Πρέπει να εισάγετε τα στοιχεία σας στο Σημεία WiFiπρόσβαση για μονάδα ESP-01:

  • const char *ssid;
  • const char *password;
καθώς και την παράμετρο privateKey για την εφαρμογή σας στην υπηρεσία ThingSpeak. Καταχώριση 1 // ιστότοπος // Συμπεριλάβετε τη βιβλιοθήκη για εργασία με το esp8266 #include // Συμπεριλάβετε τη βιβλιοθήκη DHT για εργασία με το DHT11 #include // Καρφίτσα σύνδεσης DATA pin #define DHTPIN 4 // DHT11 sensor #define DHTTYPE DHT11 // δημιουργία παρουσίας ενός αντικειμένου DHT DHT dht(DHTPIN, DHTTYPE); //ssid Δίκτυα WiFiσυνδέσεις const char ssid = "********"; // Κωδικός πρόσβασης WiFiδίκτυα σύνδεσης const char κωδικός = "*******"; // Διακομιστής ThingSpeak const char* host = "184.106.153.149"; // ΚΛΕΙΔΙ API της εφαρμογής ThingSpeak const char* privateKey = "****************"; // μεταβλητές για την αποθήκευση θερμοκρασίας και υγρασίας. υγρασία πλωτήρα // μεταβλητή για το διάστημα μέτρησης unsigned long millis_int1=0; void setup() ( // εκκίνηση της σειριακής θύρας Serial.begin(115200); delay(10); Serial.print("Connect to WiFi"); Serial.println(ssid); // Σύνδεση μέσω WiFi WiFi.begin( ssid , κωδικός πρόσβασης); while (WiFi.status() != WL_CONNECTED) ( delay(500); ) Serial.println("WiFi συνδεδεμένο"); // start dht dht.begin(); ) void loop() ( / / περιμένετε για ένα διάστημα 10 λεπτών if(milis()-millis_int1>=10*60000) ( Serial.print("connect to ThingSpeak"); Serial.println(host); // Χρήση του προγράμματος-πελάτη WiFi WiFiClient; εάν (!client.connect (host, 80)) ( Serial.println("η σύνδεση απέτυχε"); επιστροφή; ) // λήψη δεδομένων θερμοκρασίας θερμοκρασία = get_data_temperature(); humidity = get_data_humidity(); // Δημιουργία διεύθυνσης URL με αίτημα για τον διακομιστή String url = "/ update?key="; url += privateKey; url += "&temp="; url += temp; url += "&humidity="; url += humidity; // Αποστολή αιτήματος στον διακομιστή client.print(String(" GET ") + url + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Σύνδεση: κλείσιμο\r\n\r \n"); καθυστέρηση (10); // Απόκριση διακομιστή ThingSpeak while(client.available())( String req = client.readStringUntil("\r"); Serial.print(req); ) ) Τώρα στην υπηρεσία ThingSpeak μπορούμε να προβάλουμε ένα γράφημα των ενδείξεων του αισθητήρα θερμοκρασίας DHT11 (Εικόνα 9).

Εικόνα 9. Γράφημα των μετρήσεων του αισθητήρα θερμοκρασίας DS18B20 στην υπηρεσία ThingSpeak.

Συχνές ερωτήσεις FAQ

1. Η μονάδα δεν ανταποκρίνεταιεντολές AT
  • Ελέγξτε ότι η μονάδα είναι συνδεδεμένη σωστά.
  • Ελέγξτε τη σωστή σύνδεση των επαφών Rx, Tx στον προσαρμογέα UART-USB.
  • Ελέγξτε τη σύνδεση του ακροδέκτη CH_PD στα 3,3 V.
  • Επιλέξτε πειραματικά την ταχύτητα επικοινωνίας στη σειριακή θύρα.
2. Η μονάδα ESP-01 δεν λαμβάνει δεδομένα θερμοκρασίας από τον αισθητήραDHT11
  • Ελέγξτε ότι ο αισθητήρας DHT11 είναι σωστά συνδεδεμένος στη μονάδα.
3. Τα δεδομένα δεν μεταφέρονται στην υπηρεσία ThingSpeak
  • Ελέγξτε τη σύνδεση της μονάδας με το σημείο πρόσβασης WiFi.
  • Ελέγξτε τη σύνδεση του σημείου πρόσβασης WiFi στο Διαδίκτυο.
  • Ελέγξτε ότι το αίτημα προς την υπηρεσία ThingSpeak είναι σωστό.

Πολλοί χρήστες έχουν ήδη στρέψει την προσοχή τους στο τσιπ ESP8266-12, που κυκλοφόρησε από την Espressif. Το κόστος του είναι σημαντικά φθηνότερο σε σύγκριση με μια τυπική πλακέτα προσαρμογέα Bluetooth και παρά τις μικρότερες διαστάσεις της, έχει σημαντικά μεγαλύτερες δυνατότητες. Τώρα όλοι οι χομπίστες του σπιτιού έχουν την ευκαιρία να εργαστούν Δίκτυα Wi-Fiσε δύο λειτουργίες ταυτόχρονα, δηλαδή συνδέστε τον υπολογιστή σας σε οποιαδήποτε σημεία πρόσβασης ή ενεργοποιήστε τον ως τέτοιο σημείο.

Από την άλλη πλευρά, πρέπει να κατανοήσετε σωστά ότι τέτοιες πλακέτες δεν είναι απλώς ασπίδες που προορίζονται μόνο για επικοινωνία Wi-Fi. Το ίδιο το ESP8266 είναι ένας μικροελεγκτής που έχει τις δικές του διασυνδέσεις UART, GPIO και SPI, δηλαδή μπορεί να χρησιμοποιηθεί ως εντελώς αυτόνομος εξοπλισμός. Μετά την κυκλοφορία αυτού του τσιπ, πολλοί το ονόμασαν πραγματική επανάσταση και με την πάροδο του χρόνου, τέτοιες συσκευές θα αρχίσουν να ενσωματώνονται ακόμη και στα πιο απλοί τύποιτεχνολογίας, αλλά μέχρι στιγμής η συσκευή είναι σχετικά νέα και δεν υπάρχει σταθερό υλικολογισμικό για αυτήν. Πολλοί ειδικοί σε όλο τον κόσμο προσπαθούν να εφεύρουν το δικό τους υλικολογισμικό, επειδή η μεταφόρτωσή τους στον πίνακα δεν είναι στην πραγματικότητα δύσκολη, αλλά παρά τις διάφορες δυσκολίες, η συσκευή μπορεί ήδη να ονομαστεί αρκετά κατάλληλη για εργασία.

Προς το παρόν, εξετάζονται μόνο δύο επιλογές για τη χρήση αυτής της ενότητας:

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

Είναι πολύ φυσικό να το σκεφτούμε ανεξάρτητο υλικολογισμικόσε αυτή την περίπτωση δεν θα το κάνουμε.

Κοιτάζοντας την ευκολία χρήσης και καλά χαρακτηριστικά, πολλοί άνθρωποι μεταξύ των πολλών μικροελεγκτών δίνουν την προτίμησή τους στο μοντέλο ESP8266. Σύνδεση και ενημέρωση υλικολογισμικού αυτής της συσκευήςείναι εξαιρετικά απλό και προσιτό και παράγεται στο ίδιο υλικό στο οποίο είναι συνδεδεμένος ο εξοπλισμός στον υπολογιστή. Δηλαδή και μέσω μετατροπέα USB-TTL ή, αν κάποιος προτιμά άλλες επιλογές σύνδεσης, μπορεί να γίνει μέσω RPi και Arduino.

Πώς να ελέγξετε;

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

Για να προσδιορίσετε τη λειτουργικότητα αυτού του μοντέλου μικροελεγκτή, πρέπει απλώς να συνδέσετε τρεις ακίδες:

  • Τα CH_PD και VCC συνδέονται στην τροφοδοσία 3,3 volt.
  • Το GND συνδέεται με τη γείωση.

Εάν δεν χρησιμοποιείτε το ESP-01, αλλά κάποια άλλη μονάδα και έχει ήδη αρχικά έξοδο GPIO15, τότε σε αυτήν την περίπτωση θα χρειαστεί να τη συνδέσετε επιπλέον στη γείωση.

Εάν το εργοστασιακό υλικολογισμικό ξεκίνησε κανονικά, τότε σε αυτήν την περίπτωση μπορείτε να δείτε και στη συνέχεια το μπλε φως θα αναβοσβήσει μερικές φορές. Ωστόσο, αξίζει να σημειωθεί ότι δεν έχουν όλες οι συσκευές της σειράς ESP8266 κόκκινη ένδειξη τροφοδοσίας. Το υλικολογισμικό σε ορισμένες συσκευές δεν προβλέπει ότι η κόκκινη ένδειξη ανάβει εάν η μονάδα δεν διαθέτει (ιδίως, αυτό ισχύει για το μοντέλο ESP-12).

Μόλις συνδεθείτε, ένα νέο σημείο πρόσβασης θα ενεργοποιηθεί στο ασύρματο δίκτυό σας, το οποίο θα ονομάζεται ESP_XXXX και θα είναι ανιχνεύσιμο από οποιαδήποτε συσκευή έχει πρόσβαση σε Wi-Fi. Σε αυτήν την περίπτωση, το όνομα του σημείου πρόσβασης εξαρτάται άμεσα από τον κατασκευαστή του υλικολογισμικού που χρησιμοποιείτε και επομένως μπορεί να είναι κάτι διαφορετικό.

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

Πώς να το συνδέσετε γρήγορα;

Το τυπικό κιτ που απαιτείται για τη σύνδεση αυτής της μονάδας περιλαμβάνει τα εξής:

  • η ίδια η ενότητα.
  • breadboard χωρίς συγκόλληση?
  • ένα πλήρες σετ συρμάτων θηλυκών-αρσενικών που προορίζονται για μια πλάκα ψωμιού ή ένα ειδικό καλώδιο DUPONT M-F.
  • Μετατροπέας USB-TTL που βασίζεται σε PL2303, FTDI ή κάποιο παρόμοιο τσιπ. Η καλύτερη επιλογή είναι εάν τα RTS και DTR εξάγονται επίσης στον προσαρμογέα USB-TTL, καθώς λόγω αυτού μπορείτε να επιτύχετε αρκετά γρήγορη φόρτωση του υλικολογισμικού από κάποιο UDK, Arduino IDE ή Sming, χωρίς καν να χρειάζεται να αλλάξετε χειροκίνητα το GPIO0 στη γείωση.

Εάν χρησιμοποιείτε μετατροπέα 5 βολτ, τότε σε αυτήν την περίπτωση θα χρειαστεί να αγοράσετε έναν πρόσθετο σταθεροποιητή ισχύος με βάση το τσιπ 1117 ή κάποιο παρόμοιο, καθώς και μια πηγή ενέργειας (για ένα τυπικό 1117, ακόμη και ένα συνηθισμένο 5- ο φορτιστής smartphone volt είναι αρκετά κατάλληλος). Συνιστάται να μην χρησιμοποιείτε το Arduino IDE ή το USB-TTL ως πηγή τροφοδοσίας για το ESP8266, αλλά να χρησιμοποιήσετε ένα ξεχωριστό, καθώς αυτό μπορεί τελικά να απαλλαγεί από πολλά προβλήματα.

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

Τι πρέπει να κάνουμε?

Πρώτα απ 'όλα, αξίζει να σημειωθεί το γεγονός ότι στο ESP8266 τα χειριστήρια μπορεί να είναι ελαφρώς διαφορετικά ανάλογα με το συγκεκριμένο μοντέλο που χρησιμοποιείτε. Υπάρχουν πολλές τέτοιες ενότητες διαθέσιμες σήμερα και το πρώτο πράγμα που θα χρειαστείτε είναι να προσδιορίσετε το μοντέλο που χρησιμοποιείτε και να αποφασίσετε για το pinout του. Σε αυτήν την οδηγία θα μιλήσουμε για την εργασία με τη μονάδα ESP8266 ESP-01 V090 και εάν χρησιμοποιείτε κάποιο άλλο μοντέλο με ακροδέκτη GPIO15 (HSPICS, MTDO), θα πρέπει να το τραβήξετε στο έδαφος και για την τυπική εκκίνηση του τη μονάδα και για να χρησιμοποιήσετε τη λειτουργία υλικολογισμικού.

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

Εάν χρησιμοποιείτε μετατροπέα USB-TTL 3,3 volt, συνδέστε τη μονάδα ακριβώς όπως στην αριστερή πλευρά της παρακάτω εικόνας. Εάν χρησιμοποιείτε αποκλειστικά USB-TTL πέντε βολτ, τότε δώστε προσοχή στη δεξιά πλευρά του σχήματος. Μπορεί σε πολλούς να φαίνεται ότι το σωστό κύκλωμα είναι πιο αποδοτικό λόγω του γεγονότος ότι χρησιμοποιεί ξεχωριστή πηγή τροφοδοσίας, αλλά στην πραγματικότητα, στην περίπτωση χρήσης μετατροπέα USB-TTL 5 volt, είναι πολύ επιθυμητό να γίνει επίσης πρόσθετος διαχωριστής αντίστασης για να διασφαλιστεί η αντιστοίχιση των λογικών επιπέδων τριών βολτ και πέντε βολτ ή απλώς χρησιμοποιήστε τη μονάδα μετατροπής στάθμης.

Χαρακτηριστικά σύνδεσης

Η δεξιά εικόνα δείχνει τη σύνδεση του UTXD (TX), καθώς και του URXD (RX) αυτής της μονάδας με τη λογική TTL πέντε volt, και τέτοιες διαδικασίες εκτελούνται μόνο με δική σας ευθύνη και κίνδυνο. Για το ESP8266, η περιγραφή λέει ότι η μονάδα λειτουργεί αποτελεσματικά μόνο με λογική 3,3 volt. Στη συντριπτική πλειονότητα των περιπτώσεων, ακόμη και όταν εργάζεστε με λογική πέντε βολτ, ο εξοπλισμός δεν αποτυγχάνει, αλλά τέτοιες καταστάσεις εμφανίζονται περιστασιακά, επομένως δεν συνιστάται μια τέτοια σύνδεση.

Εάν δεν έχετε την ευκαιρία να χρησιμοποιήσετε έναν εξειδικευμένο μετατροπέα USB-TTL 3,3 volt, μπορείτε να χρησιμοποιήσετε ένα διαχωριστικό αντίστασης. Αξίζει επίσης να σημειωθεί ότι στη σωστή εικόνα, ο σταθεροποιητής ισχύος 1117 συνδέεται χωρίς πρόσθετη καλωδίωση και αυτή είναι μια πραγματικά λειτουργική τεχνολογία, αλλά είναι ακόμα καλύτερο να χρησιμοποιήσετε το διάγραμμα σύνδεσης 1117 με καλωδίωση πυκνωτή - πρέπει να το ελέγξετε με το φύλλο δεδομένων ESP8266 για τον σταθεροποιητή σας ή χρησιμοποιήστε το πλήρως έτοιμη ενότητα, με βάση τη βάση 1117.

Για να ξεκινήσετε τη μονάδα, πρέπει να ανοίξετε το κύκλωμα GPIO0-TND, μετά από το οποίο μπορείτε να εφαρμόσετε τροφοδοσία. Αξίζει να σημειωθεί ότι όλα πρέπει να γίνουν ακριβώς με αυτήν τη σειρά, δηλαδή, πρώτα βεβαιωθείτε ότι το GPIO0 "κρέμεται στον αέρα" και μόνο στη συνέχεια εφαρμόστε τροφοδοσία στο CH_PD και το VCC.

Πώς να συνδεθείτε σωστά;

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

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

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

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

Με την πρώτη ματιά, μπορεί να φαίνεται ότι τα GPIO0, GPIO1 (TX), GPIO2, GPIO3 (RX) και GPIO15 είναι απασχολημένα, επομένως δεν θα μπορείτε να τα χρησιμοποιήσετε για τους σκοπούς σας, αλλά στην πραγματικότητα αυτό απέχει πολύ από την περίπτωση. Ένα επαρκώς υψηλό επίπεδο στο GPIO0 και στο GPIO2, καθώς και ένα χαμηλό επίπεδο στο GPIO15, ενδέχεται να απαιτείται μόνο για την αρχική εκκίνηση της μονάδας και στο μέλλον μπορείτε να τα χρησιμοποιήσετε κατά την κρίση σας. Το μόνο που αξίζει να σημειωθεί είναι να θυμάστε να διασφαλίζετε τα απαιτούμενα επίπεδα πριν πραγματοποιήσετε πλήρη επαναφορά του εξοπλισμού σας.

Μπορείτε επίσης να χρησιμοποιήσετε τα TX, RX ως εναλλακτικά των GPIO1 και GPIO3, αλλά μην ξεχνάτε ότι μετά την εκκίνηση της μονάδας, κάθε υλικολογισμικό αρχίζει να «τραβάει» TX, ενώ ταυτόχρονα στέλνει πληροφορίες εντοπισμού σφαλμάτων στο UART0 με ταχύτητα 74480, αλλά μετά την Η λήψη θα είναι επιτυχής, μπορούν να χρησιμοποιηθούν όχι μόνο ως UART0 για την ανταλλαγή δεδομένων με άλλη συσκευή, αλλά και ως τυπικά GPIO.

Για μονάδες που έχουν μικρό αριθμό ενσύρματων ακίδων (για παράδειγμα, ESP-01), δεν υπάρχει ανάγκη σύνδεσης ακύρων που δεν έχουν ολοκληρωθεί, δηλαδή μόνο τα GND, CH_PD, VCC, GPIO0, GPIO2 και RESET είναι ενσύρματα στο ESP-01 , και αυτό είναι που χρειάζεστε θα πρέπει να σφίξετε. Δεν χρειάζεται να κολλήσετε απευθείας στο τσιπ ESP8266EX και στη συνέχεια να τραβήξετε τις γυμνές καρφίτσες εκτός και αν το χρειάζεστε πραγματικά.

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

Σύνδεση μέσω Arduino

Εάν για κάποιο λόγο δεν διαθέτετε μετατροπέα USB-TTL 3,3 volt, τότε η μονάδα WiFi ESP8266 μπορεί να συνδεθεί μέσω Arduino με ενσωματωμένο μετατροπέα. Εδώ θα πρέπει πρώτα να στρέψετε την προσοχή σας σε τρία βασικά στοιχεία:

  • Όταν χρησιμοποιείται με το ESP8266, το Arduino Reset συνδέεται αρχικά με το GND για να αποτρέψει την εκκίνηση του μικροελεγκτή και σε αυτή τη μορφή χρησιμοποιήθηκε ως διαφανής μετατροπέας USB-TTL.
  • Το RX και το TX δεν συνδέθηκαν "στο σταυροδρόμι", αλλά απευθείας - RX-RX (πράσινο), TX-TX (κίτρινο).
  • Όλα τα άλλα συνδέονται ακριβώς όπως περιγράφεται παραπάνω.

Τι να λάβετε υπόψη

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

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

Υπάρχει επίσης ένα άλλο σχέδιο σύνδεσης ESP8266 και Arduino που χρησιμοποιεί SoftSerial. Επειδή για τη βιβλιοθήκη SoftSerial η ταχύτητα θύρας 115200 είναι πολύ υψηλή και δεν μπορεί να εγγυηθεί σταθερή λειτουργία, αυτή η μέθοδος σύνδεσης δεν συνιστάται, αν και υπάρχουν ορισμένες περιπτώσεις στις οποίες όλα λειτουργούν αρκετά σταθερά.

Σύνδεση μέσω RaspberryPi

Αν δεν έχετε κανένα Μετατροπείς USB-TTL, τότε σε αυτήν την περίπτωση μπορείτε να χρησιμοποιήσετε το RaspberryPi. Σε αυτήν την περίπτωση, για το ESP8266, ο προγραμματισμός και η σύνδεση εκτελούνται σχεδόν πανομοιότυπα, αλλά όλα εδώ δεν είναι τόσο βολικά και επιπλέον θα χρειαστεί να χρησιμοποιήσετε επίσης έναν σταθεροποιητή ισχύος 3,3 volt.

Αρχικά, συνδέουμε τα RX, TX και GND της συσκευής μας στο ESP8266 και παίρνουμε GND και VCC από αυτό που έχει σχεδιαστεί για 3,3 βολτ. Εδώ, πρέπει να δοθεί ιδιαίτερη προσοχή στο γεγονός ότι πρέπει να συνδέσετε όλες τις συσκευές GND, δηλαδή τον σταθεροποιητή RaspberryPi και το ESP8266. Εάν ο ενσωματωμένος σταθεροποιητής στο μοντέλο της συσκευής σας μπορεί να αντέξει έως και 300 milliamps πρόσθετου φορτίου, τότε σε αυτήν την περίπτωση η σύνδεση του ESP8266 είναι απολύτως φυσιολογική, αλλά όλα αυτά γίνονται μόνο με δικό σας κίνδυνο και κίνδυνο.

Ρύθμιση παραμέτρων

Αφού καταλάβετε πώς να συνδέσετε το ESP8266, πρέπει να βεβαιωθείτε ότι τα προγράμματα οδήγησης για τις συσκευές σας έχουν εγκατασταθεί σωστά, με αποτέλεσμα να έχει προστεθεί μια νέα εικονική σειριακή θύρα στο σύστημα. Εδώ θα χρειαστεί να χρησιμοποιήσετε ένα πρόγραμμα - ένα τερματικό σειριακής θύρας. Κατ 'αρχήν, μπορείτε να επιλέξετε οποιοδήποτε βοηθητικό πρόγραμμα για να ταιριάζει με το γούστο σας, αλλά πρέπει να καταλάβετε σωστά ότι κάθε εντολή που στέλνετε στη σειριακή θύρα πρέπει να έχει τους χαρακτήρες CR+LF στο τέλος.

Τα βοηθητικά προγράμματα CoolTerm και ESPlorer είναι αρκετά διαδεδομένα και το τελευταίο σας επιτρέπει να μην εισάγετε μόνοι σας το ESP8266 και ταυτόχρονα διευκολύνει την εργασία με σενάρια lua στο NodeMCU, ώστε να μπορεί να χρησιμοποιηθεί ως τυπικό τερματικό.

Για να συνδεθείτε κανονικά, θα πρέπει να κάνετε πολλή δουλειά, καθώς το υλικολογισμικό για το ESP8266 είναι ως επί το πλείστον ποικίλο και η ενεργοποίηση μπορεί να πραγματοποιηθεί σε διαφορετικές ταχύτητες. Για να αποφασίσετε για τα περισσότερα η καλύτερη επιλογή, θα χρειαστεί να περάσετε από τρεις κύριες επιλογές: 9600, 57600 και 115200.

Πώς να ταξινομήσετε;

Για να ξεκινήσετε, συνδεθείτε στην εικονική σειριακή θύρα του προγράμματος τερματικού, ρυθμίζοντας τις παραμέτρους σε 9600 8N1 και, στη συνέχεια, εκτελέστε μια πλήρη επανεκκίνηση της μονάδας, αποσυνδέοντας το CH_PD (ενεργοποίηση τσιπ) από την τροφοδοσία και, στη συνέχεια, ενεργοποιήστε το ξανά με τράνταγμα CH_PD. Μπορείτε επίσης να εκτελέσετε μια σύντομη RESET στη γείωση για να επαναφέρετε τη μονάδα και να παρατηρήσετε τα δεδομένα στο τερματικό.

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

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

Πώς να ενημερώσετε το υλικολογισμικό;

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

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

Για τυπικά λειτουργικά συστήματα Windows, θα ήταν βέλτιστο να χρησιμοποιήσετε ένα πρόγραμμα που ονομάζεται XTCOM UTIL, το οποίο είναι ιδιαίτερα βολικό στη χρήση εάν το υλικολογισμικό αποτελείται από ένα μόνο αρχείο. Η καλύτερη επιλογή πολλαπλών πλατφορμών είναι το βοηθητικό πρόγραμμα esptool, το οποίο, ωστόσο, απαιτεί python, καθώς και την ανάγκη καθορισμού παραμέτρων μέσω γραμμή εντολών. Επιπλέον, το ESP8266 σάς επιτρέπει να συνδέετε εύκολα τις κύριες λειτουργίες με το Flash Download Tool, το οποίο διαθέτει έναν αρκετά μεγάλο αριθμό ρυθμίσεων, καθώς και μια βολική τεχνολογία για την εγκατάσταση υλικολογισμικού από πολλά αρχεία.

Στη συνέχεια, αποσυνδέστε το πρόγραμμα του τερματικού σας από τη σειριακή θύρα και επίσης αποσυνδέστε εντελώς το CH_PD από την παροχή ρεύματος, συνδέστε το GPIO0 της μονάδας στο GND και μετά από αυτό το CH_PD μπορεί να επιστραφεί πίσω. Τελικά, απλώς εκτελέστε το αρθρωτό πρόγραμμα υλικολογισμικού και φορτώστε το στο ρελέ ESP8266.

Στη συντριπτική πλειονότητα των περιπτώσεων, το υλικολογισμικό φορτώνεται στη μονάδα με ταχύτητα περίπου 115200, αλλά μια ειδική λειτουργία παρέχει αυτόματη κατανομή ταχύτητας, ως αποτέλεσμα της οποίας το υλικολογισμικό μπορεί να εκτελεστεί με ταχύτητα μεγαλύτερη από 9600, ενημερώνοντας τις διαθέσιμες λειτουργίες του ESP8266. Το Arduino χρησιμοποιήθηκε για σύνδεση ή USB-TTL - δεν παίζει ιδιαίτερο ρόλο εδώ και εδώ η μέγιστη ταχύτητα εξαρτάται ήδη από το μήκος των καλωδίων, τον μετατροπέα που χρησιμοποιείται και πολλούς άλλους παράγοντες.