Anaconda (Python) za vaš Arduino

anaconda-logo

Anaconda je besplatna i otvorena distribucija programskog jezika Python (i R). Zapamtite, jedan od najčešće korištenih jezika danas i koji vam omogućava stvaranje skripti, jer je to protumačeni jezik. Stoga, to ovisi o tumaču Python, tako da ga stroj može razumjeti i obraditi. Nasuprot tome, kompajlirani jezici prevode se u binarni oblik koji mašina može izravno razumjeti bez posrednika.

Kao dobro, anakonda Široko se koristi na polju obrazovanja i mašinskog učenja. Ali i šta možete koristiti za upravljanje Arduino pločom. Da, tačno, mogli biste koristiti programski jezik Python za kreiranje svojih programa za kontrolu Arduina bez ikakvih problema i na jednostavan način. Ovdje ćemo objasniti kako to učiniti korak po korak ...

Šta je Anaconda

Pa, već znate šta je python distribucija, i stoga dijeli karakteristike sa službenim Pythonom. Ali nudi neke prednosti u odnosu na Python, osim što je višeplatforma i otvoreni izvor, kao što su:

  • Omogućuje vam instalirati i upravljati paketima, zavisnostima i okruženjima za nauku podataka na jednostavan način.
  • Omogućava upotrebu različitih programskih okruženja ili IDE-a, među njima takođe možete ga koristiti sa Arduinom, Raspberry Pi itd.
  • Račun sa alati kao što su numpy, Numba, Dask, Bokeh, Datashader, Holoviews, Matplotlib, itd., za analizu i vizualizaciju podataka.
  • Omogućuje kompajlirati python u mašinski kod umjesto da se tumači za brže izvršenje. Odnosno, postao bi kompajlirani jezik.
  • Omogućuje pisati složenije, visoko performanse, pa čak i prenosive programe između platformi kako biste svoje projekte vodili kamo god želite.

Više informacija – Instalirajte Anacondu

API za upotrebu sa Arduinom

Arduino i Python logotip

para za korištenje Pythona za kontrolu Arduina trebat će vam API. Jednom kada instalirate Anacondu na svoj operativni sistem, možete instalirajte API na vrlo jednostavan način. Jednostavno je kao i pozivanje anaconde iz naredbenog retka, u tom će se trenutku vaš shell shell promijeniti u prompt Anaconda, a iznutra možete koristiti sljedeću naredbu i conda će se pobrinuti za sve:

conda install -c auto arduino-python

Jednom kada je arduino-python instaliran, već možete ga početi koristiti sa svojim Arduino projektima. Ali prvo, morate pripremiti okruženje za stvaranje novog virtualnog okruženja za svoj prvi Arduino projekt. Da biste to učinili, u odzivu Anaconda možete koristiti sljedeću naredbu koja određuje ime i verziju jezika Python koju ćete koristiti. Na primjer:

conda create --name arduino python=3.7

Sada je virtualno okruženje "arduino" već kreirano za upotrebu s Python verzijom 3.7. To sljedeće je da ga aktivirate:

conda activate arduino

Jednom aktivan, zadržite ovaj prozor terminala, nemojte ga zatvarati, jer ćete ga koristiti kasnije. Kako to vidiš? upit je sada (arduino)> tako da možete započeti. Bilo bi prikladno da sada instalirate neke pakete koji će vam trebati, kao što je PySerial za komunikaciju s Arduino pločom. Da biste to učinili, jednostavno upotrijebite iz istog upita:

conda install pyserial

Odmah preuzmite i instalirajte Arduino IDE Ako ga već niste imali, ako jeste, onda možete prijeći na sljedeći korak, a to je pisanje koda na Pythonu za kontrolu vašeg Arduino projekta. Možete napisati jednostavan program ili koristiti primjere koji dolaze uz Arduino IDE za testiranje.

por ejemplo, idite na Arduino IDE> Datoteka> Primjeri> Komunikacija> PhysicalPixel i prenesite ga na svoju Arduino ploču povezanu s računalom. Jednom kada skica radi, možete koristiti Python kao na ploči Raspberry Pi s GPIO-ima da biste promijenili rezultat. Na primjer, u ovom slučaju uključite ili isključite LED po volji jednostavnim Python kodom.

Da biste to učinili, možete vratite se na prozor terminala i u upit Anaconda Uradite sljedeće:

> 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) >

To će učiniti funkcija ser.write može po želji isključiti (L) ili uključiti LED (H). Zatim ser.close () završava i izlaz () izlazi. Tako možete kontrolirati svoje Arduino projekte pomoću Pythona. Očito je ovo samo primjer, ali možete zamisliti još mnogo slučajeva ...

Takođe možete kreirajte .py datoteke s Python skriptama kako bi ih mogli izvršiti u bilo koje vrijeme, a da to ne moraju učiniti direktno iz upita anaconda. Na primjer ovo drugo:

# 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()

Jednostavna istina? Nadalje, ako već ste znali jezik Python, sve ovo će vam biti puno lakše. Morat ćete pokrenuti svoj .py i komunicirati s interaktivnim opcijama ovog programa da biste unijeli naredbe za uključivanje, isključivanje ili izlazak iz programa u ovom slučaju.


Budite prvi koji komentarišete

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.