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

3 απλοί τρόποι προγραμματισμού μιας μονάδας ESP8266 12X: 5 βήματα (με εικόνες)
3 απλοί τρόποι προγραμματισμού μιας μονάδας ESP8266 12X: 5 βήματα (με εικόνες)

Βίντεο: 3 απλοί τρόποι προγραμματισμού μιας μονάδας ESP8266 12X: 5 βήματα (με εικόνες)

Βίντεο: 3 απλοί τρόποι προγραμματισμού μιας μονάδας ESP8266 12X: 5 βήματα (με εικόνες)
Βίντεο: ESP8266 ESP01 WIFI-UART | Προγραμματισμός LDmicro-Roboremo 2024, Νοέμβριος
Anonim
3 απλοί τρόποι προγραμματισμού μιας μονάδας ESP8266 12X
3 απλοί τρόποι προγραμματισμού μιας μονάδας ESP8266 12X

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

Αυτές τις μέρες, αν θέλετε να χρησιμοποιήσετε ένα ESP8266 για το έργο σας, θα σας συνιστούσα να χρησιμοποιήσετε έναν πίνακα ανάπτυξης όπως το Wemos D1 Mini* (2,50 δολάρια παραδόθηκε !!) ή το Adafruit Feather Huzzah. Αυτοί οι πίνακες έχουν όλες τις καρφίτσες που μπορούν να χρησιμοποιηθούν, είναι εύκολα προγραμματιζόμενες μέσω της υποδοχής micro USB και έχουν ενσωματωμένο ρυθμιστή 3.3V. Αλλά τι γίνεται αν θέλετε να χρησιμοποιήσετε ένα ESP8266 σε ένα έργο με προσαρμοσμένο PCB; Ο ευκολότερος τρόπος είναι να χρησιμοποιήσετε μια μονάδα ESP12 και σε αυτό το Instructable θα σας δείξω μερικούς απλούς τρόπους προγραμματισμού τους.* = Σύνδεσμος συνεργατών

Βήμα 1: Δείτε το βίντεο

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

Βήμα 2: Προ-βήμα: Ρύθμιση για προγραμματισμό του ESP8266

Image
Image

Εάν δεν έχετε χρησιμοποιήσει ποτέ το ESP8266 ή το Arduino στο παρελθόν, θα χρειαστεί να ρυθμίσετε λίγο το λογισμικό. Έχω ένα ειδικό βίντεο για αυτό. Διαρκεί μόνο 5 λεπτά και περνά από όλα όσα χρειάζεστε για να ρυθμίσετε.

Εάν τα βίντεο δεν είναι πραγματικά το θέμα σας, δείτε το μάθημα 2 του φοβερού IoT Class της Becky, ξεπερνά όλα όσα χρειάζεστε επίσης.

Πριν μεταβείτε στην επόμενη ενότητα θα πρέπει να μπορείτε να ανεβάσετε ένα απλό σκίτσο σε ένα ESP8266 (όπως το παράδειγμα αναλαμπής που αναφέρεται τόσο στο βίντεο όσο και στο μάθημα της Becky)

Βήμα 3: Μέθοδος 1: Προγραμματιστής "Frog" Pin

Μέθοδος 1
Μέθοδος 1

Αυτός είναι ίσως ο ευκολότερος τρόπος προγραμματισμού μιας μονάδας ESP12. Βασικά απλώς τοποθετείτε τη μονάδα στον πίνακα και στη συνέχεια συμπεριφέρεται ακριβώς όπως ένας από τους πίνακες ανάπτυξης που αναφέρθηκαν προηγουμένως. Επέλεξα τον πίνακα Wemos D1 Mini από τους πίνακες που εμφανίζονται κατά τον προγραμματισμό. Υπάρχουν μειονεκτήματα αυτής της μεθόδου:

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

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

  • Aliexpress Pop-in ESP Module Programmer*
  • Προγραμματιστής μονάδας FSP's Frog Pin ESP

* = Συνδεδεμένος σύνδεσμος

Βήμα 4: Μέθοδος 2: Χρήση βασικά κάθε μετατροπέα USB σε σειριακό

Μέθοδος 2: Χρησιμοποιώντας βασικά οποιοδήποτε μετατροπέα USB σε σειριακό
Μέθοδος 2: Χρησιμοποιώντας βασικά οποιοδήποτε μετατροπέα USB σε σειριακό
Μέθοδος 2: Χρησιμοποιώντας βασικά οποιοδήποτε μετατροπέα USB σε σειριακό
Μέθοδος 2: Χρησιμοποιώντας βασικά οποιοδήποτε μετατροπέα USB σε σειριακό
Μέθοδος 2: Χρησιμοποιώντας βασικά οποιοδήποτε μετατροπέα USB σε σειριακό
Μέθοδος 2: Χρησιμοποιώντας βασικά οποιοδήποτε μετατροπέα USB σε σειριακό

Για την επόμενη μέθοδο πρόκειται να θέσουμε χειροκίνητα τη μονάδα ESP σε λειτουργία προγραμματισμού και στη συνέχεια να χρησιμοποιήσουμε ουσιαστικά οποιονδήποτε μετατροπέα USB σε σειριακό για τον προγραμματισμό του ESP8266, ακόμη και αυτόν τον PL2303* που κοστίζει 50c παραδίδεται!

Κανονική λειτουργία:

Πριν ξεκινήσουμε με τον προγραμματισμό, πρέπει πρώτα να ρίξουμε μια ματιά στα εξωτερικά στοιχεία που χρειάζεται το ESP8266 για να τρέξει. Για κανονική λειτουργία, μια μονάδα ESP-12 χρειάζεται τα ακόλουθα

  • Τα EN, RST και GPIO 0 πρέπει να τραβηχτούν ψηλά χρησιμοποιώντας αντίσταση 10K
  • Το GPIO 15 πρέπει να τραβηχτεί στη Γείωση χρησιμοποιώντας αντίσταση 10Κ
  • Τροφοδοτικό 3,3V ικανό για περίπου 250mA ρεύματος (συνιστάται ένα όριο μεταξύ VCC και GND)

Με την παραπάνω ρύθμιση παραμέτρων, το ESP8266 όταν είναι ενεργοποιημένο θα είναι σε κανονική λειτουργία, έτσι ώστε να εκτελεί όλα τα σκίτσα που έχετε προγραμματίσει σε αυτό. Μπορείτε να αγοράσετε πίνακες ανάρτησης για μονάδες ESP-12* που είναι πραγματικά χρήσιμοι για τη δοκιμή των διαφορετικών ρυθμίσεων. Οι μονάδες έχουν τις αντιστάσεις για τις ακίδες EN και GPIO 15, οπότε θα χρειαστεί ακόμα να προσθέσετε την αντίσταση έλξης για RST και GPIO 0,

Ενεργοποίηση λειτουργίας προγραμματισμού:

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

  • Κρατήστε πατημένο το κουμπί GPIO 0
  • Πατήστε το κουμπί RST
  • Στη συνέχεια, αφήστε τα δύο κουμπιά

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

Προγραμματισμός με προσαρμογέα USB σε σειριακό:

Η ενεργοποίηση της λειτουργίας προγράμματος είναι μόνο η μισή μάχη, τώρα πρέπει να προγραμματίσουμε την ενότητα. Οι περισσότεροι προσαρμογείς USB σε σειριακούς προσαρμογείς δεν μπορούν να παρέχουν αρκετό ρεύμα στο ESP8266, επομένως συνιστάται να τροφοδοτείτε το ESP8266 χρησιμοποιώντας εξωτερική πηγή 3.3V.

Για να συνδέσετε τον προγραμματιστή πρέπει να συνδέσετε τις ακόλουθες ακίδες (εμφανίζονται επίσης σε μια παραπάνω εικόνα):

  • Συνδέστε το TX του προγραμματιστή στο RX του ESP8266 (Δεν είναι τυπογραφικό λάθος, οι συνδέσεις αντιστρέφονται)
  • Συνδέστε το RX του προγραμματιστή με το TX του ESP8266
  • Συνδέστε το Ground του προγραμματιστή στο Ground του ESP8266

Για να ανεβάσετε το σκίτσο σας, κάντε τα παρακάτω βήματα:

  • Επιλέξτε τον αριθμό θύρας του σειριακού προσαρμογέα σας (Εργαλεία-> Θύρα)
  • Ενεργοποιήστε τη λειτουργία προγραμματισμού στο ESP8266 όπως περιγράφεται παραπάνω
  • Κάντε κλικ στο κουμπί μεταφόρτωσης. (Εάν αποτύχει, ελέγξτε ξανά την καλωδίωση και δοκιμάστε να επαναφέρετε την πλακέτα σας σε λειτουργία προγραμματισμού ξανά)
  • Κάντε κλικ στο κουμπί επαναφοράς όταν ολοκληρωθεί η μεταφόρτωση

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

  • Πίνακας: Generic ESP8266 Module
  • Λειτουργία φλας: DIO
  • Μέγεθος φλας: 4M (3M Spiffs)
  • Μέθοδος επαναφοράς: ck
  • Συχνότητα φλας: 40MHz
  • Ταχύτητα μεταφόρτωσης: 115200

Το τελευταίο πράγμα που πρέπει να σημειωθεί είναι η οριοθέτηση LED_BUILIN για μια γενική μονάδα ESP8266 που δείχνει στον ακροδέκτη 1, αλλά η ενσωματωμένη λυχνία LED μιας μονάδας ESP12 συνδέεται με την καρφίτσα 2 (Είναι πολύ χαμηλή, ακριβώς ως FYI). Έτσι, εάν δοκιμάζετε ένα σκίτσο που αναβοσβήνει, θα πρέπει να χρησιμοποιήσετε τον αριθμό 2 και όχι το LED_BUILTIN

* = Συνδεδεμένος σύνδεσμος

Βήμα 5: Μέθοδος 3: Αυτόματη επαναφορά προγραμματιστή χρησιμοποιώντας ένα NodeMCU

Μέθοδος 3: Προγραμματιστής αυτόματης επαναφοράς χρησιμοποιώντας ένα NodeMCU
Μέθοδος 3: Προγραμματιστής αυτόματης επαναφοράς χρησιμοποιώντας ένα NodeMCU
Μέθοδος 3: Προγραμματιστής αυτόματης επαναφοράς χρησιμοποιώντας ένα NodeMCU
Μέθοδος 3: Προγραμματιστής αυτόματης επαναφοράς χρησιμοποιώντας ένα NodeMCU

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

Τα περισσότερα τσιπ USB σε σειριακά έχουν επιπλέον ακίδες που εξάγουν σήματα σε διάφορα στάδια της διαδικασίας μεταφόρτωσης και με τη χρήση κάποιων εξωτερικών κυκλωμάτων είναι δυνατό να ενεργοποιηθεί το χαμηλό του GPIO 0 και οι απαιτούμενες επαναφορές. Το RuiMoteiro έχει ένα διδακτικό σε αυτό το θέμα χρησιμοποιώντας έναν πίνακα FTDI και ESP8266.

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

Ποιο είναι το πλεονέκτημα της χρήσης ενός NodeMCU;

Τα κύρια πλεονεκτήματα της χρήσης του NodeMCU ως προγραμματιστή είναι τα ακόλουθα:

  • Μπορείτε να τροφοδοτήσετε το ESP8266 απευθείας από ακίδες 3V του NodeMCU
  • Θα χειριστεί την αυτόματη επαναφορά/ενεργοποίηση της λειτουργίας προγραμματισμού
  • Κόστος παράδοσης περίπου 2,50 $ (και μπορεί να χρησιμοποιηθεί ως κανονικός πίνακας dev όταν δεν προγραμματίζετε άλλους!)

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

Πώς λειτουργεί;

Πήρα την ιδέα από έναν YouTuber που ονομάζεται Mika Kurkela, στο βίντεό του χρησιμοποιούσε το NodeMCU για να προγραμματίσει μια μονάδα ESP-01, αλλά μπορούμε να χρησιμοποιήσουμε την ίδια ιδέα για την ενότητα ESP12.

Βασικά θα απενεργοποιήσουμε το ESP8266 στο NodeMCU αναγκάζοντας τον πείρο EN χαμηλά, αυτό θα αποτρέψει την εκκίνηση της μονάδας ESP8266 στο NodeMCU. Στη συνέχεια, πρόκειται να συνδέσουμε όλες τις σχετικές ακίδες της πλακέτας NodeMCU στο εξωτερικό μας ESP8266.

Καλωδίωση

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

  • Συνδέστε 3V του NodeMCU στο VCC του ESP8266
  • Συνδέστε το GND στο GND
  • Συνδέστε το TX του NodeMCU με το TX του ESP8266 (Αυτό είναι διαφορετικό από το προηγούμενο βήμα)
  • Συνδέστε το RX του NodeMCU με το RX του ESP8266
  • Συνδέστε το D3 του NodeMCU στο GPIO 0 του ESP8266 (το D3 είναι GPIO 0 του ESP8266)
  • Συνδέστε το RST του NodeMCU με το RST του ESP8266
  • Συνδέστε το EN του NodeMCU στο GND

Μεταφόρτωση σκίτσου

Μόλις συνδέσετε το ESP8266, πρέπει να κάνετε τα εξής:

  • Επιλέξτε τον αριθμό θύρας του NodeMCU (Εργαλεία-> Θύρα)
  • Επιλέξτε τον τύπο της πλακέτας "NodeMCU 1.0 (μονάδα ESP12-E)"
  • Κάντε κλικ στη μεταφόρτωση

Και αυτό είναι! Θα ενεργοποιήσει αυτόματα τη λειτουργία προγραμματισμού και θα επαναφέρει αυτόματα όταν ολοκληρωθεί η μεταφόρτωση, ώστε να ξεκινήσει την εκτέλεση του σκίτσου.

Χρησιμοποιώντας αυτό στα σχέδια του πίνακα σας

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

  • Εδαφος
  • GPIO 0
  • VCC
  • TX
  • RX
  • RST

Και όταν θέλετε να προγραμματίσετε τις πλακέτες σας, συνδέστε το όπως παραπάνω.

Ας ελπίσουμε ότι θα βρείτε αυτό το Instructable χρήσιμο, αν έχετε οποιεσδήποτε ερωτήσεις, μη διστάσετε να το ρωτήσετε!

* = Συνδεδεμένος σύνδεσμος

Συνιστάται: