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

Επαναφορά ή αναβάθμιση υλικολογισμικού στη μονάδα ESP8266 (ESP-01) χρησιμοποιώντας το Arduino UNO: 7 βήματα
Επαναφορά ή αναβάθμιση υλικολογισμικού στη μονάδα ESP8266 (ESP-01) χρησιμοποιώντας το Arduino UNO: 7 βήματα

Βίντεο: Επαναφορά ή αναβάθμιση υλικολογισμικού στη μονάδα ESP8266 (ESP-01) χρησιμοποιώντας το Arduino UNO: 7 βήματα

Βίντεο: Επαναφορά ή αναβάθμιση υλικολογισμικού στη μονάδα ESP8266 (ESP-01) χρησιμοποιώντας το Arduino UNO: 7 βήματα
Βίντεο: BTT GTR v1.0/M5 v1.0 - TFTS 2024, Ιούλιος
Anonim
Επαναφορά ή αναβάθμιση υλικολογισμικού στη μονάδα ESP8266 (ESP-01) χρησιμοποιώντας το Arduino UNO
Επαναφορά ή αναβάθμιση υλικολογισμικού στη μονάδα ESP8266 (ESP-01) χρησιμοποιώντας το Arduino UNO
Επαναφορά ή αναβάθμιση υλικολογισμικού στη μονάδα ESP8266 (ESP-01) χρησιμοποιώντας το Arduino UNO
Επαναφορά ή αναβάθμιση υλικολογισμικού στη μονάδα ESP8266 (ESP-01) χρησιμοποιώντας το Arduino UNO
Επαναφορά ή αναβάθμιση υλικολογισμικού στη μονάδα ESP8266 (ESP-01) χρησιμοποιώντας το Arduino UNO
Επαναφορά ή αναβάθμιση υλικολογισμικού στη μονάδα ESP8266 (ESP-01) χρησιμοποιώντας το Arduino UNO
Επαναφορά ή αναβάθμιση υλικολογισμικού στη μονάδα ESP8266 (ESP-01) χρησιμοποιώντας το Arduino UNO
Επαναφορά ή αναβάθμιση υλικολογισμικού στη μονάδα ESP8266 (ESP-01) χρησιμοποιώντας το Arduino UNO

Η μονάδα ESP-01 που χρησιμοποίησα αρχικά συνοδεύτηκε από παλαιότερο υλικολογισμικό AI Thinker, το οποίο περιορίζει τις δυνατότητές του καθώς πολλές χρήσιμες εντολές AT δεν υποστηρίζονται.

Είναι γενικά μια καλή ιδέα να αναβαθμίσετε το υλικολογισμικό σας για διορθώσεις σφαλμάτων και επίσης ανάλογα με τις λειτουργίες που απαιτούνται από τη μονάδα ESP, μπορεί να απαιτείται ένα πιο πλήρες σύνολο υποστηριζόμενων εντολών AT. Αυτό το σεμινάριο εξηγεί επίσης πώς μπορείτε να επαναφέρετε ή να αναβοσβήνετε το αρχικό υλικολογισμικό του Espressif εάν τυχόν καταστρέψετε το υλικολογισμικό ESP, για παράδειγμα, μέσω λανθασμένων εντολών AT. Αυτό συνέβη όταν προσπάθησα να αλλάξω τον προεπιλεγμένο ρυθμό baud από 115200 σε 9600. Χρησιμοποίησα την ακόλουθη εντολή (βασισμένη σε μια γρήγορη αναζήτηση Google):

AT+IPR = 9600

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

Προσοχή: Με βάση την εμπειρία μου, θα συνιστούσα ιδιαίτερα να μην χρησιμοποιήσετε την εντολή AT+IPR για να αλλάξετε τον ρυθμό baud, καθώς πιθανότατα θα απαιτήσει από εσάς να αναβοσβήνετε ξανά το υλικολογισμικό σας. Ωστόσο, υπάρχουν πολλές διαφορετικές παραλλαγές της μονάδας ESP-01 με διαφορετικό μέγεθος φλας και έκδοση υλικολογισμικού εργοστασίου, οπότε η εμπειρία σας ενδέχεται να διαφέρει.

Η μονάδα ESP-01 δεν είναι συμβατή με 5 V και απαιτεί 3,3 V για να την τροφοδοτήσει αλλά και για να λειτουργήσει σωστά σε λογικό επίπεδο. Για να επικοινωνήσει με τον υπολογιστή, η μονάδα χρειάζεται επιπλέον έναν μετατροπέα USB σε σειριακό. Έτσι, αντί να χρησιμοποιήσω μετατροπέα τάσης και προσαρμογέα USB σε σειριακό, αποφάσισα να επιλέξω μια πιο απλή λύση. Δεδομένου ότι έχω ήδη ένα Arduino UNO, χρησιμοποίησα το τελευταίο για να τροφοδοτήσω τη μονάδα ESP-01 και να δημιουργήσω επικοινωνία μεταξύ του ESP-01 και του υπολογιστή, λειτουργώντας ουσιαστικά ως σειριακή γέφυρα.

Προμήθειες

  1. Ενότητα ESP-01
  2. Arduino UNO (με καλώδιο USB)
  3. Καλώδια Jumper DuPont
  4. Breadboard

Βήμα 1: Συνδέσεις καλωδίων

Συνδέσεις καλωδίων
Συνδέσεις καλωδίων
Συνδέσεις καλωδίων
Συνδέσεις καλωδίων
Συνδέσεις καλωδίων
Συνδέσεις καλωδίων

Οι συρμάτινες συνδέσεις με τη μονάδα Arduino UNO και ESP-01 μπορούν να γίνουν εύκολα χρησιμοποιώντας καλώδια βραχυκυκλωτήρων και ένα breadboard. Οι συνδέσεις μεταξύ του πίνακα ανάπτυξης Arduino και της μονάδας ESP περιγράφονται στον πίνακα. Οι συνδέσεις RX και TX δεν αντιστρέφονται σε αυτήν την περίπτωση, αφού η επικοινωνία δεν πραγματοποιείται μεταξύ της μονάδας Arduino και ESP αλλά μεταξύ του ESP και του υπολογιστή. Έτσι, σε αυτήν την περίπτωση, ο πίνακας Arduino UNO χρησιμοποιείται ως σειριακή γέφυρα μέσω του ενσωματωμένου μετατροπέα USB σε σειριακό.

Η σύνδεση ακίδων RX μεταξύ της πλακέτας Arduino και της μονάδας ESP πρέπει να γίνεται μέσω ενός διαχωριστή τάσης, καθώς το ESP-01 λειτουργεί σε λογικό επίπεδο 3,3 V και η λήψη λογικού επιπέδου 5 V από το Arduino UNO θα μπορούσε να προκαλέσει ζημιά στην μονάδα ESP. Μπορείτε να δημιουργήσετε έναν απλό διαχωριστή τάσης 3,3 V χρησιμοποιώντας μόνο 2 αντιστάσεις όπως φαίνεται στο σχήμα. Προαιρετικά, μπορείτε να χρησιμοποιήσετε έναν μετατροπέα λογικού επιπέδου.

Προσοχή: Για τη ρύθμισή μου, απλώς συνδέσα απευθείας τις καρφίτσες RX (δεν συνιστάται!) Και όλα λειτούργησαν, αλλά αν αποφασίσετε να παραιτηθείτε από τη μετατροπή του λογικού επιπέδου, προχωρήστε με δική σας ευθύνη!

Για να δημιουργήσετε μια κοινή σύνδεση γείωσης, ο πείρος Arduino UNO Ground συνδέεται με τον πείρο γείωσης της μονάδας ESP.

Το Arduino UNO χρησιμοποιείται για παροχή ισχύος 3,3 V απευθείας στον πείρο VCC της μονάδας ESP. Συνδέστε τον πείρο 3,3 V στο breadboard χρησιμοποιώντας ένα καλώδιο βραχυκυκλωτήρα, καθώς ο 3,3 V θα χρησιμοποιηθεί όχι μόνο για τον πείρο VCC του ESP αλλά και τον πείρο CH_PD του ESP για να ενεργοποιήσετε το τσιπ ESP.

Ο ακροδέκτης RESET στο Arduino UNO είναι συνδεδεμένος στο Ground για να παρακάμψει κάθε κώδικα που ανεβαίνει μέσω του Arduino, έτσι ώστε ο κωδικός να αποστέλλεται από τον υπολογιστή στο ESP-01.

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

Βήμα 2: Ελέγξτε την έκδοση υλικολογισμικού

Ελέγξτε την έκδοση υλικολογισμικού
Ελέγξτε την έκδοση υλικολογισμικού

Για να βρείτε την έκδοση υλικολογισμικού ESP-01, στην σειριακή οθόνη Arduino IDE, πληκτρολογήστε:

AT+GMR

Σημείωση: Όλες οι εντολές AT πρέπει να πληκτρολογούνται με κεφαλαία γράμματα χωρίς κενά.

Εδώ είναι η σειριακή έξοδος για το ESP-01 (η μονάδα ESP σας ενδέχεται να μην εμφανίζει ακριβώς τις ίδιες πληροφορίες καθώς εξαρτάται από το συγκεκριμένο μοντέλο και την ημερομηνία κυκλοφορίας):

AT+GMR

Έκδοση AT: 0.25.0.0 (5 Ιουνίου 2015 16:27:16) Έκδοση SDK: 1.1.1 Ai-Thinker Technology Co. Ltd. 23 Ιουνίου 2015 23:23:50 ΟΚ

Τώρα, για αναβάθμιση στο πιο πρόσφατο επίσημο firmware του Espressif ESP8266EX, μεταβείτε στην ενότητα πόρων του ιστότοπού του:

Σημείωση: Η λίστα των διαθέσιμων υλικολογισμικών ενδέχεται να μην είναι όλα συμβατά με το μοντέλο ESP-01. Ελέγξτε την ενότητα Αντιμετώπιση προβλημάτων στο τέλος αυτού του σεμιναρίου για περισσότερες πληροφορίες.

Βήμα 3: Προετοιμασία της ρύθμισης: Πριν αναβοσβήνει το υλικολογισμικό

Προετοιμασία της ρύθμισης: Πριν αναβοσβήνει το υλικολογισμικό
Προετοιμασία της ρύθμισης: Πριν αναβοσβήνει το υλικολογισμικό

Τώρα, θα προετοιμάσουμε το Arduino UNO για τη διαδικασία αναβοσβήματος υλικολογισμικού ESP-01.

Βεβαιωθείτε ότι το καλώδιο Arduino RESET έχει αποσυνδεθεί από τη γείωση. Επίσης, τα καλώδια TX και RX από το Arduino UNO πρέπει να αποσυνδεθούν από τη μονάδα ESP-01.

Ανοίξτε το Arduino IDE και από το επάνω μενού, μεταβείτε στο Αρχείο> Παραδείγματα> 01. Βασικά> BareMinimum. Ανεβάστε το σκίτσο στο Arduino UNO. Αυτό το κενό σκίτσο θα διασφαλίσει ότι δεν θα υπάρξει παρεμβολή επικοινωνίας με τη μονάδα ESP.

Επανασυνδέστε τα καλώδια RX και TX μεταξύ του UNO και του ESP-01. Επίσης, συνδέστε την καρφίτσα RESET του UNO στο Ground.

Ο πείρος CH_PD ή CH_EN σημαίνει "Chip Power-Down" ή "Chip Enable" και πρέπει να τραβηχτεί HIGHΗΛΑ ή να συνδεθεί σε 3,3 V για να ενεργοποιηθεί το τσιπ ESP.

Δύο πρόσθετα καλώδια βραχυκυκλωτή απαιτούνται για τις ακόλουθες ακίδες ESP: GPIO_0 και RESET.

Το GPIO_2 δεν χρησιμοποιείται και αφήνεται αποσυνδεδεμένο.

Το ESP-01 πρέπει να ρυθμιστεί σε λειτουργία προγραμματισμού, ώστε να μπορεί να φορτωθεί κώδικας σε αυτό. Αλλά το ESP-01 δεν διαθέτει το απαραίτητο ενσωματωμένο πρόσθετο υλικό για να το επιτύχει αυτό άμεσα, επομένως όλα πρέπει να συνδεθούν ξεχωριστά. Για τη δική μου χρήση, δεν μπήκα στον κόπο να χρησιμοποιήσω διακόπτες, αλλά αντίθετα χρησιμοποίησα δύο καλώδια βραχυκυκλωτή ανδρών-γυναικών συνδεδεμένα με τις καρφίτσες GPIO_0 και RESET της μονάδας ESP-01 και τα συνδέσα στις κοινές καρφίτσες Groundboard του breadboard από το Arduino UNO's Ground.

Πριν ξεκινήσετε τη διαδικασία αναβοσβήματος, το GPIO_0 είναι συνδεδεμένο στο Ground για ολόκληρη τη διαδικασία αναβοσβήματος για να ενεργοποιήσετε τη λειτουργία προγραμματισμού.

Ο πείρος RESET συνδέεται στη Γείωση για ένα δευτερόλεπτο και στη συνέχεια αφαιρείται. Αυτό επιτρέπει τη μεταφόρτωση του νέου υλικολογισμικού.

Βήμα 4: Κατεβάστε το Flashing Tool and Firmware

Κατεβάστε το Flashing Tool and Firmware
Κατεβάστε το Flashing Tool and Firmware

Το υλικολογισμικό που χρησιμοποιείται είναι από το Espressif που είναι ο αρχικός κατασκευαστής του τσιπ ESP8266.

Μεταβείτε στη διεύθυνση: https://www.espressif.com/en/products/hardware/esp8266ex/resources για πρόσβαση στα επίσημα εργαλεία και αρχεία υλικολογισμικού AT.

Στην καρτέλα "Εργαλεία", κατεβάστε τα Εργαλεία λήψης Flash (ESP8266 & ESP32), προς το παρόν το πιο πρόσφατο είναι το V3.6.8.

Στην καρτέλα "AT", κατεβάστε το πιο πρόσφατο συμβατό υλικολογισμικό AT, το οποίο είναι ESP8266 AT Bin V1.6.2 για το μοντέλο μου ESP-01. Εξαρτάται από το μοντέλο ESP-01, καθώς μπορεί να έχει διαφορετικό μέγεθος μνήμης flash. Θα βρείτε περισσότερες πληροφορίες σχετικά με αυτό στην ενότητα DETECTED INFO του προγράμματος Flash Download Tools, αφού κάνετε κλικ στο START για να ξεκινήσει η διαδικασία αναβοσβήματος. Έτσι, εάν δεν είστε σίγουροι για το μέγεθος του φλας ή τα αρχεία υλικολογισμικού που πρέπει να επιλέξετε, απλώς εκτελέστε το πρόγραμμα για να λάβετε τις σωστές πληροφορίες σχετικά με τη μονάδα ESP.

Αφού αναβοσβήνει, μπορείτε να χρησιμοποιήσετε εντολές AT για να δοκιμάσετε και να εργαστείτε με το ESP-01. Κατεβάστε το επίσημο σύνολο οδηγιών ESP8266 AT:

Βήμα 5: Διαδικασία αναβοσβήματος

Διαδικασία αναβοσβήματος
Διαδικασία αναβοσβήματος
Διαδικασία αναβοσβήματος
Διαδικασία αναβοσβήματος
Διαδικασία αναβοσβήματος
Διαδικασία αναβοσβήματος
Διαδικασία αναβοσβήματος
Διαδικασία αναβοσβήματος

Εξαγάγετε το αρχείο zip του Flash Download Tools και ανοίξτε το αρχείο exe. Βεβαιωθείτε ότι το εκτελείτε ως διαχειριστής εάν χρησιμοποιείτε Windows. Ένα παράθυρο DOS θα ανοίξει πρώτα, ακολουθούμενο από ένα αναδυόμενο παράθυρο. Επιλέξτε ESP8266 Εργαλείο λήψης. Αυτό θα ανοίξει ένα παράθυρο με πολλές επιλογές διαμόρφωσης.

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

Σημείωση: Επιλέξτε τα αρχεία υλικολογισμικού με την ίδια σειρά αφού η διαδικασία φλας γίνεται διαδοχικά. Το αρχείο blank.bin πρέπει να επιλεγεί τρεις φορές όπως φαίνεται στο στιγμιότυπο οθόνης του συνόλου οδηγιών AT.

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

Στη συνέχεια, απλώς πατήστε το κουμπί ΕΝΑΡΞΗ και παρακολουθήστε τη μαγεία να συμβαίνει. Το κείμενο του κουμπιού θα εμφανίσει SYNC και η ενότητα DETECTED INFO θα εμφανίσει τις προδιαγραφές της μονάδας ESP. Στη συνέχεια, το κείμενο θα εμφανιστεί ΛΗOWΗ και η γραμμή προόδου θα ενεργοποιηθεί καθώς τα αρχεία υλικολογισμικού μεταφορτώνονται στη μνήμη flash ESP. Αφού ολοκληρωθεί η διαδικασία αναβοσβήματος του υλικολογισμικού, θα δείτε: ΤΕΛΟΣ.

Κλείστε το πρόγραμμα Εργαλεία λήψης Flash. Αυτό είναι απαραίτητο για να ελευθερώσετε τη σειριακή θύρα για να αναλάβει την Arduino IDE Serial Monitor.

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

Συνδέστε το RESET στο Ground για 1 δευτερόλεπτο και, στη συνέχεια, αποσυνδέστε το. Αυτό θα επαναφέρει τη μονάδα.

Ανοίξτε το Arduino IDE. Από το επάνω μενού, επιλέξτε Εργαλεία> Θύρα> επιλέξτε τη σωστή θύρα COM. Ανοίξτε το Serial Monitor και επιλέξτε "Και NL & CR" και επιλέξτε baud rate 115200 που είναι το προεπιλεγμένο.

Τύπος:

ΣΤΟ

Εάν η διαδικασία αναβοσβήνει πήγε σωστά, η απάντηση θα είναι:

Εντάξει

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

AT+GMR

Εδώ είναι η έξοδος Serial Monitor για το ESP-01 μου:

AT+GMR

AT έκδοση: 1.6.2.0 (13 Απριλίου 2018 11:10:59) Έκδοση SDK: 2.2.1 (6ab97e9) χρόνος μεταγλώττισης: 7 Ιουνίου 2018 19:34:26 Έκδοση κάδου (Wroom 02): 1.6.2 OK

Βήμα 6: Αλλάξτε μόνιμα το ποσοστό Baud

Αλλάξτε μόνιμα την τιμή Baud
Αλλάξτε μόνιμα την τιμή Baud

Αυτό το μέρος είναι προαιρετικό. Ο προεπιλεγμένος ρυθμός baud είναι 115200, αλλά αν θέλετε να τον αλλάξετε σε άλλη ταχύτητα baud, τότε μπορείτε απλά να πληκτρολογήσετε την ακόλουθη εντολή στο Arduino Serial Monitor.

Για παράδειγμα, εάν θέλετε να αλλάξετε σε 9600 baud rate / 8 bit δεδομένων / 1 bit διακοπής / χωρίς bit ισοτιμίας / χωρίς έλεγχο ροής.

Πληκτρολογήστε:

AT+UART_DEF = 9600, 8, 1, 0, 0

Η απάντηση πρέπει να είναι:

Εντάξει

Η παραπάνω εντολή αλλάζει τον ρυθμό baud μόνιμα σε 9600, αλλά μπορείτε να επιλέξετε οποιαδήποτε από τις τυπικές ταχύτητες baud.

Βήμα 7: Αντιμετώπιση προβλημάτων

Αντιμετώπιση προβλημάτων
Αντιμετώπιση προβλημάτων
Αντιμετώπιση προβλημάτων
Αντιμετώπιση προβλημάτων

Εάν υπάρχουν ανωμαλίες μετά την επιτυχή αναβοσβήσιμο του υλικολογισμικού, για παράδειγμα, στο Serial Monitor, αφού επιλέξετε τον προεπιλεγμένο ρυθμό baud των 115200 και πληκτρολογήστε: AT αλλά δεν βλέπετε καμία απάντηση ή εάν πληκτρολογείτε AT+GMR και λαμβάνετε κάποια άλλη είδους πληροφορίες εκτός από τις πληροφορίες έκδοσης υλικολογισμικού, τότε ενδέχεται να έχετε λάμψει λάθος υλικολογισμικό. Σε αυτήν την περίπτωση, στο πρόγραμμα Εργαλεία λήψης Flash, αφού πατήσετε το κουμπί ΕΝΑΡΞΗ για να ξεκινήσει η διαδικασία αναβοσβήματος του υλικολογισμικού, το πράσινο κουμπί κατάστασης διαβάζει SYNC και αυτό είναι το στάδιο όπου οι πληροφορίες της μονάδας ESP εξάγονται και διατίθενται υπό τις ΑΝΑΚΟΙΝΩΜΕΝΕΣ ΠΛΗΡΟΦΟΡΙΕΣ. Αυτές οι πληροφορίες είναι ζωτικής σημασίας για τον προσδιορισμό του σωστού υλικολογισμικού και τη σωστή αναπαραγωγή αρχείων.

Τα παρακάτω είναι για τη μονάδα μου ESP-01:

προμηθευτής flash:

E0h: N/A flash devID: 4014h QUAD; 8Mbit κρύσταλλο: 26 Mhz

Οι ΑΝΙΧΝΕΥΜΕΝΕΣ ΠΛΗΡΟΦΟΡΙΕΣ σας θα εξαρτηθούν από το μοντέλο ESP-01. Αλλά αυτό θα σας επιτρέψει να συναγάγετε το σωστό μέγεθος φλας. Στο ESP μου, είναι 8Mbit που ισοδυναμεί με 1 MB. Έτσι, αυτό σημαίνει ότι πρέπει να επιλέξω 512 KB + 512 KB από τα αρχεία υλικολογισμικού. Και αυτό σημαίνει επίσης ότι το υλικολογισμικό 1.7.0 ή 1.7.1 δεν θα λειτουργήσει σωστά για τη μονάδα ESP μου, κάτι που επιβεβαίωσα επίσης αναβοσβήνοντας αυτό το υλικολογισμικό και δοκιμάζοντας. Επίσης, στην περιγραφή του υλικολογισμικού 1.7.0 και 1.7.1 στον επίσημο ιστότοπο πόρων Espressif, παρατίθενται οι ακόλουθες πληροφορίες: "Περιορισμένες από το μέγεθος του αρχείου κάδου AT, μόνο` 1024+1024 flash map 'υποστηρίζεται από Προκαθορισμένο." 1024+1024 σημαίνει ότι είναι για μονάδα ESP με συνολικό μέγεθος φλας 2048 KB ή 2 MB.

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

Συνιστάται: