Anaconda (Python) za vaš Arduino

Logotip Anaconda

Anaconda je brezplačna in odprta distribucija programskega jezika Python (in R). Ne pozabite, da je danes eden najpogosteje uporabljenih jezikov in vam omogoča ustvarjanje skript, saj je tolmačen jezik. Zato je od tolmača Python odvisno, da ga naprava lahko razume in obdela. Nasprotno pa so prevedeni jeziki prevedeni v binarno datoteko, ki jo naprava lahko neposredno razume brez posrednika.

Pa tudi, anaconda Veliko se uporablja na področju izobraževanja in strojnega učenja. Pa tudi kaj lahko uporabite za nadzor plošče Arduino. Da, natančno, programski jezik Python bi lahko brez težav in na preprost način ustvarili programe za nadzor Arduina. Tukaj bomo razložili, kako to narediti korak za korakom ...

Kaj je Anaconda

No, že veste, kaj je distribucija pythona, in zato deli značilnosti z uradnim Pythonom. Vendar ponuja nekaj prednosti pred Pythonom, poleg tega, da je večplastna in odprtokodna, na primer:

  • Omogoča vam namestite in upravljajte pakete, odvisnosti in okolja za podatkovno znanost na preprost način.
  • Omogoča uporabo različnih programskih okolij ali IDE-jev, med njimi tudi lahko ga uporabljate z Arduino, Raspberry Pi itd.
  • Je orodja kot so numpy, Numba, Dask, Bokeh, Datashader, Holoviews, Matplotlib itd., za analizo in vizualizacijo podatkov.
  • Omogoča prevedite python v strojno kodo namesto da bi ga razlagali za hitrejšo izvedbo. To pomeni, da bi postal prevedeni jezik.
  • Omogoča pišite bolj zapletene, zmogljive in celo prenosne programe med različnimi platformami, da svoje projekte ponesete kamor koli želite.

Več informacij – Namestite Anacondo

API za uporabo z Arduino

Arduino in Python logotip

za če želite uporabljati Python za nadzor Arduina, potrebujete API. Ko ste v operacijski sistem namestili Anacondo, lahko namestite API na zelo preprost način. Preprosto je kot priklic anaconde iz ukazne vrstice, takrat se bo vaš poziv lupine spremenil v poziv Anaconda, v njem pa lahko uporabite naslednji ukaz in conda bo poskrbel za vse:

conda install -c auto arduino-python

Ko je arduino-python nameščen, že lahko ga začnete uporabljati pri svojih Arduino projektih. Najprej pa morate pripraviti okolje za ustvarjanje novega navideznega okolja za svoj prvi projekt Arduino. Če želite to narediti, lahko v pozivu Anaconda uporabite naslednji ukaz, ki določa ime in različico jezika Python, ki ga boste uporabljali. Na primer:

conda create --name arduino python=3.7

Zdaj je virtualno okolje "arduino" že ustvarjeno za uporabo z različico Python 3.7. To naslednji je, da ga aktivirate:

conda activate arduino

Ko je aktivno, obdržite to okno terminala in ga ne zapirajte, saj ga boste uporabili pozneje. Kako lahko to vidite poziv je zdaj (arduino)> tako da lahko začnete. Prikladno bi bilo, da zdaj namestite nekaj paketov, ki jih potrebujete, na primer PySerial za komunikacijo z Arduino ploščo. Če želite to narediti, preprosto uporabite iz istega poziva:

conda install pyserial

V redu zdaj prenesite in namestite Arduino IDE Če ga še niste imeli, lahko preidete na naslednji korak, to je pisanje kode v Python za nadzor vašega projekta Arduino. Za preskus lahko napišete preprost program ali uporabite primere, ki so priloženi IDEju Arduino.

Z ejemplo, pojdite na Arduino IDE> Datoteka> Primeri> Komunikacija> PhysicalPixel in ga naložite na svojo ploščo Arduino, priključeno na računalnik. Ko skica deluje, lahko za spreminjanje rezultata uporabite Python kot na plošči Raspberry Pi z GPIO-ji. Na primer, v tem primeru vklopite ali izklopite LED po svoji volji s preprosto kodo Python.

Če želite to narediti, lahko vrnite se v okno terminala in v poziv Anaconda Naredite naslednje:

> 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 bo naredilo funkcija ser.write lahko po želji izklopi (L) ali vklopi LED (H). Nato se ser.close () konča in izhod () izstopi. Tako lahko nadzirate svoje Arduino projekte s Pythonom. Očitno je to le primer, vendar si lahko predstavljate še veliko primerov ...

Lahko tudi ustvarite .py datoteke s skripti Python da bi jih lahko kadar koli izvedli, ne da bi to morali storiti neposredno iz poziva anaconda. Na primer to 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()

Preprosta resnica? Poleg tega, če ste že poznali jezik Python, vse to vam bo veliko lažje. V tem primeru boste morali zagnati .py in komunicirati z interaktivnimi možnostmi tega programa, da vnesete ukaze za vklop, izklop ali izhod iz programa.


Bodite prvi komentar

Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.