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

Ξεκινώντας με το MicroPython στο ESP8266: 10 βήματα (με εικόνες)
Ξεκινώντας με το MicroPython στο ESP8266: 10 βήματα (με εικόνες)

Βίντεο: Ξεκινώντας με το MicroPython στο ESP8266: 10 βήματα (με εικόνες)

Βίντεο: Ξεκινώντας με το MicroPython στο ESP8266: 10 βήματα (με εικόνες)
Βίντεο: Γιατί επενδύω 3.000 ευρώ τον Σεπτέμβριο; 2024, Νοέμβριος
Anonim
Ξεκινώντας με το MicroPython στο ESP8266
Ξεκινώντας με το MicroPython στο ESP8266

Θέλετε έναν διαφορετικό τρόπο προγραμματισμού των πινάκων που βασίζονται σε ESP8266 και όχι την κοινή μέθοδο χρησιμοποιώντας το Arduino IDE μαζί με τη γλώσσα προγραμματισμού C/C ++;

Σε αυτό το σεμινάριο θα μάθουμε ποιος να ρυθμίσει και να ελέγξει έναν πίνακα ESP8266 χρησιμοποιώντας το MicroPython.

ΧΡΟΝΟΣ ΚΑΤΑΣΚΕΥΗΣ: 60 ΛΕΠΤΑ ΔΥΣΚΟΛΙΑ: ΑΞΙΟΛΟΓΗΣΗ: Εύκολο

Βήμα 1: Τι είναι το MicroPython;

Το MicorPython είναι μία από τις πολλές γλώσσες προγραμματισμού που μπορούμε να χρησιμοποιήσουμε για τον προγραμματισμό της μονάδας ESP8266. Είναι μια λιτή και γρήγορη έκδοση της γλώσσας προγραμματισμού Python 3 και έχει αρκετά πλεονεκτήματα έναντι των παραδοσιακών γλωσσών προγραμματισμού όπως η C και η C ++.

Το MicroPython έχει σχεδιαστεί για να είναι συμβατό με την κανονική Python όσο το δυνατόν περισσότερο. Διαθέτει πλήρη μεταγλωττιστή Python και χρόνο εκτέλεσης και παρέχει μια διαδραστική προτροπή γνωστή ως REPL (Read-Eval-Print Loop).

Το MicorPython έχει σχεδιαστεί για να υποστηρίζει λίγους διαφορετικούς τύπους μικροελεγκτών. Αλλά για αυτό το σεμινάριο θα δουλέψω μόνο με ένα μοντέλο: τον πίνακα που βασίζεται στο ESP8266 (NodeMCU). Σημειώστε ότι υπάρχουν μερικοί διαφορετικοί πίνακες που μπορείτε να αγοράσετε με το ίδιο τσιπ.

Ανάγνωση & πόροι:

MicroPython

NodeMCU

Βήμα 2: Απαιτήσεις

Απαιτήσεις
Απαιτήσεις
Απαιτήσεις
Απαιτήσεις
Απαιτήσεις
Απαιτήσεις
Απαιτήσεις
Απαιτήσεις

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

Θα χρειαστείτε επίσης έναν υπολογιστή Windows, Mac ή Linux με δωρεάν θύρα USB, καθώς θα συνδέσετε έναν μικροελεγκτή στον υπολογιστή σας για να τον προγραμματίσετε.

Απαιτούμενα μέρη:

1 x NodeMCU (ή άλλη πλακέτα βασισμένη σε ESP8266)

1 x κόκκινο LED 5mm

1 x 220Ω 1/4W Αντίσταση

1 x Περιστροφικό ποτενσιόμετρο 10KΩ

1 x Breadboard

1 x καλώδιο USB σε MicroUSB

Jumper Wires.

Βήμα 3: Γιατί ESP8266 Based-board;

Γιατί ESP8266 Based-board
Γιατί ESP8266 Based-board

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

Το τσιπ ESP8266 είναι δημοφιλές στη βιομηχανία ανάπτυξης ανοιχτού κώδικα. Υπάρχουν πολλοί πίνακες ανάπτυξης από διαφορετικούς κατασκευαστές που χρησιμοποιούν το τσιπ ESP8266. Το MicroPython έχει σχεδιαστεί για να παρέχει μια γενική θύρα που μπορεί να τρέξει στους περισσότερους από αυτούς τους πίνακες, με όσο το δυνατόν λιγότερους περιορισμούς. Η θύρα βασίζεται στον πίνακα Adafruit Feather HUZZAH Όταν χρησιμοποιείτε άλλους πίνακες ESP8266, βεβαιωθείτε ότι έχετε ελέγξει τα διαγράμματα και τα φύλλα δεδομένων τους, ώστε να εντοπίσετε τις διαφορές μεταξύ αυτών και της πλακέτας Adafruit Feather HUZZAH. Με αυτόν τον τρόπο, μπορείτε να προσαρμόσετε τις διαφορές στον κώδικά σας.

Ανάγνωση & πόροι:

ESP8266

Φτερό Adafruit HUZZAH

Βήμα 4: Ρύθμιση του υπολογιστή σας

Ρύθμιση του υπολογιστή σας
Ρύθμιση του υπολογιστή σας
Ρύθμιση του υπολογιστή σας
Ρύθμιση του υπολογιστή σας
Ρύθμιση του υπολογιστή σας
Ρύθμιση του υπολογιστή σας
Ρύθμιση του υπολογιστή σας
Ρύθμιση του υπολογιστή σας

Υπάρχουν πολλά πράγματα που πρέπει να ρυθμίσετε πριν χρησιμοποιήσετε το MicroPython για να προγραμματίσετε τον πίνακα ESP8266. Θα περάσουμε από τη διαδικασία εγκατάστασης σε αυτό το βήμα. Με αυτόν τον τρόπο θα ξέρετε πώς να διαμορφώσετε την πλακέτα ESP8266 για χρήση με το MicroPython.

Ετοιμάζομαι

Το μόνο που χρειάζεστε από αυτό το βήμα στο βήμα 6 είναι το ESP8266 και ένα καλώδιο USB. Συνδέστε την πλακέτα ESP8266 στον υπολογιστή σας.

Πως να το κάνεις…

ΒΗΜΑ 1: Εγκαταστήστε προγράμματα οδήγησης συσκευών

Εάν διαθέτετε υπολογιστή Linux, τότε δεν χρειάζεται να εγκαταστήσετε προγράμματα οδήγησης συσκευών για την αναγνώριση των προγραμμάτων οδήγησης του μικροελεγκτή. Αλλά έχετε Mac ή μηχανή Windows, απαιτείται πρόγραμμα οδήγησης για να επιτρέψετε στον υπολογιστή να αναγνωρίσει τον μικροελεγκτή ως σειριακή συσκευή.

www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers.

ΒΗΜΑ 2: Εγκαταστήστε την Python

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

Εάν το λειτουργικό σας σύστημα δεν παρέχει προσυσκευασμένη Python, μπορείτε να μεταβείτε στη διεύθυνση https://python.org για να κατεβάσετε μια επίσημη έκδοση για οποιοδήποτε από τα υποστηριζόμενα λειτουργικά συστήματα.

ΒΗΜΑ 3: Εγκαταστήστε το esptool και το rshell

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

pip εγκατάσταση esptool rshell

ΒΗΜΑ 4: Κατεβάστε το MicroPython

Κατεβάστε το πιο πρόσφατο.bin υλικολογισμικού MicroPython από τον ακόλουθο σύνδεσμο:

Τη στιγμή που γράφω αυτό, η τρέχουσα έκδοση είναι 1.11 και το αρχείο υλικολογισμικού ονομάζεται esp8266-20190529-v1.11.bin

Μέχρι να το κάνετε αυτό μπορεί να βρείτε μια νεότερη έκδοση.

Βήμα 5: Αναβοσβήνει MicroPython With Esptool.py

Αναβοσβήνει MicroPython With Esptool.py
Αναβοσβήνει MicroPython With Esptool.py
Αναβοσβήνει MicroPython With Esptool.py
Αναβοσβήνει MicroPython With Esptool.py

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

Μεταβείτε εκεί που έχετε τοποθετήσει το αρχείο.bin. Χρησιμοποιήστε το esptool.py για να διαγράψετε το φλας.

Για Linux:

esptool.py --port /dev /ttyUSB0 erase_flash

Για Windows:

esptool.py --port COM3 erase_flash

Mayσως χρειαστεί να αλλάξετε τη σειριακή θύρα στην εντολή σας στη σειριακή θύρα στην οποία είναι συνδεδεμένη η πλακέτα ESP8266. Εάν δεν γνωρίζετε τον σειριακό αριθμό θύρας του ESP8266, μπορείτε να ελέγξετε το Arduino IDE. Απλώς ανοίξτε το IDE και, στη συνέχεια, κάντε κλικ στο Εργαλεία | Λιμάνια. Θα πρέπει να δείτε τη σειριακή θύρα της πλακέτας ESP8266. Αντικαταστήστε τη σειριακή θύρα στην εντολή (/dev/ttyUSB0) με τη σειριακή θύρα της πλακέτας σας.

Τώρα που ο πίνακας έχει διαγραφεί εντελώς, μπορείτε να αναβοσβήσετε την κατασκευή MicroPython που μόλις κατεβάσατε. Αυτό γίνεται επίσης με την εντολή esptool.py:

esptool.py --port /dev /ttyUSB0-baud 460800 write_flash 0 esp8266-20190529-v1.11.bin

Αυτή η εντολή πρόκειται να γράψει τα περιεχόμενα του αρχείου.bin MicroPython στον πίνακα στη διεύθυνση 0.

Βεβαιωθείτε ότι έχετε αλλάξει το όνομα του αρχείου.bin υλικολογισμικού στην εντολή (esp82688-2019-080529-v1.11.bin) σε αυτό του υλικολογισμικού που κατεβάσατε.

Μόλις το υλικολογισμικό εγκατασταθεί επιτυχώς στον πίνακα ESP8266, μπορείτε να αποκτήσετε πρόσβαση στο REPL στον πίνακα σας μέσω ενσύρματης σύνδεσης (σειριακή θύρα UART) ή μέσω WiFi.

Βήμα 6: Χρήση του MicroPython REPL With Rshell

Χρήση του MicroPython REPL With Rshell
Χρήση του MicroPython REPL With Rshell
Χρήση του MicroPython REPL With Rshell
Χρήση του MicroPython REPL With Rshell

Είστε τώρα έτοιμοι να ξεκινήσετε το MicroPython στον πίνακα ESP8266.

Αυτό που θα σας δείξω πώς να συνδεθείτε με την προτροπή Python που εκτελείται στον πίνακα σας. Αυτό ονομάζεται REPL, το οποίο σημαίνει "Read-Eval-Print-Loop". Αυτή είναι η τυπική προτροπή Python που πιθανότατα έχετε συνηθίσει να βλέπετε όταν εργάζεστε με τον κανονικό διερμηνέα Python, αλλά αυτή τη φορά θα λειτουργεί στον πίνακα σας και για να αλληλεπιδράσετε με αυτήν θα χρησιμοποιήσετε τη σειριακή σύνδεση στον υπολογιστή σας Το Ετοιμος?

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

rshell --port

Αυτή η εντολή θα σας οδηγήσει στη γραμμή προτροπής rshell. Δείτε τη φωτογραφία παραπάνω.

Εάν ακολουθείτε αυτό το σεμινάριο στα Windows, σημειώστε ότι το rshell έχει ιστορικό προβλημάτων κατά την εκτέλεση σε Windows.

Έτσι, για να διορθώσετε αυτόν τον τύπο:

rshell -a --port COM3

Από αυτήν την προτροπή μπορείτε να εκτελέσετε εργασίες διαχείρισης που σχετίζονται με την πλακέτα μικροελεγκτή σας και επίσης να ξεκινήσετε ένα Python REPL που μπορείτε να χρησιμοποιήσετε για να αλληλεπιδράσετε με τον πίνακα σε πραγματικό χρόνο. Εισαγάγετε την ακόλουθη εντολή:

ανταπόκριση

Για να βεβαιωθείτε ότι όλα λειτουργούν, πληκτρολογήστε μια απλή πρόταση Python:

εκτύπωση ("Hello World")

Βήμα 7: Έλεγχος καρφιτσών χρησιμοποιώντας το MicroPython

Έλεγχος καρφιτσών χρησιμοποιώντας το MicroPython
Έλεγχος καρφιτσών χρησιμοποιώντας το MicroPython
Έλεγχος καρφιτσών χρησιμοποιώντας το MicroPython
Έλεγχος καρφιτσών χρησιμοποιώντας το MicroPython

Σε αυτό το βήμα, θα μάθουμε πώς να ελέγχουμε τις ακίδες ESP8266 με το MicroPython. Για να το κάνουμε αυτό, θα καταλήξουμε σε μια ρύθμιση όπου θα αλλάξουμε την κατάσταση ενός LED που είναι συνδεδεμένο σε έναν καρφίτσα GPIO του πίνακα ESP8266. Αυτό θα σας βοηθήσει να καταλάβετε πώς να ελέγχετε τις ψηφιακές εξόδους χρησιμοποιώντας το MicoPython.

Ετοιμάζομαι

Θα χρειαστείτε τα ακόλουθα πράγματα για να ολοκληρώσετε αυτό το ΒΗΜΑ:

1 x NodeMCU

1 x κόκκινο LED 5mm

1 x 220 Ω Αντίσταση

1 x Breadboard

Jumper Wires

Το χτίσιμο

Ξεκινήστε τοποθετώντας το LED στην πλάκα ψωμιού. Συνδέστε το ένα άκρο της αντίστασης 220 Ω στο θετικό σκέλος του LED (το θετικό σκέλος ενός LED είναι συνήθως το ψηλότερο από τα δύο πόδια). Συνδέστε το άλλο άκρο της αντίστασης στον πείρο D1 της πλακέτας ESP8266. Στη συνέχεια, συνδέστε το αρνητικό σκέλος της λυχνίας LED στον πείρο GND της πλακέτας ESP8266. Η σύνδεση είναι όπως φαίνεται στο παραπάνω διάγραμμα.

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

Πως να το κάνεις…

Πληκτρολογήστε τον ακόλουθο κώδικα στο REPL:

# αναβοσβήνει LED κάθε 1 δευτερόλεπτο

def blink (pin = 5, time = 1) # λειτουργία blink από προεπιλογή pin = 5, time = 1s μηχάνημα εισαγωγής # η μονάδα του μηχανήματος διατηρεί τις διαμορφώσεις και τις λειτουργίες του πείρου από την ώρα εισαγωγής ύπνου # εισαγωγή ύπνου για κάποια καθυστέρηση LED = μηχάνημα. (led_pin, machine. PIN. OUT) # διαμορφώστε το LED ως OUTPUT ενώ είναι True: # τρέξτε για πάντα LED. τιμή (1) # ρυθμίστε το LED σε Υ sleepΗΛΟ ύπνο (χρόνος) # περιμένετε 1 δευτερόλεπτο από προεπιλογή LED. τιμή (0) # ορίστε LED για LOW sleep (ώρα) # αναμονή 1 δευτερόλεπτο από προεπιλογή

Πληκτρολογήστε blink () στη συνεδρία RPEL για να δοκιμάσετε αυτόν τον κωδικό. Αυτό θα αναβοσβήνει το LED που είναι συνδεδεμένο στο GPIO5 κάθε 1 δευτερόλεπτο.

Μπορείτε να αλλάξετε την καρφίτσα ή/και την ώρα καλώντας:

αναβοσβήνει (pin =, time =)

Πατήστε ctrl+c για έξοδο από τον τρέχοντα κωδικό.

Μπορείτε να χρησιμοποιήσετε το MicroPython για να διαβάσετε μια είσοδο από συνδεδεμένη στο ESP8266. Προχωρήστε στο επόμενο βήμα για να μάθετε πώς να το κάνετε αυτό.

Ελέγξτε το βίντεο αν κολλήσατε.

Βήμα 8: Ξεθώριασμα της λυχνίας LED

Ξεθώριασμα του LED
Ξεθώριασμα του LED
Ξεθώριασμα του LED
Ξεθώριασμα του LED

Σε αυτό το βήμα, θα μάθουμε πώς να ρυθμίζουμε τη φωτεινότητα του LED χρησιμοποιώντας περιστροφικό ποτενσιόμετρο. Θα χρησιμοποιήσουμε μια τεχνική που ονομάζεται Pulse Width Modulation (PWM), μας επιτρέπει να μειώσουμε το LED με έως και 256 ρυθμίσεις.

Σημείωση: Όλες οι ακίδες του ESP8266 μπορούν να χρησιμοποιηθούν ως PWM pin εκτός από το GPIO16 (D0).

Ετοιμάζομαι:

Θα χρειαστείτε τα ακόλουθα πράγματα για να ολοκληρώσετε αυτό το ΒΗΜΑ:

1 x NodeMCU

1 x κόκκινο LED 5mm

1 x 50 KΩ Περιστροφικό ποτενσιόμετρο.

1 x Breadboard

Jumper Wires

Το χτίσιμο

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

Πως να το κάνεις…

Πληκτρολογήστε τον ακόλουθο κώδικα στο REPL:

# Ξεθώριασμα LED κάθε 0,5 διαβάζοντας δεδομένα από το Ποτενσιόμετρο

εισαγωγή μηχανής από καιρό εισαγωγή ύπνου led_pin = 5 # led pin POT = machine. ADC (0) # ADC0 pin LED = machine. Pin (led_pin) # create LED object LED_pwm = machine. PWM (LED, freq = 500) # create LED_pwm αντικείμενο και ορίστε τη συχνότητα στα 500Hz ενώ True: LED_pwm.duty (POT.read ()) # λάβετε την τιμή από το δοχείο και ορίστε την στον κύκλο λειτουργίας ύπνου (0,5) # αναμονή 0,5

Αυτό θα αλλάξει τη φωτεινότητα του LED που είναι συνδεδεμένο στο GPIO 5 αλλάζοντας την τιμή του ποτενσιόμετρου.

Πατήστε ctrl+c για έξοδο από τον τρέχοντα κωδικό.

Ελέγξτε το βίντεο αν κολλήσατε.

Βήμα 9: Από πού από εδώ;

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

Τώρα μπορούμε να διαβάσουμε δεδομένα από τον αισθητήρα και να τα στείλουμε στο σύννεφο, μπορούμε επίσης να δημιουργήσουμε έναν διακομιστή HTTP όπου θα μπορούσατε να εκτυπώσετε τα δεδομένα μας σε μια απλή ιστοσελίδα, κλπ…

Αυτό μας δίνει πολλές ιδέες για το Internet of things (IoT).

Βήμα 10: Συμπέρασμα

Ορίστε το! Προχωρήστε και κατακτήστε τον κόσμο του MicroPython.

αν έχετε οποιαδήποτε απορία φυσικά μπορείτε να αφήσετε ένα σχόλιο.

Για να δείτε περισσότερα σχετικά με τα έργα μου, επισκεφτείτε το κανάλι μου στο YouTube:

myYouTube

myGitHub

myLinkedin

Ευχαριστώ που διαβάσατε αυτό το διδακτικό ^^ και να έχετε μια όμορφη μέρα.

Τα λέμε.

Αχμέτ Νουίρα.

Συνιστάται: