Πίνακας περιεχομένων:
- Βήμα 1: Λήψη υλικολογισμικού και βιβλιοθηκών
- Βήμα 2: Εργασία με το MicroPython
- Βήμα 3: MicroPython Over Serial
Βίντεο: MicroPython στον πίνακα αισθητήρων σύνθετων τεχνών: 3 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Μια από τις πιο εκπληκτικές πτυχές του μικροελεγκτή ESP32 είναι η ικανότητά του να εκτελεί MicroPython. Αυτό μπορεί να γίνει με δύο τρόπους: εκτέλεση πλήρων προγραμμάτων Python ή διαδραστικά μέσω εφαρμογής κονσόλας. Αυτό το Instructable θα δείξει πώς να χρησιμοποιείτε το MicroPython και με τους δύο τρόπους χρησιμοποιώντας τον πίνακα αισθητήρων σύνθετων τεχνών. Πρώτα θα εκτελέσουμε ένα παράδειγμα εφαρμογής που συγκεντρώνει δεδομένα επιταχυνσιόμετρου από το IMU BNO_085 και στη συνέχεια θα χρησιμοποιήσουμε ένα σειριακό πρόγραμμα για διαδραστικό προγραμματισμό στην Python.
Επίπεδο: Αυτό το σεμινάριο προϋποθέτει κάποια γνώση της Python και ότι η Python είναι εγκατεστημένη. Υποθέτει επίσης τη γνώση βασικών εντολών τερματικού.
Εργαλεία: Τα μόνα εργαλεία που θα χρειαστούμε θα είναι το Sensor Board, ένα τερματικό πρόγραμμα και ένα σειριακό πρόγραμμα κονσόλας. Σε Mac, μπορείτε απλά να χρησιμοποιήσετε τερματικό. Σε ένα μηχάνημα Windows, θα πρέπει να κάνετε λήψη και εγκατάσταση ενός τερματικού προγράμματος. Για τη σειριακή κονσόλα. Ο στόκος είναι πάντα μια καλή επιλογή.
Βήμα 1: Λήψη υλικολογισμικού και βιβλιοθηκών
Για να ξεκινήσετε, θα πρέπει να κατεβάσουμε το προσαρμοσμένο υλικολογισμικό που παρέχεται από την Complex Arts και στη συνέχεια να το αναβοσβήνουμε στον πίνακα αισθητήρων. Μπορείτε να βρείτε το υλικολογισμικό εδώ:
Κατεβάστε το αρχείο firmware.bin και τοποθετήστε το στο φάκελο της επιλογής σας. Επίσης, τελικά θα χρειαστείτε το παράδειγμα του προγράμματος Complex Arts, οπότε ίσως να το κάνετε τώρα. μεταβείτε στη διεύθυνση: https://github.com/ComplexArts/SensorBoardPython και κάντε κλώνο ή κάντε λήψη στη θέση της επιλογής σας.
Μόλις λάβετε τα αρχεία, θα χρειαστούμε μερικά πακέτα για διασύνδεση με το ESP32. Το πρώτο πακέτο που θα χρειαστούμε είναι το esptool.py. Για να το εγκαταστήσετε, απλά πληκτρολογήστε
pip εγκατάσταση esptool
στο τερματικό.
Μόλις εγκατασταθεί το esptool, μπορούμε να διαγράψουμε και να αναβοσβήσουμε ξανά το τσιπ. Για να το κάνετε αυτό, εισαγάγετε
esptool.py --chip esp32 --port COM4 erase_flash
για τη θύρα, εισαγάγετε τη σειριακή θύρα που συμπίπτει με την πλακέτα αισθητήρων. Σε Mac, αυτό θα μοιάζει με --port /dev /ttyUSB0
Μόλις γίνει αυτό, θα αναβοσβήνουμε το τσιπ με:
esptool.py --chip esp32 --port COM4 -baud 460800 write_flash -z 0x1000 firmware.bin
Και πάλι, αλλάξτε τη θύρα ανάλογα.
Βήμα 2: Εργασία με το MicroPython
Εάν ελέγξουμε τη σειριακή έξοδο του πίνακα αισθητήρων σε αυτό το σημείο, θα δούμε την Python REPL (ο βρόχος ανάγνωσης-εκτύπωσης: >>>) Για να γίνει αυτό, θα χρειαστούμε ένα σειριακό πρόγραμμα κονσόλας. Το Putty είναι μια καλή επιλογή καθώς παρέχει επιλογές για SSH και telnet, αλλά και απλή σειριακή επικοινωνία όπως θα κάνουμε εδώ. putty.org. Μόλις το εγκαταστήσετε, ανοίξτε το και επιλέξτε "Serial" στην ενότητα "Τύπος σύνδεσης:" Θα πρέπει να πληκτρολογήσετε το ίδιο όνομα σειριακής θύρας που καταχωρίσατε για το esptool παραπάνω, και στη συνέχεια έναν ρυθμό baud 115200 για την ταχύτητα. Προχωρήστε και κάντε κλικ στο "Άνοιγμα". Και υπάρχει Python!
Τώρα θα θέλουμε να ανεβάσουμε και να εκτελέσουμε τον παράδειγμα κώδικα. Για να το κάνετε αυτό, μεταβείτε στο φάκελο όπου αποθηκεύσατε νωρίτερα τα παραδείγματα του SensorBoardPython. Θα χρειαστούμε το φοβερό πακέτο ampy του Adafruit. Μπορείτε να το εγκαταστήσετε με:
pip εγκατάσταση adafruit-ampy = 0.6.3
Μόλις το έχετε, χρησιμοποιήστε το ampy για να ανεβάσετε το παράδειγμα του επιταχυνσιόμετρου στον πίνακα:
ampy -p COM4 βάλτε επιταχυνσιόμετρο.py
(αλλάζοντας ανάλογα τη θύρα, φυσικά). Τώρα επαναφέρετε την πλακέτα σας με το κουμπί επαναφοράς. Θα επιστρέψουμε στο Putty σε αυτό το σημείο και στην εντολή >>>, πληκτρολογήστε
επιταχυνσιόμετρο εισαγωγής
Βιόλα! Τώρα τρέχετε τον κωδικό accelerometer.py στον πίνακα αισθητήρων! Ο κωδικός θα τρέξει για 20 δευτερόλεπτα και μετά θα σταματήσει. Παρατηρήστε ότι ενώ λειτουργεί ο κωδικός του επιταχυνσιόμετρου, η μπλε λυχνία LED στον πίνακα αναβοσβήνει. Για όσους είναι πιο εξοικειωμένοι με την Python, θα παρατηρήσετε ότι αυτό γίνεται χωρίς νήματα και χωρίς καθυστέρηση (). Αυτό οφείλεται στη χρήση της βιβλιοθήκης Python asyncio, η οποία παρέχει εξαιρετικές μεθόδους για ταυτόχρονη εκτέλεση εργασιών και είναι εξαιρετικά χρήσιμη σε ενσωματωμένες πλατφόρμες όπως το ESP32. Εάν δεν είστε εξοικειωμένοι με αυτό, αξίζει να το ελέγξετε. υπάρχει ένα σπουδαίο σεμινάριο εδώ: https://github.com/peterhinch/micropython-async/b… (αλλά να σας προειδοποιήσω, είναι λίγο τρελό).
Βήμα 3: MicroPython Over Serial
Επιστροφή στην εργασία που έχουμε! Όταν σταματήσει ο κωδικός του επιταχυνσιόμετρου, θα δείτε ξανά το Python >>>. Τώρα μπορούμε να προγραμματίσουμε διαδραστικά χρησιμοποιώντας τον πίνακα αισθητήρων ως διερμηνέα Python. Για να το κάνετε αυτό, εισαγάγετε
>> x = 10
>> y = 11
>> x + y
21
Παρόλο που αυτό είναι το πιο βασικό παράδειγμα, μπορούμε εύκολα να αρχίσουμε να δημιουργούμε πιο πολύπλοκο κώδικα χρησιμοποιώντας τις βιβλιοθήκες Complex Arts ως αφετηρία. Αυτό σας επιτρέπει να εκτελείτε μετρήσεις θέσης και κίνηση εν κινήσει, με έλεγχο σε πραγματικό χρόνο. Με τις καρφίτσες GPIO που διατίθενται στον πίνακα αισθητήρων, μπορείτε να συνδέσετε εύκολα servos, φώτα, αισθητήρες, κινητήρες ή οποιονδήποτε αριθμό φυσικών συσκευών, χρησιμοποιώντας τους είτε διαδραστικά είτε μέσω προγράμματος Python. Καλα να περνατε!
Για περισσότερες πληροφορίες, ελέγξτε αυτούς τους άλλους πόρους:
complexarts.net/home/
complexarts.net/docs/bno085/
Συνιστάται:
Αντίσταση συστατικού με χρήση σύνθετων μαθηματικών: 6 βήματα
Σύνθετη αντίσταση με χρήση σύνθετων μαθηματικών: Εδώ είναι μια πρακτική εφαρμογή σύνθετων μαθηματικών εξισώσεων. Αυτή είναι στην πραγματικότητα μια πολύ χρήσιμη τεχνική που μπορείτε να χρησιμοποιήσετε για να χαρακτηρίσετε εξαρτήματα, ή ακόμα και μια κεραία, σε προκαθορισμένες συχνότητες. Εάν ασχολείστε με τα ηλεκτρονικά μπορεί να είναι φημισμένος
Πώς να δημιουργήσετε και να εισαγάγετε έναν πίνακα και να προσθέσετε επιπλέον στήλες και/ή σειρές σε αυτόν τον πίνακα στο Microsoft Office Word 2007: 11 βήματα
Πώς να δημιουργήσετε και να εισαγάγετε έναν πίνακα και να προσθέσετε επιπλέον στήλες και/ή σειρές σε αυτόν τον πίνακα στο Microsoft Office Word 2007: Είχατε ποτέ πολλά δεδομένα με τα οποία εργάζεστε και σκεφτήκατε τον εαυτό σας … " πώς μπορώ να κάνω όλα αυτά τα δεδομένα φαίνονται καλύτερα και είναι πιο εύκολα κατανοητά; " Αν ναι, τότε η απάντησή σας μπορεί να είναι ένας πίνακας στο Microsoft Office Word 2007
Εγκαταστήστε το Ubuntu 18.04.4 LTS στον πίνακα Raspberry Pi: 8 βήματα
Εγκαταστήστε το Ubuntu 18.04.4 LTS στον πίνακα Raspberry Pi: Η ομάδα του Ubuntu κυκλοφόρησε το λειτουργικό σύστημα Ubuntu 18.04.4 Long Term Support για τους υπολογιστές Raspberry Pi 2 /3 /4 ARM. Σύντομη επισκόπηση Όπως γνωρίζουμε, το Raspbian βασίζεται στο Debian distro, το οποίο είναι το επίσημο λειτουργικό σύστημα για το Raspber
Χρήση του πίνακα αισθητήρων Complex Arts για τον έλεγχο καθαρών δεδομένων μέσω WiFi: 4 βήματα (με εικόνες)
Χρήση του πίνακα αισθητήρων Complex Arts για τον έλεγχο καθαρών δεδομένων μέσω WiFi: Θέλατε ποτέ να πειραματιστείτε με τον έλεγχο χειρονομίας; Κάνετε τα πράγματα να κινούνται με μια κίνηση του χεριού σας; Ελέγξτε τη μουσική με μια συστροφή του καρπού σας; Αυτό το Instructable θα σας δείξει πώς! Το Complex Arts Sensor Board (complexarts.net) είναι μια ευέλικτη μικρο
Πώς να προγραμματίσετε έναν πίνακα AVR χρησιμοποιώντας έναν πίνακα Arduino: 6 βήματα
Πώς να προγραμματίσετε έναν πίνακα AVR χρησιμοποιώντας έναν πίνακα Arduino: Έχετε μια πλακέτα μικροελεγκτή AVR τοποθετημένη γύρω; Είναι δύσκολο να το προγραμματίσεις; Λοιπόν, βρίσκεστε στο σωστό μέρος. Εδώ, θα σας δείξω πώς να προγραμματίσετε μια πλακέτα μικροελεγκτή Atmega8a χρησιμοποιώντας έναν πίνακα Arduino Uno ως προγραμματιστή. Χωρίς λοιπόν