Anaconda (Python) για το Arduino σας

Λογότυπο Anaconda

Το Anaconda είναι μια δωρεάν και ανοιχτή διανομή της γλώσσας προγραμματισμού Python (και R). Θυμηθείτε, μια από τις πιο ευρέως χρησιμοποιούμενες γλώσσες σήμερα και που σας επιτρέπει να δημιουργήσετε σενάρια, καθώς είναι μια ερμηνευμένη γλώσσα. Επομένως, εξαρτάται από τον διερμηνέα Python έτσι ώστε το μηχάνημα να μπορεί να το κατανοήσει και να το επεξεργαστεί. Αντιθέτως, οι μεταγλωττισμένες γλώσσες μεταφράζονται σε δυαδικό που μπορεί να γίνει άμεσα κατανοητό από το μηχάνημα χωρίς μεσάζοντα.

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

Τι είναι το Anaconda

Λοιπόν, γνωρίζετε ήδη τι είναι η διανομή python, και ως εκ τούτου μοιράζεται χαρακτηριστικά με την επίσημη Python. Αλλά προσφέρει μερικά πλεονεκτήματα έναντι της Python, εκτός από το ότι είναι cross-platform και open source, όπως:

  • Σας επιτρέπει εγκαταστήστε και διαχειριστείτε πακέτα, εξαρτήσεις και περιβάλλοντα για την επιστήμη δεδομένων με απλό τρόπο.
  • Επιτρέπει τη χρήση διαφόρων περιβαλλόντων προγραμματισμού ή IDE, μεταξύ αυτών επίσης μπορείτε να το χρησιμοποιήσετε με Arduino, Raspberry Pi κ.λπ.
  • Λογαριασμός με εργαλεία όπως numpy, Numba, Dask, Bokeh, Datashader, Holoviews, Matplotlib κ.λπ., για ανάλυση και οπτικοποίηση δεδομένων.
  • Επιτρέπει μεταγλωττίστε τον πύθωνα σε κώδικα μηχανής αντί να ερμηνεύεται για ταχύτερη εκτέλεση. Δηλαδή, θα γινόταν μια μεταγλωττισμένη γλώσσα.
  • Επιτρέπει γράψτε πιο πολύπλοκα, υψηλής απόδοσης, ακόμη και φορητά προγράμματα μεταξύ πλατφορμών για να μεταφέρετε τα έργα σας όπου θέλετε.

Περισσότερες πληροφορίες – Εγκαταστήστε το Anaconda

API για χρήση με το Arduino

Λογότυπο Arduino και Python

να για να χρησιμοποιήσετε το Python για τον έλεγχο του Arduino θα χρειαστείτε ένα API. Μόλις εγκαταστήσετε το Anaconda στο λειτουργικό σας σύστημα, μπορείτε εγκαταστήστε το API με έναν πολύ απλό τρόπο. Είναι τόσο απλό όσο η επίκληση του anaconda από τη γραμμή εντολών, εκείνη τη στιγμή το κέλυφος σας θα αλλάξει σε γραμμή εντολών Anaconda και μέσα μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή και το conda θα φροντίσει τα πάντα:

conda install -c auto arduino-python

Μόλις εγκατασταθεί το arduino-python μπορείτε να αρχίσετε να το χρησιμοποιείτε με τα έργα Arduino. Αλλά πρώτα, πρέπει να προετοιμάσετε το περιβάλλον για να δημιουργήσετε ένα νέο εικονικό περιβάλλον για το πρώτο σας έργο Arduino. Για να το κάνετε αυτό, εντός της προτροπής Anaconda μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή καθορίζοντας ένα όνομα και την έκδοση της γλώσσας Python που πρόκειται να χρησιμοποιήσετε. Για παράδειγμα:

conda create --name arduino python=3.7

Τώρα το εικονικό περιβάλλον "arduino" έχει ήδη δημιουργηθεί για χρήση με την Python έκδοση 3.7. Το το επόμενο είναι να το ενεργοποιήσετε:

conda activate arduino

Μόλις ενεργοποιηθεί, διατηρήστε αυτό το παράθυρο τερματικού, μην το κλείσετε, καθώς θα το χρησιμοποιήσετε αργότερα. Πώς μπορείτε να το δείτε αυτό η προτροπή είναι τώρα (arduino)> για να ξεκινήσετε. Θα ήταν βολικό να εγκαταστήσετε τώρα μερικά πακέτα που θα χρειαστείτε, όπως το PySerial για επικοινωνία με την πλακέτα Arduino. Για να το κάνετε αυτό, απλώς χρησιμοποιήστε από την ίδια προτροπή:

conda install pyserial

Εντάξει τώρα κατεβάστε και εγκαταστήστε το Arduino IDE Εάν δεν το είχατε ήδη, αν το κάνατε, μπορείτε να προχωρήσετε στο επόμενο βήμα, δηλαδή να γράψετε τον κώδικα στο Python για να ελέγξετε το έργο Arduino. Μπορείτε να γράψετε ένα απλό πρόγραμμα ή να χρησιμοποιήσετε τα παραδείγματα που συνοδεύουν το Arduino IDE για δοκιμή.

Με παράδειγμα, μεταβείτε στο Arduino IDE> Αρχείο> Παραδείγματα> Επικοινωνία> PhysicalPixel και ανεβάστε το στην πλακέτα Arduino που είναι συνδεδεμένη στον υπολογιστή σας. Μόλις το σκίτσο λειτουργεί, μπορείτε να χρησιμοποιήσετε το Python όπως θα κάνατε στον πίνακα Raspberry Pi με τους GPIO για να αλλάξετε το αποτέλεσμα. Για παράδειγμα, σε αυτήν την περίπτωση για να ανάψετε ή να σβήσετε το LED κατά βούληση με έναν απλό κωδικό Python

Για να το κάνετε αυτό, μπορείτε επιστρέψτε στο παράθυρο του τερματικού σας και στη γραμμή εντολών του Anaconda Κάντε το επόμενο:

> conda activate arduino
(arduino) > python

Python 3.7.1 (default, Dec 10 2018, 22:54:23) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.

>>> import serial
>>> ser = serial.Serial('COM4', 9800, timeout=1)
>>> ser.write(b'H')
>>> ser.write(b'L')
>>> ser.close()
>>> exit()
(arduino) >

Αυτό θα κάνει η λειτουργία ser.write μπορεί να απενεργοποιήσει (L) ή να ανάψει το LED (H) κατά βούληση. Στη συνέχεια, το ser.close () τελειώνει και η έξοδος () εξέρχεται. Έτσι μπορείτε να ελέγχετε τα έργα σας Arduino με την Python. Προφανώς αυτό είναι απλώς ένα παράδειγμα, αλλά μπορείτε να φανταστείτε πολλές ακόμη περιπτώσεις ...

Μπορείτε επίσης να δημιουργήστε αρχεία .py με σενάρια Python για να μπορέσετε να τα εκτελέσετε ανά πάσα στιγμή χωρίς να χρειάζεται να το κάνετε απευθείας από το μήνυμα anaconda. Για παράδειγμα αυτό το άλλο:

# Ejemplo titileo_LED.py

import serial
import time

# Define el puerto serie
# Debes comprobar desde el gestor de dispositivos de tu sistma operativo a qué puerto se corresponde el USB de la placa Arduino, en Windows sería COM4 en nuestro caso
ser = serial.Serial('COM4', 9600)

def led_on_off():
    user_input = input("\n Elige comando: encendido / apagado / quitar : ")
    if user_input =="encendido":
        print("LED está encendido...")
        time.sleep(0.1) 
        ser.write(b'H') 
        led_on_off()
    elif user_input =="apagado":
        print("LED está apagado...")
        time.sleep(0.1)
        ser.write(b'L')
        led_on_off()
    elif user_input =="quitar" or user_input == "q":
        print("Salir del programa")
        time.sleep(0.1)
        ser.write(b'L')
        ser.close()
    else:
        print("Comando no válido")
        led_on_off()

time.sleep(2) # Espera a que el puerto serie inicialice 

led_on_off()

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


Γίνε ο πρώτος που θα σχολιάσει

Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.