micropython

Ό,τι χρειάζεται να ξέρετε για την MicroPython σε μικροελεγκτές!

Η απλότητα της MicroPython την καθιστά μια εξαιρετική επιλογή για αρχάριους που είναι νέοι στον προγραμματισμό και τις πλακέτες!

Εάν αναρωτηθούμε τι εκανε την MicroPython τόσο δημοφιλή, δεν μπορούμε να μην αναφερθούμε στο πρώτο Arduino Uno, που έφερε επανάσταση στα IoT projects και συνεχίζει να είναι πολύ χρήσιμη λύση ανάμεσα σε χομπίστες του είδους. Όπως όλοι γνωρίζουμε, ένας μικροελεγκτής είναι ένας στοιχειώδης μικρός υπολογιστής που μπορεί να χρησιμοποιηθεί σε διάφορα project αυτοματισμού.

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

Αλλά καθώς η Python γινόταν αρκετά δημοφιλής μεταξύ των αρχάριων χρηστών, οι εταιρείες δημιούργησαν πλακέτες που υποστηρίζουν τη σύνταξη κώδικα σε Python. Λόγω των φυσικών περιορισμών αυτών των μικροελεγκτών δεν είναι δυνατό να τρέξετε την Python3 σε αυτούς τους μικροελεγκτές.

Ως εκ τούτου, οι προγραμματιστές δημιούργησαν μια ειδική έκδοση της Python με απλοποιημένες βιβλιοθήκες που θα λειτουργούν καλύτερα στους μικροελεγκτές. Η γλώσσα αυτή έγινε γνωστή ως MicroPython (Python για Microcontrollers – μικροελεγκτές).

Η MicroPython αποτελεί πρακτικά μια εφαρμογή λογισμικού μιας γλώσσας προγραμματισμού συμβατής με την Python 3, γραμμένη σε C, η οποία είναι διαμορφωμένη ώστε να τρέχει ιδανικά σε μικροελεγκτές και πλακέτες (όπως RP2040, ESP32, Raspberry Pi Pico, BBC micro:bit και άλλα).

H MicroPython αποτελείται από έναν Python compiler σε bytecode και έναν runtime διερμηνέα αυτού του bytecode. Στον χρήστη παρουσιάζεται μια διαδραστική προτροπή (το REPL -read–eval–print loop) για την άμεση εκτέλεση των υποστηριζόμενων εντολών. Η MicroPython περιλαμβάνει ενότητες που δίνουν στον προγραμματιστή πρόσβαση σε low-level εξοπλισμό και συμπεριλαμβάνει βασικές βιβλιοθήκες Python .

Ο πηγαίος κώδικας του project είναι διαθέσιμος στο GitHub υπό την άδεια MIT License.

Συμβατές πλατφόρμες: ARM Cortex-M, STM32, ESP8266, ESP32, 16-bit PIC, Unix, Microsoft Windows, Zephyr, JavaScript, RP2040

PythonMicroPython
Η Python είναι μια Object-oriented (OOP) γλώσσα προγραμματισμού (με βάση πεδία δεδομένων και όχι συναρτήσεις) και περιέχει μια μεγάλη τυποποιημένη βιβλιοθήκη.Η MicroPython είναι επίσης μια object-oriented γλώσσα προγραμματισμού, αλλά περιέχει μόνο ένα υποσύνολο της βιβλιοθήκης της Python.
Χρησιμοποιείται για την ανάπτυξη εφαρμογών desktop και cloud.Χρησιμοποιείται για την ανάπτυξη embedded εφαρμογών.
Χρησιμοποιεί πολύ χώρο στο σκληρό δίσκο και χρησιμοποιεί περισσότερη μνήμη.Καταλαμβάνει λιγότερο χώρο στο σκληρό δίσκο και χρησιμοποιεί λιγότερη μνήμη.
Η Python σχεδιάστηκε για να τρέχει σε μεγαλύτερους και ισχυρότερους επεξεργαστές, όπως ένα laptop ή ένας υπολογιστής.Η MicroPython έχει σχεδιαστεί για να τρέχει σε μικρότερους, φθηνότερους και λιγότερο ενεργοβόρους μικροελεγκτές, όπως τα PyBoards, Raspberry Pi Boards και Arduino Boards.
Σύγκριση Python με MicroPython

Γιατί να επιλέξετε την MicroPython?

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

Με τη MicroPython έχετε τη δυνατότητα να γράφετε απλούστερο κώδικα, αντί να χρησιμοποιείτε Γλώσσες Προγραμματισμού χαμηλότερου επιπέδου, όπως η C ή η C ++.
Υπάρχουν ορισμένα χαρακτηριστικά που διαθέτει η MicroPython και είναι αυτά που την καθιστούν μοναδική και διαφορετική από άλλα ενσωματωμένα συστήματα:

  • Διαθέτει RELP (Read-Eval-Print Loop), το οποίο είναι ένα μικρό διαδραστικό πρόγραμμα που διαβάζει και ερμηνεύει τις εντολές του χρήστη, τις αξιολογεί και στη συνέχεια εμφανίζει το αποτέλεσμα. Αυτό σας επιτρέπει να συνδέσετε μια πλακέτα (μικροελεγκτή που υποστηρίζει Python) και αυτή πρέπει να εκτελέσει τον κώδικα και χωρίς να χρειάζεται να φορτώσετε το πρόγραμμα.
  • Έχει έτοιμες βιβλιοθήκες. Ακριβώς όπως η Python έχει έναν ατελείωτο αριθμό βιβλιοθηκών για την εκτέλεση εργασιών, έτσι και η MicroPython έρχεται καλά φορτωμένη με αρκετά έτοιμα σενάρια για να γλιτώσετε κόπο. Είναι εφικτό να εκτελέσετε ανάλυση δεδομένων JSON από ένα web service, να αναζητήσετε κείμενο σε κανονικές εκφράσεις ή ακόμα και να στήσετε ένα Socket μέσα σε ένα δίκτυο με μόνο τις ήδη προφορτωμένες λειτουργίες.
  • Παρέχει επεκτασιμότητα. Οι προχωρημένοι χρήστες της MicroPython, μπορούν να επεκτείνουν την Python σε λειτουργίες χαμηλότερου επιπέδου, όπως η C ή η C ++, έχοντας τη δυνατότητα να συνδυάσουν κώδικα που απαιτεί ταχύτερη εκτέλεση χαμηλότερου επιπέδου με τη MicroPython, για να φέρουν σε πέρας αποτέλεσμα υψηλότερου επίπεδου.

Τι μπορείτε να κάνετε με την MicroPython?

Πολλά πράγματα μπορούν να γίνουν με τη MicroPython, όπως ο έλεγχος των ακροδεκτών της πλακέτας, ο έλεγχος ενός LED, οι ψηφιακές αναγνώσεις, η παραγωγή σημάτων PWM, ο έλεγχος σερβοκινητήρων, η ανάγνωση αναλογικών σημάτων, η επικοινωνία I2C, το SPI, οι συνδέσεις δικτύου και WiFi σε ορισμένες πλακέτες κτλ, ενώ η MicroPython ενσωματώνει επίσης ήδη βιβλιοθήκες για τον έλεγχο του NeoPixel , ορισμένων οθονών OLED και πολλών άλλων πραγμάτων.

MicroPython
MicroPython Editor στο Arduino IDE και στο OpenMV

Μειονεκτήματα

Η MicroPython μπορεί να κάνει σχεδόν οτιδήποτε κάνει ένα Arduino. Μια από τις διαφορές που μπορεί να παρατηρηθεί είναι ότι στη MicroPython o κώδικας δεν είναι τόσο γρήγορος και ότι μπορεί να καταλαμβάνει περισσότερη μνήμη σε σύγκριση με τις γλώσσες C ή C+. Αυτό δεν είναι ιδιαίτερα σημαντικό όταν χρησιμοποιείται σε απλά project.
Η MicroPython χρησιμοποιεί μεγάλο μέρος του πυρήνα της Python 3 αλλά όχι το σύνολό του και αυτό θα μπορούσε να είναι ένα άλλο μειονέκτημα. Παρόλο που όλα τα πακέτα του πυρήνα έχουν ελαχιστοποιηθεί και βελτιστοποιηθεί, δεν ήταν δυνατόν να συμπεριληφθούν όλα λόγω της ελάχιστης μνήμης που χρησιμοποιείται. Αυτό που έχει γίνει είναι να χρησιμοποιηθούν εξαιρετικά μικρές εκδόσεις των βιβλιοθηκών προσπαθώντας να προσφέρουν στον χρήστη την καλύτερη εμπειρία ανάπτυξης κατά τον προγραμματισμό.

Πλακέτες συμβατές με MicroPython

Μπορείτε να χρησιμοποιήσετε την MicroPython σε:

…και πολλές άλλες! Συμβουλευτείτε το GitHub link για περισσότερα!

MicroPython

Τι είναι το CircuitPython και πώς σχετίζεται με τη MicroPython?

H CircuitPython είναι το παράγωγο ανοικτού κώδικα της Adafruit για την MicroPython. Αυτή η έκδοση δημιουργήθηκε για να προσθέσει υποστήριξη για να ξεκινήσετε εύκολα την ενασχόληση σας με τα ηλεκτρονικά χρησιμοποιώντας πλακέτες όπως οι Circuit Playground Express, Trinket M0, Gemma M0 και άλλες.

Σε όλες σχεδόν τις περιπτώσεις μπορείτε να κάνετε τα ίδια πράγματα και με το CircuitPython και με τη MicroPython. Το CircuitPython έχει ελαφρώς διαφορετικά και απλούστερα APIs για την πρόσβαση σε ορισμένα στοιχεία εξοπλισμού, όπως ψηφιακές εισόδους/εξόδους, I2C, SPI κ.λπ. Ωστόσο, η βασική υποστήριξη της Python είναι η ίδια μεταξύ CircuitPython και MicroPython. Εκτός αν μια οδηγία ή ένα project αναφέρει το αντίθετο, μπορείτε να χρησιμοποιήσετε τον ίδιο κώδικα μεταξύ CircuitPython και MicroPython και αντίστροφα!

Post navigation

Leave a Comment

Leave a Reply

Your email address will not be published. Required fields are marked *

Συστήσου εύκολα με την κονκάρδα BBC micro:bit!

Μια διασκεδαστική εισαγωγή στη ρομποτική με την Kitronik!

Φωτάκι νυκτός με το BBC micro:bit!

Μάθε πολλαπλασιασμό με το BBC micro:bit!