Πίνακας περιεχομένων:
- Βήμα 1: Τι είναι το MicroPython;
- Βήμα 2: Απαιτήσεις
- Βήμα 3: Γιατί ESP8266 Based-board;
- Βήμα 4: Ρύθμιση του υπολογιστή σας
- Βήμα 5: Αναβοσβήνει MicroPython With Esptool.py
- Βήμα 6: Χρήση του MicroPython REPL With Rshell
- Βήμα 7: Έλεγχος καρφιτσών χρησιμοποιώντας το MicroPython
- Βήμα 8: Ξεθώριασμα της λυχνίας LED
- Βήμα 9: Από πού από εδώ;
- Βήμα 10: Συμπέρασμα
Βίντεο: Ξεκινώντας με το MicroPython στο ESP8266: 10 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:35
Θέλετε έναν διαφορετικό τρόπο προγραμματισμού των πινάκων που βασίζονται σε 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 είναι χρησιμοποιώντας το 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
Πριν αναβοσβήσετε ένα νέο υλικολογισμικό στον πίνακα, είναι καλή ιδέα να διαγράψετε τυχόν προηγούμενα δεδομένα. Αυτό είναι κάτι που πρέπει να κάνετε πάντα, ώστε το νέο υλικολογισμικό να τρέχει από καθαρή κατάσταση.
Μεταβείτε εκεί που έχετε τοποθετήσει το αρχείο.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 στον πίνακα 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
Σε αυτό το βήμα, θα μάθουμε πώς να ελέγχουμε τις ακίδες 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 χρησιμοποιώντας περιστροφικό ποτενσιόμετρο. Θα χρησιμοποιήσουμε μια τεχνική που ονομάζεται 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
Ευχαριστώ που διαβάσατε αυτό το διδακτικό ^^ και να έχετε μια όμορφη μέρα.
Τα λέμε.
Αχμέτ Νουίρα.
Συνιστάται:
Ξεκινώντας με το ROS Melodic στο Raspberry Pi 4 Μοντέλο Β: 7 βήματα
Ξεκινώντας με το ROS Melodic στο Raspberry Pi 4 Μοντέλο Β: Το λειτουργικό σύστημα ρομπότ (ROS) είναι ένα σύνολο βιβλιοθηκών λογισμικού και εργαλείων που χρησιμοποιούνται για τη δημιουργία ρομποτικών συστημάτων και εφαρμογών. Η τρέχουσα μακροπρόθεσμη έκδοση υπηρεσιών του ROS είναι η Melodic Morenia. Το ROS Melodic είναι συμβατό μόνο με το Ubuntu 18.04 Bionic Beaver
Ξεκινώντας με τον αυτοματισμό στο σπίτι: Εγκατάσταση του Home Assistant: 3 Βήματα
Ξεκινώντας με το Home Automation: Installing Home Assistant: Τώρα ξεκινάμε τη σειρά αυτοματισμού σπιτιού, όπου δημιουργούμε ένα έξυπνο σπίτι που θα μας επιτρέπει να ελέγχουμε πράγματα όπως φώτα, ηχεία, αισθητήρες και ούτω καθεξής χρησιμοποιώντας έναν κεντρικό διανομέα μαζί με ένα φωνητικός βοηθός. Σε αυτήν την ανάρτηση, θα μάθουμε πώς να
Εγκατάσταση Raspbian Buster στο Raspberry Pi 3 - Ξεκινώντας με το Raspbian Buster With Raspberry Pi 3b / 3b+: 4 βήματα
Εγκατάσταση Raspbian Buster στο Raspberry Pi 3 | Ξεκινώντας με το Raspbian Buster With Raspberry Pi 3b / 3b+: Γεια σας παιδιά, πρόσφατα ο οργανισμός Raspberry pi κυκλοφόρησε το νέο Raspbian OS που ονομάζεται Raspbian Buster. Είναι μια νέα έκδοση του Raspbian για Raspberry pi's. Σήμερα λοιπόν σε αυτά τα εκπαιδευτικά θα μάθουμε πώς να εγκαταστήσετε το Raspbian Buster OS στο Raspberry pi 3
Ξεκινώντας με το ESP32 - Εγκατάσταση πλακών ESP32 στο Arduino IDE - ESP32 Blink Code: 3 βήματα
Ξεκινώντας με το ESP32 | Εγκατάσταση πλακών ESP32 στο Arduino IDE | ESP32 Blink Code: Σε αυτά τα εγχειρίδια θα δούμε πώς να ξεκινήσετε να εργάζεστε με το esp32 και πώς να εγκαταστήσετε τους πίνακες esp32 στο Arduino IDE και θα προγραμματίσουμε το esp 32 να εκτελεί κώδικα αναλαμπής χρησιμοποιώντας το arduino ide
Ξεκινώντας W/ NodeMCU ESP8266 στο Arduino IDE: 6 βήματα
Ξεκινώντας W/ NodeMCU ESP8266 στο Arduino IDE: Επισκόπηση Σε αυτό το σεμινάριο, θα μάθετε πώς να χρησιμοποιείτε το NodeMCU στο Arduino IDE. Τι θα μάθετε Γενικές πληροφορίες σχετικά με το NodeMCU Πώς να εγκαταστήσετε πίνακες που βασίζονται σε ESP8266 στο Arduino IDE Πώς να προγραμματίσετε NodeMCU σε Arduino μεταχειρισμένος