Το MicroPython είναι μια ελαφριά έκδοση της γλώσσας προγραμματισμού Python που αναπτύχθηκε για προγραμματισμό μικροελεγκτών, SOC και άλλων ενσωματωμένων συσκευών συστήματος. Δημιουργήθηκε για να δώσει τη δυνατότητα στους προγραμματιστές να αξιοποιήσουν το « εύκολο στη μάθηση και τη χρήση» φύση του python για ανάπτυξη ενσωματωμένων συστημάτων. Με την Python να αποτελεί τη βασική εισαγωγική γλώσσα στα περισσότερα σχολεία και με το να είναι μία από τις πιο δημοφιλείς και ευρέως χρησιμοποιούμενες γλώσσες προγραμματισμού σε όλο τον κόσμο, μέσω του micro-python, δεκάδες χρήστες Python μπορούν να παρακάμψουν την αγχωτική απότομη καμπύλη μάθησης που σχετίζεται με τη χρήση C και C ++ για τον προγραμματισμό μικροελεγκτών. Μπορούν αμέσως να αρχίσουν να χρησιμοποιούν τις γνώσεις που έχουν αποκτήσει με την πάροδο των ετών για να έχουν πρόσβαση στο υλικό χαμηλού επιπέδου όπως και με τις άλλες γλώσσες. Το Micro-python είναι συγκεκριμένα μια λιτή εφαρμογή του Python 3 και ως εκ τούτου είναι συμβατή με τη σύνταξη του python 3.
Ενώ το MicroPython δεν βρίσκεται ακόμη στο ίδιο επίπεδο δημοτικότητας με τα C και C ++ για την ανάπτυξη ενσωματωμένων συστημάτων, η δημοτικότητά του αυξάνεται με όλο και περισσότερους μικροελεγκτές, IDE και πίνακες ανάπτυξης που υποστηρίζουν τη χρήση του. Για το σημερινό σεμινάριο, θα εξετάσουμε έναν από αυτούς τους πίνακες για τους οποίους μπορεί να αναπτυχθεί υλικολογισμικό χρησιμοποιώντας το MicroPython.
Για το σημερινό σεμινάριο, θα εξετάσουμε την ανάπτυξη του κώδικα για το ESP32 χρησιμοποιώντας το MicroPython.
Θα ξεκινήσουμε ρίχνοντας μια ματιά στο γιατί το MicroPython είναι καλό για το ESP32 και θα δουλέψουμε με τον τρόπο δημιουργώντας το ESP32 για MicroPython και ανεβάζοντας το σκίτσο blink με το MicroPython στο ESP32.
Γιατί το MicroPython; (MicroPython εναντίον Arduino C)
Ένας από τους καλά αποδεδειγμένους, ευκολότερους τρόπους προγραμματισμού του ESP32 είναι με τη χρήση του Arduino IDE που σημαίνει τη χρήση της έκδοσης Arduino των C ή C ++. Οι C και C ++, εδώ και δεκαετίες, ήταν οι δύο πιο δημοφιλείς γλώσσες για την ανάπτυξη ενσωματωμένων συστημάτων και η έκδοση Arduino της γλώσσας το έκανε ακόμα πιο απλό, το οποίο εξηγεί τη δημοτικότητά του μεταξύ των κατασκευαστών και των χόμπι λόγω της ευκολίας με την οποία μπορούν να αναπτυχθούν κωδικοί. Εκτός από αυτό, το Arduino έχει μία από τις μεγαλύτερες κοινότητες τεχνολογίας στον κόσμο με νέες βιβλιοθήκες, επιδιορθώσεις λογισμικού, νέα υποστήριξη πινάκων κ.λπ. που κυκλοφορεί καθημερινά από την κοινότητα. Όλα αυτά το καθιστούν ένα τρομερό εργαλείο για τον προγραμματισμό ενσωματωμένων πινάκων συστήματος. Ο μόνος πραγματικός περιορισμός που μπορεί να επισυναφθεί στο Arduino C είναι το γεγονός ότι λειτουργεί μόνο εντός του Arduino IDE.Με το IDE να είναι περιορισμένο και να μην διαθέτει κάποια χαρακτηριστικά που θα μπορούσαν πραγματικά να είναι χρήσιμα κατά την ανάπτυξη μιας μεγάλης βάσης κώδικα, το Arduino C δεν είναι το πιο αποτελεσματικό.
Το MicroPython, από την άλλη πλευρά, είναι σχετικά νέο. Ενώ η κοινότητα των χρηστών της αναπτύσσεται, με την υποστήριξη για περισσότερες πλατφόρμες που κυκλοφορούν, η ισχύς της δεν μπορεί να συγκριθεί με αυτήν του Arduino. Από την άλλη πλευρά, το MicroPython είναι ουσιαστικά μια λιτή έκδοση του python, η οποία είναι μια από τις πιο δημοφιλείς γλώσσες προγραμματισμού στον κόσμο και ως εκ τούτου, οποιοδήποτε πρόβλημα που δεν μπορεί να λυθεί από την κοινότητα MicroPython μπορεί να λάβει γνώσεις από τη γενική κοινότητα python.
Εκτός από την υποστήριξη της κοινότητας, το MicroPython έχει επίσης ορισμένα χαρακτηριστικά που το βάζουν πολύ πάνω από την κατηγορία του Arduino. Ένα από αυτά τα χαρακτηριστικά είναι το REPL. REPL σημαίνει Read-Evaluate-Print. Αυτή η δυνατότητα σάς επιτρέπει να συνδεθείτε σε έναν πίνακα και να εκτελέσετε κώδικα γρήγορα χωρίς να χρειάζεται να μεταγλωττίσετε ή να ανεβάσετε ολόκληρο τον κώδικα. Ως εκ τούτου, μπορείτε να δοκιμάσετε κάθε μέρος του κώδικα καθώς τα αναπτύσσετε.
Ανεξάρτητα από το ποια από αυτές τις δύο επιλέγετε για το έργο σας, βεβαιωθείτε ότι σας εξυπηρετεί καλύτερα. Με αυτόν τον τρόπο, ας ξεκινήσουμε να χτίζουμε το παράδειγμα αναλαμπής χρησιμοποιώντας το ESP32 με το MicroPython.
Απαιτούμενα συστατικά
Για να δημιουργήσουμε το παράδειγμα αναλαμπής, θα χρειαστούμε τα ακόλουθα στοιχεία.
- DOIT ESP32 DevKit v1 (1)
- Ένα LED (1)
- Αντίσταση 100 Ohm (1)
- Καλώδια αλτών
- Ψωμί (1)
Μπορείτε να χρησιμοποιήσετε οποιαδήποτε από τις άλλες πλακέτες με βάση το ESP32 στη θέση του DOIT ESP32 DevKit V1 και μπορείτε να επιλέξετε να εργαστείτε με το ενσωματωμένο LED, πράγμα που σημαίνει ότι χρειάζεστε μόνο την πλακέτα ESP32 για αυτό το σεμινάριο. Προηγουμένως, αναβοσβήσαμε το ESP32 LED προγραμματίζοντάς το χρησιμοποιώντας το Arduino IDE.
Εκτός από τα στοιχεία του υλικού, θα απαιτήσουμε επίσης λογισμικό όπως το Thonny IDE