Διάγραμμα καλωδίωσης Esp 01. Μονάδα Wifi που βασίζεται στο τσιπ ESP8266. Μετατροπέας USB σε TTL χρησιμοποιώντας υποδοχή DTR

... Γενικά, αυτό το υλικό δεν περιορίζεται σε ένα μόνο θέμα του Arduino.

Το θέμα του ESP8266 είναι αρκετά δύσκολο. Ωστόσο, εάν εργάζεστε με αυτές τις μονάδες Wi-Fi στο περιβάλλον ανάπτυξης Arduino IDE, το όριο εισόδου πέφτει σε ένα επίπεδο αποδεκτό για τον μέσο χρήστη του Arduino. Και όχι μόνο ο τύπος του Arduino, αλλά κάθε άτομο που έχει την επιθυμία να δημιουργήσει κάτι για το θέμα του IoT (Internet of Things) και χωρίς να ξοδέψει πολύ χρόνο διαβάζοντας την τεκμηρίωση για το τσιπ και μελετώντας το API για αυτές τις ενότητες.

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

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

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

Αρχικά, πραγματοποιήστε λήψη από τον επίσημο ιστότοπο τελευταία έκδοση Arduino IDE, ενεργοποιημένο αυτή τη στιγμήαυτό είναι 1.6.7. Παλαιότερες εκδόσεις όπως η 1.0.5. δεν θα ταιριάζουν γιατί απλά δεν έχουν την απαραίτητη λειτουργικότητα και ο χορός με ντέφι δεν μας ενδιαφέρει, σωστά;

Εκκινούμε το περιβάλλον ανάπτυξης και πηγαίνουμε αμέσως στο Αρχείο/Ρυθμίσεις:

Http://arduino.esp8266.com/stable/package_esp8266com_index.json

Στη συνέχεια, μεταβείτε στο Εργαλεία/Πίνακας:/Διαχειριστής Πίνακα...:

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

Κάντε κλικ στον κέρσορα στην επιγραφή " esp8266με Κοινότητα ESP8266"μετά από αυτό, έχουμε ένα κουμπί "Εγκατάσταση", επιλέξτε την έκδοση που θέλετε, παίρνω την πιο πρόσφατη, σήμερα είναι 2.1.0 και την εγκαθιστώ. Το περιβάλλον ανάπτυξης θα κατεβάσει τα αρχεία που χρειάζεται (περίπου 150 megabyte) και απέναντι από το επιγραφή " esp8266με Κοινότητα ESP8266Θα εμφανιστεί το "INSTALLED", δηλαδή εγκατεστημένο:

Κάνουμε κύλιση προς τα κάτω στη λίστα με τις πλακέτες και βλέπουμε ότι έχουμε πολλά διαφορετικά ESP στη λίστα, πάρτε το "Generic ESP8266 Module":

Μεταβείτε στα "Εργαλεία" και επιλέξτε την επιθυμητή θύρα COM (για μένα είναι ο μετατροπέας COM32) Arduino ή USB UART και, στη συνέχεια, ορίστε την Ταχύτητα Μεταφόρτωσης: "115200":

Ρυθμίσαμε την ταχύτητα στο 74880 και "NL & CR" και πάλι απενεργοποιούμε και εφαρμόζουμε τροφοδοσία και θα ανταποκριθεί με ορισμένες πληροφορίες εντοπισμού σφαλμάτων:

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

Από προεπιλογή, η ταχύτητα πρέπει να είναι 115200, αλλά σε ορισμένες περιπτώσεις μπορεί να είναι 9600 και άλλες... Προσπάθησε λοιπόν να τη βρεις.

Αφού επιλέξουμε την απαιτούμενη ταχύτητα, στέλνουμε τη μονάδα "AT" και θα πρέπει να απαντήσει ότι όλα είναι "OK". Η εντολή "AT+GMR" εμφανίζει πληροφορίες σχετικά με το υλικολογισμικό.

Πριν ξεκινήσετε να αναβοσβήνει το ESP8266 in Arduino IDEΣας συμβουλεύω να διαβάσετε το άρθρο μέχρι το τέλος.

Τώρα ας προσπαθήσουμε να αναβοσβήσουμε το ESP8266 μέσω του Arduino IDE. Βάζουμε τη μονάδα σε λειτουργία προγραμματισμού (έγραψα πώς να το κάνω αυτό σε προηγούμενο άρθρο).

Ας προσθέσουμε ένα τυπικό LED στο φλας:

// Από τον κ. PodelkinTs youtube.com/RazniePodelki // ειδικό στο geektimes.ru/post/271754/ #define TXD 1 // GPIO1/TXD01 void setup() ( pinMode(TXD, OUTPUT); ) void loop() ( digitalWrite (TXD, HIGH); καθυστέρηση (1000); digitalWrite (TXD, LOW); καθυστέρηση (1000); )

Αναβοσβήνει; Άρα όλα έγιναν σωστά. Από πού κατάλαβα ότι το LED είναι συνδεδεμένο στην πρώτη ακίδα; Στο προηγούμενο άρθρο υπάρχει μια εικόνα με pinouts διαφορετικών μονάδων και υπάρχει σήμανση των θυρών κατά τη χρήση του bootloader Arduino (οι ακίδες σημειώνονται με ροζ).

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

Και τώρα πώς να κάνετε αναδρομή στο εγγενές υλικολογισμικό, και πώς να αναβοσβήσετε μια λειτουργική μονάδα με φορτωτές εκκίνησης τρίτων. Για το ESP8266 υπάρχει ένα τέτοιο πρόγραμμα όπως το NodeMCU Flasher, το οποίο αρχικά προοριζόταν για να αναβοσβήνει τον φορτωτή εκκίνησης NodeMCU. Αλλά όπως αποδείχθηκε, αναβοσβήνει τέλεια άλλο υλικολογισμικό.

Θα επισυνάψω ένα αρχείο με αυτό το πρόγραμμα και το υλικολογισμικό στο άρθρο για ευκολία, αλλά μπορείτε πάντα να κάνετε λήψη νέα έκδοση NodeMCU Flasher.

Στον φάκελο "nodemcu-flasher-master" υπάρχουν 2 φάκελοι Win64 και Win32 και ανάλογα με το βάθος bit του λειτουργικού σας συστήματος επιλέξτε αυτό που χρειάζεστε. Στη συνέχεια, στο φάκελο Release, εκτελέστε το "ESP8266Flasher.exe" και δείτε τη διεπαφή του προγράμματος:

Επιλέξτε την επιθυμητή θύρα COM και μεταβείτε στην καρτέλα "Config", αφαιρέστε το σταυρό δίπλα στο "INTERNAL://NODEMCU" και βάλτε το ένα σημείο χαμηλότερα, όπως στο στιγμιότυπο οθόνης:

(Αν θέλετε να αναβοσβήσετε το πρόγραμμα εκκίνησης NodeMCU, αφαιρέστε το σταυρό από εκεί που δεν ήταν και τοποθετήστε το εκεί που ήταν, δηλαδή κοντά στο “INTERNAL://NODEMCU”).

Στη συνέχεια κάνουμε κλικ στο γρανάζι και επιλέγουμε πού βρίσκεται το υλικολογισμικό μας, το υλικολογισμικό είναι συνήθως σε μορφή *.bin (στο συνημμένο αρχείο είναι "v0.9.5.2 AT Firmware.bin" που βρίσκεται στον κύριο φάκελο) και επιλέξτε επίσης "0x00000" από και πάνω.

Επιστρέφουμε ξανά στην καρτέλα "Λειτουργία", θέτουμε τη μονάδα σε λειτουργία προγραμματισμού και κάνουμε κλικ στο "Flash":

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

Ελέγχουμε με την εντολή AT "AT+GMR" εάν τα κάναμε όλα σωστά:

Όπως μπορείτε να δείτε, όλα κύλησαν ομαλά.

Γίνεται ολοένα και μεγαλύτερη δημοτικότητα και το 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-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 βολτ, συνιστάται επίσης να φτιάξετε έναν πρόσθετο διαχωριστή αντίστασης για να διασφαλίσετε την αντιστοίχιση των λογικών επιπέδων τριών βολτ και πέντε βολτ ή απλώς να χρησιμοποιήσετε μια μονάδα μετατροπής στάθμης.

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

Η δεξιά εικόνα δείχνει τη σύνδεση του 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 - δεν παίζει ιδιαίτερο ρόλο εδώ και εδώ η μέγιστη ταχύτητα εξαρτάται ήδη από το μήκος των καλωδίων, τον μετατροπέα που χρησιμοποιείται και πολλούς άλλους παράγοντες.

Η κινεζική εταιρεία Espressif το 2014 άρχισε να πουλά μονάδες Wi-Fi βασισμένες σε τσιπ ESP8266. που κέρδισε αμέσως μεγάλη δημοτικότητα στους ραδιοερασιτέχνες λόγω του χαμηλού κόστους και των μεγάλων δυνατοτήτων του. Σήμερα υπάρχει ένας μεγάλος αριθμός διαφορετικών μονάδων που βασίζονται στο τσιπ ESP8266· σε αυτό το άρθρο θα μιλήσω για το ESP-01.

Τεχνικές προδιαγραφές

Τάση τροφοδοσίας: 3V ~ 3,6V
Μέγιστο ρεύμα λειτουργίας: 220mA
Συχνότητα λειτουργίας: 2,4 GHz
Λειτουργίες: P2P (πελάτης), soft-AP (σημείο πρόσβασης)
Αριθμός GPIO: 2.
Μνήμη flash: 1024 kb.
ισχύς εξόδουσε λειτουργία 802.11b: +19,5dBm
Υποστήριξη ασύρματο πρότυπο: 802,11 b/g/n
Διαστάσεις: 24,8mm x 14,3mm x 8mm

Γενικές πληροφορίες για το ESP-01

Ουσιαστικά, το τσιπ ESP8266 είναι ένας μικροελεγκτής με πομπό Wi-Fi που μπορεί να λειτουργεί με πλήρη αυτονομία, χωρίς επιπλέον χρέωση Arduino. Χρησιμοποιώντας τη μονάδα ESP-01, μπορείτε να μεταδώσετε δεδομένα σχετικά με τη θερμοκρασία, την υγρασία, να ενεργοποιήσετε ένα ρελέ και ούτω καθεξής. Για ευκολία στη χρήση του τσιπ ESP8266, ο κατασκευαστής έχει κατασκευάσει μια σειρά μονάδων από ESP-01 έως ESP-14. Η πρώτη σε αυτή τη σειρά είναι η μονάδα ESP-01 (υπάρχει και ESP-01S, περισσότερα για αυτό λίγο αργότερα), η οποία είναι μια από τις διάσημες λόγω της τιμής και του μικρού μεγέθους της, μόνο 14,3 mm επί 24,8 mm. Έχει όμως δύο μειονεκτήματα: περιορισμένη ποσότηταπρογραμματισμένες ακίδες GPIO και η άβολη θέση τους (ακατάλληλη για τη διάταξη).


Η μονάδα ESP-01 είναι μια μικρή πλακέτα, μαύρη, στην οποία βρίσκονται δύο κύρια τσιπ, ένας μικροελεγκτής ESP8266 και μια μνήμη flash 1 MB. Σε κοντινή απόσταση υπάρχει αντηχείο χαλαζίτη και μια τυπωμένη κεραία. Η πλακέτα έχει δύο LED, κόκκινο και μπλε. Το κόκκινο LED ανάβει όταν η μονάδα έχει ρεύμα και το μπλε αναβοσβήνει όταν εκτελούνται εντολές (το κόκκινο LED έχει αφαιρεθεί από το NSP-01S λόγω σταθερής κατανάλωσης ενέργειας). Για τη σύνδεση της μονάδας ESP-01 παρέχονται οκτώ ακίδες (δύο σειρές τεσσάρων ακίδων, βήμα 2,54 mm), δύο από τις έτοιμες είναι ψηφιακή είσοδος-έξοδος, που υποστηρίζουν διαμόρφωση πλάτους παλμού. Αν και η μονάδα έχει δύο ακίδες GPIO από προεπιλογή, μπορείτε να χρησιμοποιήσετε άλλες διαθέσιμες ακίδες εάν διαθέτετε το απαραίτητο εργαλείο συγκόλλησης.


Ανάθεση καρφίτσας
GND:Τροφοδοτικό μονάδας "-".
GPIO2:(Ψηφιακό I/O με δυνατότητα προγραμματισμού)
GPIO0:(Ψηφιακή I/O προγραμματιζόμενη, χρησιμοποιείται επίσης για λειτουργίες εκκίνησης)
RX:Υποδοχή UART
TX:Μετάδοση UART
CH_PD:(ενεργοποίηση/απενεργοποίηση, πρέπει να εξέρχεται απευθείας στα 3,3 V ή μέσω αντίστασης)
RST:επαναφέρετε, πρέπει να το τραβήξετε στα 3,3 V
VCC:Τροφοδοτικό μονάδας “3,3V”.

Σύνδεση μονάδας
Για τη λειτουργία της μονάδας ESP-01, απαιτείται πηγή ρεύματος συνεχές ρεύμα, το οποίο θα πρέπει να παράγει 3,3 V και ρεύμα τουλάχιστον 250 mA. Δυστυχώς, ο τυπικός σταθεροποιητής που είναι εγκατεστημένος στο Arduino δεν είναι σε θέση να παρέχει το απαραίτητο ρεύμα για τη λειτουργία του ESP-01 (αν αποφασίσετε να συνδέσετε το ESP-01 ούτως ή άλλως, περιμένετε ασταθή λειτουργία και συνεχή επανεκκίνηση). Επιπλέον, το λογικό σήμα αυτής της μονάδας έχει σχεδιαστεί για 3,3 V, δηλαδή, πρέπει να εφαρμοστεί τάση 3,3 V στον ακροδέκτη RX και τάση 3,3 V θα τροφοδοτηθεί από τον ακροδέκτη TX (το ίδιο για άλλους ακροδέκτες ). Εάν πρέπει να συνδέσετε τη μονάδα με το Arduino ή άλλους ελεγκτές που εξάγουν 5 V στη λογική ακίδα, πρέπει να χρησιμοποιήσετε αντιστάσεις ή μια μονάδα λογικής στάθμης· εάν τη συνδέσετε απευθείας, η μονάδα θα αποτύχει.

Προσοχή! Το ESP-01 είναι πολύ ιδιότροπο όσον αφορά την παροχή ρεύματος, πρέπει να χρησιμοποιήσετε έναν εξωτερικό ρυθμιστή τάσης 3,3 V, θα χρησιμοποιήσω έναν προσαρμογέα USB ως πρώτο παράδειγμα

Από τον παραπάνω πίνακα, φαίνεται ότι η μονάδα ESP-01 μπορεί να λειτουργήσει σε πολλές καταστάσεις αναστολής λειτουργίας, με ελάχιστη κατανάλωση ρεύματος, καλούνται από το λογισμικό, εκτός από το τελευταίο "Power Off", για ενεργοποίηση αυτή τη λειτουργία, πρέπει να εγκαταστήσετε ένα βραχυκυκλωτήρα μεταξύ GPIO16 και RST, θα δώσω ένα παράδειγμα αργότερα.

Εγκατάσταση του ESP8266 στο Arduino IDE

Κατεβάστε το πρόγραμμα Arduino IDE από τον ιστότοπο arduino.cc
Στη συνέχεια, πρέπει να εγκαταστήσετε την πλακέτα ESP στο Arduino IDE. Για να το κάνετε αυτό, εκτελέστε το πρόγραμμα Arduino IDE και ανοίξτε: Αρχείο -> Ρυθμίσεις.
Στο νέο ανοιχτό παράθυρο, στο χωράφι" Πρόσθετοι σύνδεσμοι για το PCB Manager:» προσθήκη συνδέσμου:

Http://arduino.esp8266.com/stable/package_esp8266com_index.json

Στο ανοιχτό παράθυρο, αναζητήστε " esp8266 από το ESP8266 Communit y" και πατήστε " Εγκαθιστώ". Η εγκατάσταση θα διαρκέσει λίγα λεπτά και μετά το μήνυμα " Εγκατεστημένο", Κάντε κλικ " Κλείσε«

Κάντε κλικ " Εργαλεία -> Πίνακες -> Ενότητα Generis ESP8266«.

Τώρα πρέπει να συνδέσετε τη μονάδα ESP-01 στον υπολογιστή μέσω ενός ειδικού προσαρμογέα USB στο τσιπ CH340G


Ρύθμιση της συχνότητας του επεξεργαστή " Συχνότητα CPU: "80 MHz"", Ταχύτητα " Ταχύτητα μεταφόρτωσης: "115200""και επιλέξτε" Λιμάνι«.

Στη συνέχεια ανεβάζουμε ένα σκίτσο που θα κάνει το ESP8266 να αναβοσβήνει το LED.

/* Δοκιμάστηκε σε Arduino IDE 1.8.5 Ημερομηνία δοκιμής 15/06/2018 */ #define TXD 1 // GPIO1 / TXD01 void setup() ( pinMode(TXD, OUTPUT); ) void loop() ( digitalWrite(TXD, HIGH); delay(1000); digitalWrite(TXD, LOW); delay( 1000);)