Anaconda (Python) for your Arduino

Anaconda логотиби

Anaconda - бул Python программалоо тилинин акысыз жана ачык таралышы (жана R). Эсиңизде болсун, бүгүнкү күндө кеңири колдонулуп келе жаткан жана сценарийлерди түзүүгө мүмкүнчүлүк берген тилдердин бири, анткени бул которулган тил. Ошондуктан, машина аны түшүнүп, иштеп чыгышы үчүн, ал Python котормочусунан көз каранды. Ал эми, компиляцияланган тилдер машинага ортомчусуз түздөн-түз түшүнө турган экилик форматка которулат.

ошондой эле, Анаконда Билим берүү жана машиналык окутуу тармагында кеңири колдонулат. Бирок ошондой эле эмне сиз Arduino тактасын башкаруу үчүн колдоно аласыз. Ооба, тактап айтканда, сиз Arduino программасын жөнөкөй жол менен башкара турган Python программалоо тилин колдонсоңуз болот. Бул жерде аны этап-этабы менен кантип жасоону түшүндүрүп беребиз ...

Анаконда деген эмне

ошондой эле, python бөлүштүрүү эмне экендигин мурунтан эле билесиз, демек, расмий Python менен мүнөздөмөлөрдү бөлүшөт. Бирок, бул Pythonго караганда, кросс-платформадан жана ачык булактан тышкары бир катар артыкчылыктарды сунуш кылат:

  • Бул сизге мүмкүнчүлүк берет пакеттерди, көз карандылыкты жана чөйрөнү орнотуу жана башкаруу жөнөкөй жол менен маалымат илим үчүн.
  • Бул ар кандай программалоо чөйрөлөрүн же алардын арасында IDE колдонууга мүмкүндүк берет аны Arduino, Raspberry Pi ж.б. менен колдонсоңуз болот.
  • өзгөчөлүктөрү аспаптар маалыматтарды талдоо жана визуалдаштыруу үчүн numpy, Numba, Dask, Bokeh, Datashader, Holoviews, Matplotlib ж.б.
  • Бул берет Pythonду машина кодуна компиляциялоо тезирээк аткаруу үчүн чечмеленгендин ордуна. Башкача айтканда, ал түзүлгөн тилге айланмак.
  • Бул берет кыйла татаал, жогорку өндүрүмдүү, ал тургай көчмө программаларды жазуу Долбоорлоруңузду каалаган жериңизге алып кетүү үчүн аянтчалардын ортосунда.

Кошумча маалымат - Anaconda орнотуу

Arduino менен колдонуу API

Arduino жана Python логотиби

Para Arduino программасын башкаруу үчүн Python колдонуу үчүн сизге API керек болот. Anaconda операциялык тутумуңузга орнотулгандан кийин, сиз жасай аласыз API орнотуу абдан жөнөкөй жол менен. Буйрук сабынан анаконду чакыруу сыяктуу эле жөнөкөй, ошол учурда сиздин раковинанын чакыруусу 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)> ошондуктан сиз баштай аласыз. Азыр сизге керек болгон кээ бир топтомдорду, мисалы, Arduino тактасы менен байланышуу үчүн PySerial орнотуп алсаңыз болот. Бул үчүн, ошол эле чакыруудан жөн гана пайдаланыңыз:

conda install pyserial

Жакшы Arduino IDE программасын жүктөп жана орнотуңуз Эгер сизде буга чейин жок болсо, эгер бар болсо, анда кийинки кадамга өтсөңүз болот, бул Arduino долбоорун башкаруу үчүн Pythonго код жазуу. Сиз жөнөкөй программа жаза аласыз же Arduino IDE менен келген мисалдарды колдонуп тестирлөөгө болот.

Por Ejemplo, Arduino IDE> Файл> Мисалдар> Байланыш> PhysicalPixel бөлүмүнө өтүп, аны компьютериңизге туташтырылган Arduino тактасына жүктөңүз. Эскиз иштеп бүткөндөн кийин, натыйжаны өзгөртүү үчүн Raspberry Pi тактасына GPIO менен Pythonду колдонсоңуз болот. Мисалы, бул учурда жөнөкөй Python коду менен LEDди каалагандай күйгүзүү же өчүрүү.

Бул үчүн, сиз кыла аласыз терминалдык терезеңизге жана 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 () аяктайт жана exit () чыгат. Ошентип, сиз Arduino долбоорлорун Python менен башкара аласыз. Албетте, бул бир гана мисал, бирок сиз дагы көптөгөн учурларды элестете аласыз ...

Ошондой эле мүмкүн .py файлдарын Python скрипттери менен түзүү аларды каалаган убакта анаконда скриптинен түз эле аткарбай туруп аткара алышат. Мисалы, бул башка:

# 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 программаңызды иштетип, ушул программанын интерактивдүү параметрлери менен иштешишиңиз керек.


Макаланын мазмуну биздин принциптерге карманат редакциялык этика. Ката жөнүндө кабарлоо үчүн чыкылдатыңыз бул жерде.

Комментарий биринчи болуп

Комментарий калтырыңыз

Сиздин электрондук почта дареги жарыяланбайт. Милдеттүү талаалар менен белгиленет *

*

*

  1. Маалыматтар үчүн жооптуу: Мигель Анхель Гатан
  2. Маалыматтын максаты: СПАМды көзөмөлдөө, комментарийлерди башкаруу.
  3. Мыйзамдуулук: Сиздин макулдугуңуз
  4. Маалыматтарды берүү: Маалыматтар үчүнчү жактарга юридикалык милдеттенмелерден тышкары билдирилбейт.
  5. Маалыматтарды сактоо: Occentus Networks (ЕС) тарабынан уюштурулган маалыматтар базасы
  6. Укуктар: Каалаган убакта маалыматыңызды чектеп, калыбына келтирип жана жок кыла аласыз.