Raspberry Pi Pico και MicroPython στα Windows
Αυτό το άρθρο απαντά στο ερώτημα: Πώς μπορώ να χρησιμοποιήσω το Raspberry Pi Pico με το MicroPython στα Windows; Δείχνουμε επίσης πώς να εγκαταστήσετε το σωστό πρόγραμμα οδήγησης για το "Board CDC" (ως το οποίο θα εμφανίζεται το Pico μόλις εγκατασταθεί το MicroPython) στα Windows 8.1. (Θα συζητήσουμε επίσης τις διαφορές μεταξύ του MicroPython και του CircuitPython, όπου αυτό ισχύει - όπου η πλακέτα θα ονομάζεται "CircuitPython CDC Control").
Τέλος, θα δείξουμε πώς να συνδεθείτε στο Pico χρησιμοποιώντας το PuTTY, και μια πιο άνετη επιλογή χρησιμοποιώντας το Thonny (το οποίο είναι ένα IDE Python, ενσωματωμένο στο Pico!)
Εισαγωγή: Τι είναι το Pico & τι είναι η MicroPython;
Το Raspberry Pi Pico είναι μια νέα πλακέτα μικροελεγκτή από το Raspberry Pi, με το chip μικροελεγκτή RP2040 που αναπτύχθηκε εσωτερικά.
Το Raspberry Pi έχει σχεδιάσει πολλά δροσερά χαρακτηριστικά στο RP2040 (το αγαπημένο μου είναι το PIO - προγραμματιζόμενο IO, όπου μπορείτε να εξομοιώσετε πολλές διασυνδέσεις υλικού που απαιτούν ακριβή χρονισμό κ.λπ. - Θα αναφερθώ σε αυτό σε ένα άλλο άρθρο στο μέλλον), και το Pico είναι μια πραγματικά ωραία πλατφόρμα αναφοράς στην οποία υλοποιείται το RP2040.
Πώς διαφέρει το Raspberry Pi Pico από το Raspberry Pi Zero W;
Η διαφορά μεταξύ ενός μικροελεγκτή (όπως ο Pico) και έναν υπολογιστή μιας πλακέτας (ας πούμε Pi Zero W) είναι περίπου το εξής: προγραμματίζετε το Pico απευθείας (π.χ. σε γλώσσα C), χωρίς λειτουργικό σύστημα, ενώ η Pi Zero W θα τρέχει συνήθως Linux.
Αυτό έχει πλεονεκτήματα, όπως ο πραγματικός χρόνος, αλλά και μειονεκτήματα - πρέπει να γνωρίζετε περισσότερα για το υλικό που χρησιμοποιείτε και πρέπει να υλοποιήσετε πολλές λειτουργίες που θα θεωρούσατε δεδομένες σε ένα σύγχρονο λειτουργικό σύστημα (π.χ. πρόσβαση σε αρχεία).
Το Pico διαθέτει λιγότερους πόρους σε σύγκριση με το Pi Zero W (π.χ. σημαντικά λιγότερη μνήμη RAM, καμία GPU VideoCore κ.λπ.) - αλλά καταναλώνει λιγότερη ενέργεια και διαθέτει πρόσθετες δυνατότητες, όπως το προαναφερθέν PIO και αναλογικές εισόδους (ADC).
Το Pico είναι μια καλή επιλογή για έργα που δεν απαιτούν απαραίτητα συνδεσιμότητα δικτύου, έξοδο HDMI, είσοδο κάμερας και επεξεργασία. Με άλλα λόγια, αν θέλετε να διασυνδεθείτε με υλικό, να έχετε μεγάλη διάρκεια ζωής της μπαταρίας κ.λπ. - τότε το Pico είναι για εσάς.
Ποιο λογισμικό υπάρχει ήδη για το Pico;
Το Pico μπορεί να αναβοσβήνει με τη χρήση διαφορετικού λογισμικού, το οποίο παρέχεται στο Αρχεία UF2 (δείτε τον οδηγό εκκίνησης Pico). Το Raspberry Pi παρέχει αρκετά αρχεία UF2 για να ξεκινήσετε:
- MicroPython (το οποίο θα είναι το επίκεντρο αυτού του άρθρου) και ένα στενό ξαδερφάκι, το CircuitPython
- Αναβοσβήνει ένα LED (Blink UF2)
- Γεια σας κόσμε (θα πει "Hello world" αν συνδεθείτε μέσω τερματικού)
- Picoprobe (χρησιμοποιήστε ένα Pico για την αποσφαλμάτωση ενός άλλου Pico)
- Επαναφορά μνήμης flash (η μνήμη Flash θα αδειάσει)
Υπάρχουν πολλά περισσότερα παραδείγματα που θα βρείτε εδώ (κώδικας C).
Σημείωση: Συνδέω με τα νεότερα αρχεία UF2 από τις 30.01.2021 - ειδικά το MicroPython μπορεί να έχει ενημερωθεί, οπότε φροντίστε να ελέγξετε το Σελίδα εκκίνησης του Raspberry Pi Pico.
MicroPython
Αν η προοπτική να ασχοληθείτε με τον προγραμματισμό σε C σας φαίνεται λίγο τρομακτική, μπορείτε να ξεκινήσετε με τη MicroPython. Σε αυτή την περίπτωση, στο Raspberry Pi Pico είναι προεγκατεστημένο κάποιο λογισμικό (το αρχείο MicroPython UF2), το οποίο θα τρέξει έναν μικρό διερμηνέα Python.
Ονομάζεται MicroPython επειδή δεν υποστηρίζει την πλήρη τυπική βιβλιοθήκη της Python 3. Η MicroPython προορίζεται για περιορισμένα περιβάλλοντα, όπως το Pico. Το Pico έχει συνολικά 2 MB RAM - αυτό δεν θα χωρέσει όλα όσα φέρνει μαζί της η Python 3. Ελέγξτε το αυτή τη σελίδα στο Github για τις διαφορές της CPython με τη MicroPython. Επίσης, εδώ είναι η επίσημη Αρχική σελίδα της MicroPython, και το επίσημη τεκμηρίωση MicroPython.
CircuitPython
Σημείωση: οι περισσότερες από τις οδηγίες ισχύουν και για τις πλακέτες που βασίζονται στο CircuitPython RP2040 στα Windows, π.χ. το Adafruit Feather RP2040, αλλά θα χρειαστεί να ακολουθήσετε λίγο διαφορετικά βήματα - θα επισημάνω τις διαφορές σε αυτό το άρθρο.
Το CircuitPython είναι βασικά μια παραλλαγή του MicroPython που αναπτύσσεται από την Adafruit.
Η ίδια η πλακέτα θα καλείται διαφορετικά στον διαχειριστή συσκευών σας μετά την αναλαμπή (CircuitPython CDC Control) - και θα χρειαστείτε διαφορετικό λογισμικό φυσικά. Εδώ είναι ό,τι χρειάζεστε, για αρχή:
- Adafruit Feather RP2040 Λήψη σελίδας (αρχείο CircuitPython 7.0.0 UF2)
Σε αυτό το άρθρο, θα σας δείξουμε επίσης πώς να εγκαταστήσετε τις βιβλιοθήκες CircuitPython σε συσκευές με βάση το RP2040 στα Windows και πώς να εκτελείτε και να σταματάτε προγράμματα χρησιμοποιώντας το Thonny.
Τι θα πάρετε με το MicroPython UF2;
Μόλις εγκατασταθεί το MicroPython στο Pico, θα μπορείτε να συνδεθείτε στο Pico χρησιμοποιώντας τη σειριακή κονσόλα (θα σας δείξουμε πώς σε αυτό το άρθρο) και να αρχίσετε να γράφετε κώδικα Python στο Pico.
Εγκαθιστώντας το MicroPython στο Pico
- Αφαιρέστε την τροφοδοσία από το Pico
- Πατήστε το κουμπί BOOTSEL και κρατήστε το πατημένο.
- συνδέστε το Pico στον υπολογιστή σας χρησιμοποιώντας ένα καλώδιο microUSB σε USB
- τώρα μπορείτε να αφήσετε το κουμπί BOOTSEL
Το Pico θα πρέπει τώρα να είναι ορατό στο σύστημα αρχείων σας, ως RPI-RP2:
(Παρενθετική σημείωση: Αναρωτιέμαι τι ήταν το RPI-RP1;)
Το Pico προσομοιώνει μια μονάδα flash FAT32, η οποία έχει δύο αρχεία: INDEX.HTM και INFO_UF2.TXT.
Στην πραγματικότητα, η Διαχείριση μονάδων δίσκου των Windows εμφανίζει το Pico ως μια μονάδα flash 128 MB FAT.
Μην κάνετε το λάθος να προσπαθήσετε να αποθηκεύσετε αρχεία στο Pico με αυτόν τον τρόπο: θα απορριφθούν σιωπηλά. Ακόμα και αν φαίνεται ότι γράφονται, αυτό είναι απλά η προσωρινή αποθήκευση των λειτουργιών από τα Windows - τα αρχεία σας θα εξαφανιστούν! Ανέφερα ήδη ότι το Pico έχει στην πραγματικότητα μόνο 2MB Flash; Λέει ξεδιάντροπα ψέματα για τα 128MB εδώ (το RP2040 υποτίθεται ότι υποστηρίζει έως και 16MB flash παρεμπιπτόντως, AFAIK).
Παρένθεση: Αυτό μου θυμίζει λίγο το ταξίδι μου στην Ινδία, όπου αγόρασα στικάκια με χωρητικότητα 128 GB - τα οποία θα έγραφαν τα δεδομένα σας στη Νιρβάνα. Όταν προσπάθησα να επιστρέψω τον δίσκο και να πάρω πίσω τα χρήματά μου, ο πωλητής είχε εξαφανιστεί... οι περιπέτειες που θα ζήσουμε 🙂 .
Ωστόσο, αν αντιγράψετε το σωστό είδος αρχείου - το αρχείο UF2 - σε αυτή τη μονάδα δίσκου, θα αναγνωριστεί και θα εγγραφεί.
Μπορείτε να το σύρετε και να το αφήσετε από το πρόγραμμα περιήγησής σας, αφού το κατεβάσετε, ή να το αντιγράψετε και να το επικολλήσετε. Μόλις ολοκληρωθεί η αντιγραφή, το Pico θα κάνει αυτόματη επανεκκίνηση και δεν θα βλέπετε πλέον μια μονάδα flash.
Σημείωση: Αν θέλετε να χρησιμοποιήσετε το CircuitPython, χρησιμοποιήστε φυσικά το αρχείο CircuitPython UF2 σε αυτό το βήμα.
Το Pico τρέχει τώρα (μετά την επανεκκίνηση) το MicroPython, το οποίο παρέχει μια σειριακή θύρα (θύρα COM) μέσω USB. (Με τεχνικούς όρους, πρόκειται για συσκευή USB κατηγορίας 02 = Επικοινωνίες και έλεγχος CDC και συσκευή USB SubClass 02).
Σύνδεση στο Pico, Windows 10
Τα Windows 10 διευκολύνουν τη σύνδεσή μας με το Pico, καθώς το απαραίτητο πρόγραμμα οδήγησης θύρας COM (usbser.inf) θα εγκατασταθεί και θα ενεργοποιηθεί αυτόματα για εσάς.
Για να ελέγξετε σε ποια θύρα COM βρίσκεται, ανοίξτε το διαχειριστή συσκευών:
Εδώ, θα μπορείτε να δείτε τη νέα σειριακή συσκευή USB, με τον αριθμό της θύρας COM (τον οποίο θα χρειαστείτε σε λίγο για να συνδεθείτε), στην περιοχή Ports (COM & LPT).
Για να βεβαιωθείτε ότι πρόκειται πράγματι για το Pico, που εκτελεί το MicroPython, μπορείτε να κάνετε τα εξής:
Κάντε κλικ στην επιλογή Προβολή και επιλέξτε Συσκευές ανά εμπορευματοκιβώτιο:
Εδώ θα δείτε μια καταχώρηση "Board in FS mode", με τους δύο κόμβους "USB Composite Device" και "USB Serial Device (COM3)". Το COM3 είναι σημαντικό, θα χρειαστεί να το χρησιμοποιήσετε για το PuTTY (βλ. παρακάτω).
Μπορούμε να ερευνήσουμε περαιτέρω τις συσκευές κάνοντας δεξί κλικ πάνω τους και επιλέγοντας την κατάλληλη καταχώριση ιδιοτήτων από το μενού περιβάλλοντος. Οι ιδιότητες για το Board σε κατάσταση λειτουργίας FS είναι κενές:
Η σύνθετη συσκευή USB εμφανίζει "Board in FS mode" ως περιγραφή της συσκευής που αναφέρεται στο Bus:
Σημείωση: αυτό είναι το Pico που τρέχει το MicroPython. Όταν το αναβαθμίσετε με διαφορετικό λογισμικό, θα εμφανίζει διαφορετικά αποτελέσματα εδώ!
Η ίδια η σειριακή συσκευή USB θα εμφανίσει ορισμένες ενδιαφέρουσες ιδιότητες:
Σημείωση: η περιγραφή της συσκευής της πλακέτας θα είναι "CircuitPython CDC Control" αντί για "Board CDC" αν χρησιμοποιείτε CircuitPython.
Εάν γνωρίζετε τι ψάχνετε, τα αναγνωριστικά υλικού (VID = αναγνωριστικό προμηθευτή και PID = αναγνωριστικό προϊόντος) είναι χρήσιμα:
VID_2E8A -> το αναγνωριστικό του προμηθευτή είναι 2E8A (σε δεκαεξαδική μορφή) ή 11914 (σε δεκαδικό αριθμό), το οποίο είναι Raspberry Pi
PID_0005 -> το αναγνωριστικό προϊόντος είναι 5, το οποίο η πλακέτα θα εμφανίζει κατά την εκτέλεση του MicroPython (το προεπιλεγμένο αναγνωριστικό προϊόντος είναι 3)
Παρενθετική σημείωση: αρχείο καταγραφής σφαλμάτων του Chrome Browser
Αυτές οι πληροφορίες μπορούν επίσης να ληφθούν χρησιμοποιώντας το πρόγραμμα περιήγησης Chrome.
θα σας επιτρέψει να δείτε τις τρέχουσες συνδεδεμένες Συσκευές
Επιστροφή στα Windows 10:
Όπως βλέπετε στο παραπάνω στιγμιότυπο, τα Windows 10 εγκατέστησαν αυτόματα το usbser (USB Serial Driver) για εσάς - έτσι ώστε να μπορείτε να ξεκινήσετε αμέσως με το Pico.
PuTTY
Το PuTTY είναι ένας πελάτης telnet / SSH. Θα το χρησιμοποιήσετε για να συνδεθείτε στο Pico και να μιλήσετε με το REPL της MicroPython. Κατεβάστε το PuTTY εδώ. (Μπορείτε να χρησιμοποιήσετε το 64-bit MSI Windows Installer για τις περισσότερες εγκαταστάσεις των Windows 10).
Ανοίξτε το PuTTY. Εισάγετε τις σωστές ρυθμίσεις:
- Ο τύπος σύνδεσης πρέπει να οριστεί σε Σειριακό
- Η σειριακή γραμμή πρέπει να ρυθμιστεί σε ό,τι προέκυψε από την παραπάνω έρευνά σας. Στην περίπτωσή μου, αυτό είναι COM3. Στην περίπτωσή σας πιθανότατα θα είναι κάτι διαφορετικό!
- Η ταχύτητα μπορεί να παραμείνει στα 9600 προς το παρόν
Κάντε κλικ στο Άνοιγμα και θα ανοίξει ένα τερματικό:
Για να εμφανιστεί η αρχική προτροπή, πατήστε Enter μία φορά
Στη συνέχεια, μπορείτε να αρχίσετε να γράφετε κώδικα Python μετά την προτροπή, ο οποίος θα ερμηνεύεται αμέσως. Δοκιμάστε να εισαγάγετε το κλασικό "Hello world":
print("Hello world!")
Το MicroPython θα απαντήσει με
Γεια σας κόσμε!
όπως αναμενόταν 🙂
Τώρα που η αρχική επαφή είναι δεδομένη, σας εύχομαι καλή κωδικοποίηση!
Thonny: ένα IDE Python, λειτουργεί με το Pico!
Η χρήση του PuTTY δεν είναι πολύ άνετη για μεγαλύτερες συνεδρίες ή όταν θέλετε να φορτώσετε πολύ κώδικα στο Pico σας. Ευτυχώς, η εφαρμογή ανοιχτού κώδικα Thonny (η οποία είναι εγκατεστημένη από προεπιλογή στο Raspberry Pi OS) είναι επίσης διαθέσιμη για Windows και ενσωματώνει υποστήριξη Pico (MicroPython και CircuitPython)
Βήμα πρώτο
Κατεβάστε το Thonny εδώ, και εγκαταστήστε το
Βήμα δύο
Συνδέστε το Pico σας, όπως περιγράφηκε παραπάνω - τώρα θα πρέπει να έχει έναν αριθμό COM - αν θέλετε, μπορείτε να δοκιμάσετε χρησιμοποιώντας τη μέθοδο PuTTY που περιγράφηκε παραπάνω, αν μπορείτε να φτάσετε στο Pico σας.
Βήμα τρίτο
Ξεκινήστε το Thonny και κάντε κλικ στο Εργαλεία μενού, επιλέξτε Επιλογές
Βήμα Τέταρτο: ορίστε το Pico ως διερμηνέα
Κάντε κλικ στην καρτέλα Διερμηνέας. Από προεπιλογή θα εμφανιστεί αυτή η οθόνη:
Κάντε κλικ και επιλέξτε MicroPython (Raspberry Pi Pico)
Σημείωση: αν χρησιμοποιείτε CircuitPython, θα πρέπει να επιλέξετε "CircuitPython (γενική)" από αυτό το αναπτυσσόμενο μενού.
Μπορείτε να αφήσετε τη θύρα στο "Προσπαθήστε να εντοπίσετε τη θύρα αυτόματα" ή να ορίσετε μια συγκεκριμένη θύρα (είδαμε παραπάνω πώς μπορεί να προσδιοριστεί ο σωστός αριθμός θύρας).
Σημείωση: η θύρα θα πρέπει να εξακολουθεί να εμφανίζεται στο αναπτυσσόμενο μενού, οπότε καλό θα ήταν να ελέγξετε ξανά αν υπάρχει:
Το αφήνω ως "Προσπαθήστε να εντοπίσετε τη θύρα αυτόματα". Κάντε κλικ στο OK για να αποθηκεύσετε τη ρύθμιση.
Η οθόνη σας θα πρέπει τώρα να αλλάξει ως εξής:
Βήμα πέμπτο: δοκιμή
Τώρα μπορείτε να δοκιμάσετε την επικοινωνία με το Pico.
Τύπος
print("Hello world")
στην προτροπή MicroPython και πατήστε enter
Θα δείτε το Pico να σας απαντά.
Συγχαρητήρια, έχετε συνδέσει με επιτυχία το Thonny με το Pico στα Windows!
Πιο σύνθετα σενάρια: Thonny
Το REPL (read evaluate print loop) που μόλις είδατε είναι ωραίο, αλλά για πιο σύνθετα έργα, θα θέλαμε να εισάγουμε πρώτα τον πηγαίο κώδικα ή να τον φορτώσουμε από ένα αρχείο.
Για αυτό μπορεί να χρησιμοποιηθεί το πάνω μέρος του παραθύρου Thonny.
Εισάγετε τον κωδικό σας. Στο παράδειγμά μου, θα αναβοσβήνουμε το ενσωματωμένο LED (το οποίο είναι το αντίστοιχο του υλικού hello world!) και θα βρισκόμαστε για πάντα στο βρόχο.
import time
from machine import Pin
print("Welcome to Pico example 2, blinking an LED")
led = Pin(25, Pin.OUT)
# For demo purposes, we have an infinite loop here
while True:
led.high()
time.sleep(0.5)
led.low()
time.sleep(0.5)
Δώστε προσοχή στη σωστή εσοχή στην Python (το κενό διάστημα χρησιμοποιείται για σκοπούς ελέγχου στην Python!)
Τώρα κάντε κλικ στο κουμπί "run".
Το Thonny θα σας ρωτήσει πού να αποθηκεύσετε σε
Επιλέξτε Raspberry Pi Pico:
Έχω επιλέξει να ονομάσω το αρχείο hello.py - Κάντε κλικ στο OK για να το αποθηκεύσετε
Μόλις πατήσετε το κουμπί OK, ο κώδικάς σας θα αρχίσει να εκτελείται. Η ενσωματωμένη λυχνία LED του Pico θα αρχίσει να αναβοσβήνει και θα δείτε την έξοδο στο κέλυφος:
Σημείωση: Δεν χρειάστηκε να εισαγάγω την εντολή %Run -c $EDITOR_CONTENT, η Thonny το έκανε μόνη της. Η παρακάτω έξοδος είναι από τον κώδικά μας.
CircuitPython στο Thonny στα Windows
Ακολουθήστε τα ίδια βήματα, αλλά επιλέξτε CircuitPython (generic) ως διερμηνέα.
Το κέλυφος Thonny θα σας δείξει μια διαφορετική επιβεβαίωση:
Windows 8.1
Τα Windows 8.1 ΔΕΝ φορτώνουν αυτόματα το σειριακό πρόγραμμα οδήγησης και εμφανίζουν τη συσκευή σε κατάσταση σφάλματος.
Σημείωση: με το CircuitPython, το όνομα της συσκευής θα είναι "CircuitPython CDC control". Ίδια διαδικασία.
Δείτε πώς είναι οι ιδιότητες για το Board CDC (το Pico που εκτελεί το MicroPython):
Λέει ότι τα προγράμματα οδήγησης για αυτή τη συσκευή δεν έχουν εγκατασταθεί (Κωδικός 28).
Μια λύση για την επίλυση αυτού του προβλήματος είναι η Εργαλείο Zadig, το οποίο μπορείτε να κατεβάσετε δωρεάν:
Προσοχή: Πολλοί σαρωτές ιών φαίνεται να συμφωνούν ότι το installer_x64.exe που περιέχεται στο Zadig 2.7 έχει το "Trojan.Tedy". Ίσως πρόκειται για ψευδή συναγερμό, ωστόσο: σας συνιστώ να χρησιμοποιήσετε το Zadig-2.5.exe το οποίο δεν μου έδωσε αυτές τις προειδοποιήσεις (μόλις επαληθεύτηκε για δεύτερη φορά). Καλύτερα ασφαλής παρά λυπημένος!
Zadig σας βοηθά να εγκαταστήσετε γενικά προγράμματα οδήγησης USB για να έχετε πρόσβαση σε συσκευές USB.
Στην περίπτωσή μας θέλουμε τον οδηγό USB Serial (CDC).
Επιλέξτε Board CDC (Interface 0) από το αναπτυσσόμενο μενού παραπάνω, το USB Serial (CDC) στο άλλο πεδίο. Κάντε κλικ στο Install Driver (Εγκατάσταση προγράμματος οδήγησης).
Μετά την εγκατάσταση, θα δείτε ότι το πρόγραμμα οδήγησης έχει οριστεί σε usbser (v1.0.0.0.0):
Και θα μπορείτε να συνδεθείτε, όπως περιέγραψα στα Windows 10, χρησιμοποιώντας τον σωστό αριθμό θύρας COM:
δευτερεύουσα σημείωση:
Θύρα Pico/Serial στα Windows 7
Σύμφωνα με έναν πελάτη, Zadig βοήθησε επίσης στην εγκατάσταση του προγράμματος οδήγησης σειριακής θύρας στα Windows 7, και το Pico ήταν χρησιμοποιήσιμο μετά! Χρησιμοποιήστε οπωσδήποτε Zadig 2.5, καθώς το νεότερο Zadig 2.7 επισημάνθηκε από τον ανιχνευτή ιών μου κατά την εγκατάσταση του προγράμματος οδήγησης. (Δεν είμαι σίγουρος γιατί, αλλά καλύτερα να προσέχουμε παρά να λυπούμαστε - το παλιό λειτουργεί)
Αν χρειάζεστε έναν οδηγό βήμα προς βήμα, ανατρέξτε στον παραπάνω οδηγό για τα Windows 8.1 - θα πρέπει να είναι αρκετά παρόμοιος σε ένα μηχάνημα με Windows 8.1.
Εγκατάσταση βιβλιοθηκών και προγραμματισμός μιας πλακέτας CircuitPython RP2040 στα Windows
Εάν χρησιμοποιείτε για παράδειγμα ένα Adafruit Feather RP2040, ίσως να θέλετε να χρησιμοποιήσετε το CircuitPython σε αυτό. Η Adafruit έχει ένα NeoPixel RGB σε αυτό, το οποίο χρειάζεται βιβλιοθήκες που πρέπει να εγκατασταθούν στο lib φάκελο στη συσκευή.
(σημ: κατεβάστε τις βιβλιοθήκες εδώ - κάντε κλικ στο σύνδεσμο "Download Project Bundle").
Όταν εξάγετε το φάκελο δέσμης έργων, θα δείτε δύο διαφορετικούς υποφακέλους με CircuitPython 6.x και CircuitPython 7.x
Χρησιμοποιώ την έκδοση CircuitPython 7.x εδώ, καθώς έκανα flash το 7.0.0 Έκδοση CircuitPython.
Θα παρατηρήσετε μια μονάδα δίσκου που ονομάζεται "CIRCUITPY" στην Εξερεύνησή σας:
Το lib είναι άδειος με μια νέα εγκατάσταση του CircuitPython. Χρησιμοποιώντας την Εξερεύνηση των Windows μπορούμε απλά να αντιγράψουμε και να επικολλήσουμε αρχεία εδώ.
Αντιγράψτε τις απαιτούμενες βιβλιοθήκες από το φάκελο lib που κατεβάσατε στο φάκελο lib του CIRCUITPY:
Τώρα μπορούμε επίσης να αντικαταστήσουμε το code.py:
Χρησιμοποιώντας το Thonny μπορούμε να επεξεργαστούμε και να εκτελέσουμε το αρχείο code.py. Κάντε κλικ στο εικονίδιο ανοίγματος στο Thonny και επιλέξτε "CircuitPython device" στο παράθυρο διαλόγου "Where to open from":
Και εδώ μπορείτε να ανοίξετε το code.py:
Τώρα το παράθυρο του Thonny θα πρέπει να μοιάζει κάπως έτσι:
Πατήστε F5 στο πληκτρολόγιό σας ή κάντε κλικ στο εικονίδιο εκτέλεσης.
Αν όλα πήγαν καλά, το NeoPixel RGB LED στο Adafruit Feather RP2040 θα πρέπει τώρα να αρχίσει να αναβοσβήνει σε διάφορα χρώματα. Συγχαρητήρια 🙂
Τώρα μπορείτε να προχωρήσετε και να παίξετε με το σενάριο - ενδεχομένως θα μπορούσατε να τροποποιήσετε τα χρώματα ή το χρόνο μεταξύ των αλλαγών χρώματος; Ή να προσθέσετε άλλες λειτουργίες.
Για να μπορέσετε να εκτελέσετε την τροποποιημένη δέσμη ενεργειών σας, πατήστε Ctrl + C στο κέλυφος (ή επιλέξτε Εκτέλεση > Διακοπή εκτέλεσης στο μενού Thonny). Τώρα μπορείτε να φορτώσετε ξανά το σενάριό σας.
Ένα σπουδαίο πράγμα για τον εντοπισμό σφαλμάτων είναι ότι θα έχετε έξοδο κονσόλας με το Thonny, οπότε μπορείτε να χρησιμοποιήσετε τις εντολές print για να εξάγετε πληροφορίες:
Adafruit CircuitPython Bundle
Η Adafruit παρέχει μια βολική λήψη πολλαπλών βιβλιοθηκών σε ένα ZIP. Κατεβάστε την αντίστοιχη δέσμη adafruit-circuitpython-bundle-7.x.-mpy ή -6.x. mpy εδώ. Μπορείτε να εγκαταστήσετε αρκετές ή όλες τις βιβλιοθήκες που αναφέρθηκαν παραπάνω χρησιμοποιώντας απλώς την Εξερεύνηση των Windows. Ένα πλήρες ανέβασμα όλων των βιβλιοθηκών θα ήταν περίπου 1,2 MB μεγάλο, το Adafruit Feather RP2040 έχει αρκετό χώρο για να το επιτρέψει αυτό. Η αντιγραφή μπορεί να διαρκέσει μερικά λεπτά.
Διάφορες σημειώσεις
Μπορώ να χρησιμοποιήσω τις διαδικασίες αυτού του οδηγού και για το CircuitPython;
Απολύτως, ναι. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε το Zadig στα Windows 8.1 (δείτε την περιγραφή παραπάνω για λεπτομέρειες. Χρησιμοποιήστε την έκδοση 2.5.730 του Zadig!). Θα ψάχνετε για μια συσκευή "CircuitPython CDC control" αντί για τη συσκευή "Board CDC".
Η εγκατάσταση του προγράμματος οδήγησης αποτυγχάνει με το Zadig;
Αυτό μπορεί να οφείλεται στο λογισμικό Antivirus. Ίσως πρόκειται για ψευδή συναγερμό, αλλά δεν μπορώ να είμαι σίγουρος γι' αυτό. Ο σαρωτής ιών μου (Bitdefender) μου λέει τα εξής:
"Die Datei C:\Users\Max\usb_driver\installer_x64.exe ist mit Gen:Variant.Tedy.11444 infiziert und wurde in die Quarantäne verschoben. Wir empfehlen die Durchführung eines System-Scans, um weitere Infektionen auszuschließen."
Πολλοί σαρωτές ιών φαίνεται να συμφωνούν ότι το installer_x64.exe (μέρος του προγράμματος οδήγησης USB) έχει το "Trojan.Tedy". Σας συνιστώ να δοκιμάσετε να χρησιμοποιήσετε αντί αυτού το Zadig-2.5.exe. Το οποίο μπορείτε να κατεβάσετε εδώ. Χρησιμοποίησα το Zadig-2.5 για να εγκαταστήσω ένα σειριακό πρόγραμμα οδήγησης USB CircuitPython στην εγκατάστασή μου στα Windows 8.1 (η οποία είναι το κύριο μηχάνημά μου).
Πώς μπορώ να σταματήσω την εκτέλεση κώδικα στο Pico στο Thonny;
Κάντε κλικ στο κέλυφος και πατήστε Ctrl+C. Αυτό θα πρέπει να σταματήσει την τρέχουσα εκτέλεση κώδικα:
Επανάληψη προηγούμενων δηλώσεων στο Thonny
Είναι βολικό να εκτελείτε την ίδια εντολή ξανά - πατήστε το πλήκτρο up στο πληκτρολόγιο στην προτροπή του κελύφους για να εμφανίσετε το ιστορικό των προηγούμενων εντολών.
Πώς μπορώ να ξέρω πότε το Pi Pico μου είναι αποσυνδεδεμένο από το Thonny;
Θα λάβετε ένα μήνυμα σφάλματος όταν προσπαθείτε να εκτελέσετε κώδικα, κάτι σαν αυτό:
Αυτό σημαίνει ότι το Thonny δεν μπορεί να γράψει στη σειριακή θύρα στην οποία αναμένεται να είναι συνδεδεμένο το Pico.
Δεν μπόρεσε να βρει τη συσκευή αυτόματα σφάλμα στο Thonny
Εάν λάβετε το ακόλουθο σφάλμα:
Δεν μπόρεσε να βρει τη συσκευή αυτόματα.
Ελέγξτε τη σύνδεση (βεβαιωθείτε ότι η συσκευή δεν βρίσκεται σε κατάσταση bootloader) ή επιλέξτε
"Διαμόρφωση διερμηνέα" στο μενού διερμηνέα (κάτω δεξιά γωνία του παραθύρου)
για να επιλέξετε συγκεκριμένη θύρα ή άλλο διερμηνέα.
Ελέγξτε ότι έχετε επιλέξει τον σωστό διερμηνέα. Εάν η συσκευή σας εκτελεί CircuitPython αντί για MicroPython, πρέπει να επιλέξετε CircuitPython (γενική) ως διερμηνέας στο Thonny. Δείτε τις σχετικές πληροφορίες σε αυτό το άρθρο για οδηγίες.
Οι συμβουλές σας για το Pico/MicroPython στα Windows;
Πείτε μας στα σχόλια αν έχετε άλλες συμβουλές για να ξεκινήσετε με το Pico και το MicroPython στα Windows, θα ενημερώσουμε το άρθρο αναλόγως 🙂
Απολαύστε το Pico σας και διασκεδάστε με τις εκπληκτικές εργασίες που μπορείτε να κάνετε με αυτό!
Περισσότερες αναρτήσεις στο ιστολόγιο Pico στο PiCockpit
Αν σας άρεσε να διαβάζετε αυτό το άρθρο, ίσως σας αρέσει να διαβάζετε και τα παρακάτω:
Έχω Win 8.1 και αυτή είναι η μόνη τοποθεσία που έχει τη λύση για το πρόβλημα COM. Σας ευχαριστώ πάρα πολύ.
Μπορείτε να μοιραστείτε το σύνδεσμο του άρθρου στο οποίο υπάρχει λύση για το CDC του πίνακα στα windows 8.1;
Αυτό το άρθρο που διαβάζετε περιγράφει τον τρόπο χρήσης του Board CDC στα Windows 8.1 - χρησιμοποιήστε το εργαλείο Zadig στην έκδοση 2.5.
Σας ευχαριστώ, τα Windows 7 64 bit λειτουργούν ομαλά.
Ένα μεγάλο ευχαριστώ για αυτό το σεμινάριο !
Πολύ ωραίο σεμινάριο Βάζετε τον καφέ στο τραπέζι, όπως λέμε στην Πολωνία, πράγμα που σημαίνει χωρίς να χτυπάτε τον θάμνο. Υπέροχα!
Χρειάζομαι βοήθεια. Τα windows 11 μου δείχνουν το pico ως "φορητή συσκευή". Το Putty δεν μπορεί να το βρει εξαιτίας αυτού, οπότε λαμβάνω ένα σφάλμα ότι δεν μπορεί να καθορίσει τη διαδρομή.
Δεν ξέρω πώς να το ξεπεράσω αυτό.
Ευχαριστώ!
Αυτή ήταν μια εξαιρετική εισαγωγή για μένα! Ευχαριστώ!
Hola muy bueno, consulto x la inquietud que se me ha presentado
si despues de subir mi codigo a mi pi pico, y la coloco en una placa para que ejecute una tarea x,
si cualquier otro que no sea yo sacara la pi pico de la placa y la conectara a una pc o notebook,
podria leer el codigo que esta en la pi pico a traves por ejemplo de Thonny dando click al icono de abrir carpeta y seleccionando abrir lo que esta en la pi pico.?
Υπάρχει κάποιος τρόπος να το κάνετε χωρίς διάλεξη;
gracias
Το Putty και το zadig λειτούργησαν και τα δύο για μένα. Εξαιρετικό σεμινάριο.