Μηχανικός

ENGINNERS ESP8266 NodeMCU Development Board

ENGINNERS-NodeMCU-Development-Board

Το Διαδίκτυο των Πραγμάτων (IoT) υπήρξε ένας τομέας της τάσης στον κόσμο της τεχνολογίας. Έχει αλλάξει τον τρόπο που δουλεύουμε. Τα φυσικά αντικείμενα και ο ψηφιακός κόσμος συνδέονται τώρα περισσότερο από ποτέ. Έχοντας αυτό υπόψη, η Espressif Systems (A Semiconductor Company με έδρα τη Σαγκάη) κυκλοφόρησε έναν αξιολάτρευτο μικροελεγκτή με δυνατότητα WiFi - ESP8266, σε απίστευτη τιμή! Για λιγότερο από 3 $, μπορεί να παρακολουθεί και να ελέγχει πράγματα από οπουδήποτε στον κόσμο – ιδανικό για σχεδόν οποιοδήποτε έργο IoT.

Η πλακέτα ανάπτυξης εξοπλίζει τη μονάδα ESP-12E που περιέχει τσιπ ESP8266 με μικροεπεξεργαστή Tensilica Xtensa® 32-bit LX106 RISC που λειτουργεί σε ρυθμιζόμενη συχνότητα ρολογιού 80 έως 160 MHz και υποστηρίζει RTOS.

Τσιπ ESP-12E

  • Tensilica Xtensa® 32-bit LX106
  • Συχνότητα ρολογιού 80 έως 160 MHz.
  • 128 kB εσωτερική μνήμη RAM
  • Εξωτερικό φλας 4MB
  • 802.11b/g/n πομποδέκτης Wi-FiENGINNERS-NodeMCU-Development-Board-1

Υπάρχει επίσης 128 KB RAM και 4MB μνήμης Flash (για αποθήκευση προγραμμάτων και δεδομένων) αρκετή για να αντεπεξέλθετε στις μεγάλες χορδές που αποτελούν web σελίδες, δεδομένα JSON/XML και όλα όσα ρίχνουμε στις συσκευές IoT στις μέρες μας. Το ESP8266 ενσωματώνει πομποδέκτη Wi-Fi 802.11b/g/n HT40, ώστε όχι μόνο να μπορεί να συνδεθεί σε ένα δίκτυο WiFi και να αλληλεπιδράσει με το Διαδίκτυο, αλλά μπορεί επίσης να δημιουργήσει ένα δικό του δίκτυο, επιτρέποντας σε άλλες συσκευές να συνδεθούν απευθείας στο το. Αυτό κάνει το ESP8266 NodeMCU ακόμα πιο ευέλικτο.

Απαίτηση ισχύος

Όπως ο λειτουργικός τόμtagΗ σειρά του ESP8266 είναι 3V έως 3.6V, η πλακέτα συνοδεύεται από LDO voltage ρυθμιστής για να κρατήσει το voltagΣταθερά στα 3.3V. Μπορεί να παρέχει αξιόπιστα έως και 600 mA, τα οποία θα είναι υπεραρκετά όταν το ESP8266 τραβάει έως και 80 mA κατά τη διάρκεια εκπομπών RF. Η έξοδος του ρυθμιστή σπάει επίσης σε μία από τις πλευρές της πλακέτας και επισημαίνεται ως 3V3. Αυτή η ακίδα μπορεί να χρησιμοποιηθεί για την παροχή ρεύματος σε εξωτερικά εξαρτήματα.

Απαίτηση ισχύος

  • Λειτουργικός τόμοςtage: 2.5V έως 3.6V
  • Ενσωματωμένος ρυθμιστής 3.3V 600mA
  • Ρεύμα λειτουργίας 80 mA
  • 20 μA κατά τη λειτουργία ύπνουENGINNERS-NodeMCU-Development-Board-2

Η τροφοδοσία του ESP8266 NodeMCU παρέχεται μέσω της ενσωματωμένης υποδοχής MicroB USB. Εναλλακτικά, εάν έχετε ρυθμισμένη ένταση 5VtagE πηγή, η ακίδα VIN μπορεί να χρησιμοποιηθεί για την απευθείας τροφοδοσία του ESP8266 και των περιφερειακών του.

Προειδοποίηση: Το ESP8266 απαιτεί τροφοδοτικό 3.3V και λογικά επίπεδα 3.3V για επικοινωνία. Οι ακίδες GPIO δεν είναι ανεκτικές στα 5V! Εάν θέλετε να συνδέσετε την πλακέτα με εξαρτήματα 5 V (ή υψηλότερα), θα χρειαστεί να κάνετε κάποια αλλαγή επιπέδου.

Περιφερειακά και I/O

Το ESP8266 NodeMCU έχει συνολικά 17 ακίδες GPIO στις κεφαλίδες των ακροδεκτών και στις δύο πλευρές της πλακέτας ανάπτυξης. Αυτές οι ακίδες μπορούν να αντιστοιχιστούν σε όλα τα είδη περιφερειακών καθηκόντων, όπως:

  • Κανάλι ADC – Κανάλι ADC 10-bit.
  • Διεπαφή UART – Η διεπαφή UART χρησιμοποιείται για τη σειριακή φόρτωση κώδικα.
  • Έξοδοι PWM – ακίδες PWM για μείωση της φωτεινότητας των LED ή ελέγχου των κινητήρων.
  • Διεπαφή SPI, I2C & I2S – Διασύνδεση SPI και I2C για σύνδεση όλων των ειδών αισθητήρων και περιφερειακών.
  • Διεπαφή I2S – Διεπαφή I2S εάν θέλετε να προσθέσετε ήχο στο έργο σας.

Multiplexed I/Os

  • 1 κανάλι ADC
  • 2 διεπαφές UART
  • 4 έξοδοι PWM
  • Διεπαφή SPI, I2C & I2SENGINNERS-NodeMCU-Development-Board-3

Χάρη στη δυνατότητα πολυπλεξίας ακίδων του ESP8266 (Πολλαπλές περιφερειακές συσκευές πολυπλεξίας σε μία ακίδα GPIO). Αυτό σημαίνει ότι ένα μόνο pin GPIO μπορεί να λειτουργήσει ως PWM/UART/SPI.

Ενσωματωμένοι διακόπτες & ένδειξη LED

Το ESP8266 NodeMCU διαθέτει δύο κουμπιά. Ένα που επισημαίνεται ως RST που βρίσκεται στην επάνω αριστερή γωνία είναι το κουμπί Reset, που χρησιμοποιείται φυσικά για την επαναφορά του τσιπ ESP8266. Το άλλο κουμπί FLASH στην κάτω αριστερή γωνία είναι το κουμπί λήψης που χρησιμοποιείται κατά την αναβάθμιση του υλικολογισμικού.

Διακόπτες & Ενδείξεις

  • RST – Επαναφέρετε το τσιπ ESP8266
  • FLASH – Λήψη νέων προγραμμάτων
  • Μπλε LED – Προγραμματιζόμενο από τον χρήστηENGINNERS-NodeMCU-Development-Board-4

Η πλακέτα διαθέτει επίσης ένδειξη LED η οποία είναι προγραμματιζόμενη από τον χρήστη και συνδέεται με την ακίδα D0 της πλακέτας.

Σειριακή Επικοινωνία

Η πλακέτα περιλαμβάνει CP2102 USB-to-UART Bridge Controller από τη Silicon Labs, που μετατρέπει το σήμα USB σε σειριακό και επιτρέπει στον υπολογιστή σας να προγραμματίζει και να επικοινωνεί με το τσιπ ESP8266.

Σειριακή Επικοινωνία

  • CP2102 Μετατροπέας USB σε UART
  • Ταχύτητα επικοινωνίας 4.5 Mbps
  • Υποστήριξη ελέγχου ροήςENGINNERS-NodeMCU-Development-Board-5

Εάν έχετε μια παλαιότερη έκδοση του προγράμματος οδήγησης CP2102 εγκατεστημένη στον υπολογιστή σας, συνιστούμε να κάνετε αναβάθμιση τώρα.
Σύνδεσμος για αναβάθμιση προγράμματος οδήγησης CP2102 – https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers

ESP8266 NodeMCU Pinout

Το ESP8266 NodeMCU έχει συνολικά 30 ακίδες που το διασυνδέουν με τον έξω κόσμο. Οι συνδέσεις είναι οι εξής:ENGINNERS-NodeMCU-Development-Board-6

Για λόγους απλότητας, θα φτιάξουμε ομάδες ακίδων με παρόμοιες λειτουργίες.

Πινέζες τροφοδοσίας Υπάρχουν τέσσερις ακίδες ισχύος, δηλαδή. μία ακίδα VIN & τρεις ακίδες 3.3V. Ο ακροδέκτης VIN μπορεί να χρησιμοποιηθεί για την απευθείας τροφοδοσία του ESP8266 και των περιφερειακών του, εάν έχετε ρυθμισμένη ένταση 5Vtagε πηγή. Οι ακίδες 3.3 V είναι η έξοδος ενός ενσωματωμένου τόμουtage ρυθμιστής. Αυτές οι ακίδες μπορούν να χρησιμοποιηθούν για την παροχή ρεύματος σε εξωτερικά εξαρτήματα.

Το GND είναι μια ακίδα γείωσης της πλακέτας ανάπτυξης ESP8266 NodeMCU. Οι καρφίτσες I2C χρησιμοποιούνται για τη σύνδεση όλων των ειδών αισθητήρων και περιφερειακών I2C στο έργο σας. Υποστηρίζονται τόσο το I2C Master όσο και το I2C Slave. Η λειτουργικότητα της διεπαφής I2C μπορεί να πραγματοποιηθεί μέσω προγραμματισμού και η συχνότητα ρολογιού είναι 100 kHz το μέγιστο. Θα πρέπει να σημειωθεί ότι η συχνότητα ρολογιού I2C θα πρέπει να είναι υψηλότερη από την πιο αργή συχνότητα ρολογιού της εξαρτημένης συσκευής.

GPIO Pins Το ESP8266 NodeMCU διαθέτει 17 ακίδες GPIO που μπορούν να αντιστοιχιστούν σε διάφορες λειτουργίες όπως I2C, I2S, UART, PWM, τηλεχειριστήριο υπερύθρων, φως LED και κουμπί μέσω προγραμματισμού. Κάθε GPIO με δυνατότητα ψηφιακής λειτουργίας μπορεί να ρυθμιστεί σε εσωτερική έλξη ή έλξη προς τα κάτω ή να ρυθμιστεί σε υψηλή σύνθετη αντίσταση. Όταν διαμορφώνεται ως είσοδος, μπορεί επίσης να ρυθμιστεί σε edge-trigger ή level-trigger για να δημιουργεί διακοπές CPU.

Κανάλι ADC Το NodeMCU είναι ενσωματωμένο με ADC SAR ακριβείας 10 bit. Οι δύο λειτουργίες μπορούν να υλοποιηθούν χρησιμοποιώντας ADC, δηλαδή. Δοκιμαστική τροφοδοσία voltage της ακίδας VDD3P3 και της εισόδου δοκιμής voltagε της καρφίτσας TOUT. Ωστόσο, δεν μπορούν να εφαρμοστούν ταυτόχρονα.

Καρφίτσες UART Το ESP8266 NodeMCU διαθέτει 2 διεπαφές UART, δηλαδή UART0 και UART1, οι οποίες παρέχουν ασύγχρονη επικοινωνία (RS232 και RS485), και μπορούν να επικοινωνούν με ταχύτητα έως και 4.5 Mbps. Το UART0 (ακίδες TXD0, RXD0, RST0 & CTS0) μπορεί να χρησιμοποιηθεί για επικοινωνία. Υποστηρίζει έλεγχο υγρών. Ωστόσο, το UART1 (ακίδα TXD1) διαθέτει μόνο σήμα μετάδοσης δεδομένων, επομένως χρησιμοποιείται συνήθως για εκτύπωση αρχείου καταγραφής.

Καρφίτσες SPI Το ESP8266 διαθέτει δύο SPI (SPI και HSPI) σε slave και master modes. Αυτά τα SPI υποστηρίζουν επίσης τα ακόλουθα χαρακτηριστικά SPI γενικής χρήσης:

  • 4 λειτουργίες χρονισμού της μεταφοράς μορφής SPI
  • Έως 80 MHz και τα διαιρεμένα ρολόγια των 80 MHz
  • Έως 64-Byte FIFO

Καρφίτσες SDIO Το ESP8266 διαθέτει ασφαλή ψηφιακή διεπαφή εισόδου/εξόδου (SDIO) που χρησιμοποιείται για την άμεση διασύνδεση καρτών SD. Υποστηρίζονται 4-bit 25 MHz SDIO v1.1 και 4-bit 50 MHz SDIO v2.0.

PWM Pins Η πλακέτα διαθέτει 4 κανάλια διαμόρφωσης πλάτους παλμού (PWM). Η έξοδος PWM μπορεί να υλοποιηθεί μέσω προγραμματισμού και να χρησιμοποιηθεί για την οδήγηση ψηφιακών κινητήρων και LED. Το εύρος συχνοτήτων PWM είναι ρυθμιζόμενο από 1000 μs έως 10000 μs, δηλαδή μεταξύ 100 Hz και 1 kHz.

Καρφίτσες ελέγχου χρησιμοποιούνται για τον έλεγχο του ESP8266. Αυτές οι ακίδες περιλαμβάνουν την ακίδα Chip Enable (EN), την καρφίτσα επαναφοράς (RST) και την ακίδα WAKE.

  • Καρφίτσα EN – Το τσιπ ESP8266 ενεργοποιείται όταν η ακίδα EN τραβιέται ΥΨΗΛΑ. Όταν τραβιέται LOW το τσιπ λειτουργεί με την ελάχιστη ισχύ.
  • Καρφίτσα RST – Η ακίδα RST χρησιμοποιείται για την επαναφορά του τσιπ ESP8266.
  • Καρφίτσα WAKE – Η καρφίτσα αφύπνισης χρησιμοποιείται για την αφύπνιση του τσιπ από βαθύ ύπνο.

ESP8266 Πλατφόρμες ανάπτυξης

Τώρα, ας περάσουμε στα ενδιαφέροντα πράγματα! Υπάρχει μια ποικιλία από πλατφόρμες ανάπτυξης που μπορούν να εξοπλιστούν για τον προγραμματισμό του ESP8266. Μπορείτε να χρησιμοποιήσετε το Espruino – JavaScript SDK και υλικολογισμικό που μιμείται στενά το Node.js ή να χρησιμοποιήσετε το Mongoose OS – Ένα λειτουργικό σύστημα για συσκευές IoT (συνιστώμενη πλατφόρμα από την Espressif Systems και το Google Cloud IoT) ή να χρησιμοποιήσετε ένα κιτ ανάπτυξης λογισμικού (SDK) που παρέχεται από την Espressif ή σε μία από τις πλατφόρμες που αναφέρονται στο WiKiPedia. Ευτυχώς, η καταπληκτική κοινότητα ESP8266 πήγε την επιλογή IDE ένα βήμα παραπέρα δημιουργώντας ένα πρόσθετο Arduino. Εάν μόλις ξεκινάτε τον προγραμματισμό του ESP8266, αυτό είναι το περιβάλλον με το οποίο συνιστούμε να ξεκινήσετε και αυτό που θα τεκμηριώσουμε σε αυτό το σεμινάριο.
Αυτό το πρόσθετο ESP8266 για το Arduino βασίζεται στην εκπληκτική δουλειά του Ivan Grokhotkov και της υπόλοιπης κοινότητας ESP8266. Ελέγξτε το αποθετήριο ESP8266 Arduino GitHub για περισσότερες πληροφορίες.

Εγκατάσταση του ESP8266 Core σε λειτουργικό σύστημα Windows

Ας προχωρήσουμε στην εγκατάσταση του ESP8266 Arduino core. Το πρώτο πράγμα είναι να έχετε εγκατεστημένο το τελευταίο Arduino IDE (Arduino 1.6.4 ή νεότερο) στον υπολογιστή σας. Εάν δεν το έχετε, συνιστούμε να κάνετε αναβάθμιση τώρα.
Σύνδεσμος για Arduino IDE – https://www.arduino.cc/en/software
Για να ξεκινήσουμε, θα χρειαστεί να ενημερώσουμε τον διαχειριστή του συμβουλίου με ένα προσαρμοσμένο URL. Ανοίξτε το Arduino IDE και μεταβείτε στο File > Προτιμήσεις. Στη συνέχεια, αντιγράψτε παρακάτω URL στον Πρόσθετο Διευθυντή του Διοικητικού Συμβουλίου URLπλαίσιο κειμένου που βρίσκεται στο κάτω μέρος του παραθύρου: http://arduino.esp8266.com/stable/package_esp8266com_index.jsonENGINNERS-NodeMCU-Development-Board-7

Πατήστε ΟΚ. Στη συνέχεια, μεταβείτε στον Διαχειριστή Πίνακα μεταβαίνοντας στα Εργαλεία > Πίνακες > Διαχειριστής πινάκων. Θα πρέπει να υπάρχουν μερικές νέες καταχωρήσεις εκτός από τις τυπικές πλακέτες Arduino. Φιλτράρετε την αναζήτησή σας πληκτρολογώντας esp8266. Κάντε κλικ σε αυτήν την καταχώρηση και επιλέξτε Εγκατάσταση.ENGINNERS-NodeMCU-Development-Board-8

Οι ορισμοί και τα εργαλεία πλακέτας για το ESP8266 περιλαμβάνουν ένα εντελώς νέο σύνολο gcc, g++ και άλλα λογικά μεγάλα, μεταγλωττισμένα δυαδικά αρχεία, επομένως ενδέχεται να χρειαστούν μερικά λεπτά για τη λήψη και την εγκατάσταση (το αρχειοθετημένο file είναι ~ 110 MB). Μόλις ολοκληρωθεί η εγκατάσταση, δίπλα στην καταχώρηση θα εμφανιστεί ένα μικρό κείμενο INSTALLED. Τώρα μπορείτε να κλείσετε τον Διευθυντή του Διοικητικού Συμβουλίου

Arduino Example: Αναβοσβήνει

Για να βεβαιωθούμε ότι ο πυρήνας ESP8266 Arduino και το NodeMCU έχουν ρυθμιστεί σωστά, θα ανεβάσουμε το απλούστερο σκίτσο όλων – The Blink! Θα χρησιμοποιήσουμε το ενσωματωμένο LED για αυτήν τη δοκιμή. Όπως αναφέρθηκε προηγουμένως σε αυτό το σεμινάριο, η ακίδα D0 της πλακέτας είναι συνδεδεμένη στο ενσωματωμένο μπλε LED και μπορεί να προγραμματιστεί από τον χρήστη. Τέλειος! Πριν φτάσουμε στο ανέβασμα σκίτσου και το παιχνίδι με LED, πρέπει να βεβαιωθούμε ότι ο πίνακας έχει επιλεγεί σωστά στο Arduino IDE. Ανοίξτε το Arduino IDE και επιλέξτε NodeMCU 0.9 (ESP-12 Module) στο μενού Arduino IDE > Εργαλεία > Πίνακας.ENGINNERS-NodeMCU-Development-Board-9

Τώρα, συνδέστε το ESP8266 NodeMCU στον υπολογιστή σας μέσω καλωδίου USB micro-B. Μόλις συνδεθεί η πλακέτα, θα πρέπει να της εκχωρηθεί μια μοναδική θύρα COM. Σε υπολογιστές με Windows, αυτό θα είναι κάτι σαν COM# και σε υπολογιστές Mac/Linux θα έχει τη μορφή /dev/tty.usbserial-XXXXXX. Επιλέξτε αυτήν τη σειριακή θύρα στο μενού Arduino IDE > Εργαλεία > Θύρα. Επιλέξτε επίσης την Ταχύτητα Μεταφόρτωσης: 115200ENGINNERS-NodeMCU-Development-Board-10

Προειδοποίηση: Χρειάζεται περισσότερη προσοχή στην επιλογή πλακέτας, στην επιλογή θύρας COM και στην επιλογή της ταχύτητας αποστολής. Ενδέχεται να λάβετε σφάλμα espcomm_upload_mem κατά τη μεταφόρτωση νέων σκίτσων, εάν δεν το κάνετε.

Μόλις τελειώσετε, δοκιμάστε το πρώηνampτο σκίτσο παρακάτω.

void setup()
{pinMode(D0, OUTPUT);}void loop()
{digitalWrite(D0, HIGH);
καθυστέρηση (500);
digitalWrite(D0, LOW);
καθυστέρηση (500);
Μόλις μεταφορτωθεί ο κωδικός, το LED θα αρχίσει να αναβοσβήνει. Ίσως χρειαστεί να πατήσετε το κουμπί RST για να ξεκινήσει το ESP8266 να εκτελεί το σκίτσο.ENGINNERS-NodeMCU-Development-Board-11

Έγγραφα / Πόροι

ENGINNERS ESP8266 NodeMCU Development Board [pdf] Οδηγίες
ESP8266 NodeMCU Development Board, ESP8266, NodeMCU Development Board

Αναφορές

Αφήστε ένα σχόλιο

Η διεύθυνση email σας δεν θα δημοσιευτεί. Τα υποχρεωτικά πεδία επισημαίνονται *