- Απαιτήσεις
- Εγκατάσταση του PyFirmata στο Arduino χρησιμοποιώντας το Raspberry Pi
- Επεξήγηση κώδικα
- Fading LED στο Arduino χρησιμοποιώντας το pyFirmata
Αν και το Raspberry Pi και το Arduino είναι δύο διαφορετικά υλικά όσον αφορά τις εφαρμογές και τη δομή τους, αλλά και τα δύο θεωρούνται δύο ανταγωνιστικές πλατφόρμες υλικού ανοιχτού κώδικα. Και οι δύο έχουν πολύ ισχυρή κοινότητα και υποστήριξη. Σήμερα θα αλλάξουμε ελαφρώς τα πράγματα και θα σας δείξουμε πώς μπορούμε να εκμεταλλευτούμε και τα δύο. Εάν διαθέτετε πίνακες Arduino και Raspberry pi, αυτό το άρθρο θα σας δείξει πώς να χρησιμοποιήσετε το Raspberry pi και το Python για τον έλεγχο του Arduino.
Θα χρησιμοποιήσουμε το firmware PyFirmata για να δώσουμε εντολές στο Arduino χρησιμοποιώντας το σενάριο Raspberry Pi python. Το PyFirmata είναι βασικά ένα προεγκατεστημένο πακέτο βιβλιοθηκών του προγράμματος python, το οποίο μπορεί να εγκατασταθεί στο Arduino για να επιτρέπει τη σειριακή επικοινωνία μεταξύ ενός σεναρίου python σε οποιονδήποτε υπολογιστή και ενός Arduino. Αυτό το πακέτο python μπορεί να δώσει πρόσβαση για ανάγνωση και εγγραφή οποιασδήποτε καρφίτσας στο Arduino. Εδώ λοιπόν θα τρέξουμε πρόγραμμα python στο Arduino χρησιμοποιώντας Raspberry pi.
Έτσι σε αυτό το σεμινάριο θα εκμεταλλευτούμε αυτήν τη βιβλιοθήκη και θα το χρησιμοποιήσουμε στον πίνακα Arduino για τον έλεγχο του Arduino χρησιμοποιώντας το Raspberry Pi.
Απαιτήσεις
- Raspberry Pi με Raspbian OS εγκατεστημένο σε αυτό
- Arduino Uno ή οποιαδήποτε άλλη πλακέτα Arduino
- Καλώδιο USB Arduino
- LED
Σε αυτό το σεμινάριο χρησιμοποιώ το External Monitor χρησιμοποιώντας καλώδιο HDMI για να συνδεθώ με το Raspberry Pi. Εάν δεν έχετε οθόνη, μπορείτε να χρησιμοποιήσετε διακομιστή SSH (Putty) ή διακομιστή VNC για σύνδεση στο Raspberry pi χρησιμοποιώντας φορητό υπολογιστή ή υπολογιστή. Εάν βρείτε οποιαδήποτε δυσκολία, ακολουθήστε τον Οδηγό μας για να κοιτάξετε με το Raspberry Pi.
Εγκατάσταση του PyFirmata στο Arduino χρησιμοποιώντας το Raspberry Pi
Για να ανεβάσετε το firmware PyFirmata στο Arduino, πρέπει να εγκαταστήσουμε το Arduino IDE στο Raspberry Pi. Ακολουθήστε αυτά τα βήματα για εγκατάσταση:
Βήμα 1: - Συνδέστε το Raspberry Pi στο Διαδίκτυο. Ανοίξτε το τερματικό εντολών και πληκτρολογήστε την ακόλουθη εντολή και πατήστε enter
sudo apt - get - y εγκαταστήστε arduino python - serial mercurial
Περιμένετε λίγα λεπτά, θα χρειαστεί χρόνος. Αυτή η εντολή θα εγκαταστήσει το Arduino IDE στο Raspberry Pi σας.
Βήμα 2: - Τώρα, θα εγκαταστήσουμε αρχεία pyFirmata χρησιμοποιώντας το δεδομένο github:
git clone https://github.com/tino/pyFirmata
Στη συνέχεια, εκτελέστε την ακόλουθη εντολή:
cd pyFirmata sudo python setup.py εγκατάσταση
Βήμα 3: - Έχουμε εγκαταστήσει όλα τα απαιτούμενα αρχεία και ρυθμίσεις.
Τώρα, συνδέστε την πλακέτα Arduino με Raspberry Pi χρησιμοποιώντας καλώδιο USB και εκκινήστε το Arduino IDE πληκτρολογώντας arduino στο παράθυρο του τερματικού.
Βήμα 4: - Στη συνέχεια, πληκτρολογήστε lsusb εντολή για να ελέγξετε αν το Arduino είναι συνδεδεμένο με το βατόμουρο pi
Στο Arduino IDE, μεταβείτε στα εργαλεία και επιλέξτε την πλακέτα και το Serial Port.
Βήμα 5: - Ανεβάστε το υλικολογισμικό PyFirmata στο Arduino κάνοντας κλικ στο Αρχείο -> Παραδείγματα -> Firmata -> Τυπικό Firmata και, στη συνέχεια, κάντε κλικ στο κουμπί αποστολής. Οπως φαίνεται παρακάτω.
Εγκαταστήσαμε με επιτυχία το firmware pyFirmata στον πίνακα Arduino. Τώρα, μπορούμε να ελέγξουμε το Arduino μας χρησιμοποιώντας το Raspberry Pi.
Για επίδειξη θα αναβοσβήσουμε και θα σβήσουμε ένα LED στο Arduino γράφοντας κωδικούς python στο Raspberry Pi.
Επεξήγηση κώδικα
Για το τμήμα κωδικοποίησης, θα πρέπει να διαβάσετε την τεκμηρίωση του pyFirmata για καλύτερη κατανόηση. Θα χρησιμοποιήσουμε τις συναρτήσεις pyFirmata για να γράψουμε τον κωδικό μας. Μπορείτε να βρείτε την τεκμηρίωση pyFirmata ακολουθώντας τον σύνδεσμο.
Ας αρχίσουμε λοιπόν να γράφουμε τον κώδικα
Ανοίξτε το αγαπημένο σας πρόγραμμα επεξεργασίας κειμένου στο Raspberry Pi και εισαγάγετε τη βιβλιοθήκη pyFirmata.
εισαγωγή pyfirmata
Ορίστε τον πείρο στο Arduino για να συνδέσετε το LED
led_pin = 9
Τώρα, πρέπει να γράψουμε το όνομα της σειριακής θύρας στην οποία συνδέεται η πλακέτα Arduino χρησιμοποιώντας τη λειτουργία pyfirmata.Arduino () και στη συνέχεια να κάνουμε μια παρουσία εκχωρώντας τη μεταβλητή της θύρας στην πλακέτα .
board = pyfirmata.Arduino ("/ dev / ttyACM0") εκτύπωση "Ο κώδικας εκτελείται"
Κατά τη διάρκεια του βρόχου, κάντε τον ακροδέκτη LED υψηλό και χαμηλό χρησιμοποιώντας τη λειτουργία board.digital.write () και δώστε καθυστέρηση χρησιμοποιώντας τη λειτουργία board.pass_time () .
ενώ True: board.digital.write (0) board.pass_time (1) board.digital.write (1) board.pass_time (1)
Ο κωδικός μας είναι έτοιμος, αποθηκεύστε αυτόν τον κωδικό τοποθετώντας την επέκταση .py στο όνομα του αρχείου.
Ανοίξτε το τερματικό εντολών και πληκτρολογήστε python blink.py για να εκτελέσετε τον κώδικα στην πλακέτα Arduino. Βεβαιωθείτε ότι η πλακέτα Arduino είναι συνδεδεμένη με την πλακέτα Raspberry Pi χρησιμοποιώντας καλώδιο USB.
Τώρα, μπορείτε να δείτε το LED που αναβοσβήνει στον πίνακα Arduino.
Στο τέλος δίνεται πλήρης κωδικός για το LED που αναβοσβήνει χρησιμοποιώντας το pyFirmata.
Fading LED στο Arduino χρησιμοποιώντας το pyFirmata
Τώρα, θα γράψουμε κώδικα για το ξεθώριασμα του LED για να σας εξοικειώσουμε με τις λειτουργίες pyFirmata. Αυτός ο κωδικός είναι εύκολος όπως ο προηγούμενος. Πρέπει να χρησιμοποιήσετε δύο για βρόχους, ένα για αύξηση φωτεινότητας και άλλο για μείωση φωτεινότητας.
Σε αυτόν τον κώδικα, έχουμε ορίσει τις ακίδες με διαφορετικό τρόπο όπως led = board.get_pin ('d: 9: p') όπου d σημαίνει ψηφιακή καρφίτσα . Αυτή είναι συνάρτηση της βιβλιοθήκης pyFirmata. Διαβάστε την τεκμηρίωση για περισσότερες λεπτομέρειες.
Στο τέλος παρέχεται πλήρης κωδικός για το Fading LED χρησιμοποιώντας το pyFirmata.
Τώρα, μπορείτε να προσθέσετε περισσότερους αισθητήρες στο σύστημά σας και να το κάνετε πιο δροσερό, να ελέγξετε τα άλλα έργα μας Arduino και να τα δημιουργήσετε χρησιμοποιώντας το σενάριο Raspberry pi και python.