Мазмуну:

ESP8266 боюнча MicroPython менен баштоо: 10 кадам (Сүрөттөр менен)
ESP8266 боюнча MicroPython менен баштоо: 10 кадам (Сүрөттөр менен)

Video: ESP8266 боюнча MicroPython менен баштоо: 10 кадам (Сүрөттөр менен)

Video: ESP8266 боюнча MicroPython менен баштоо: 10 кадам (Сүрөттөр менен)
Video: How to use ESP32 WiFi and Bluetooth with Arduino IDE full details with examples and code 2024, Ноябрь
Anonim
ESP8266 боюнча MicroPython менен баштоо
ESP8266 боюнча MicroPython менен баштоо

C/C ++ программалоо тили менен бирге Arduino IDEди колдонуунун жалпы методуна эмес, ESP8266га негизделген такталарды программалоонун башка жолун каалайсызбы?

Бул үйрөткүчтө биз MicroPython аркылуу ESP8266 тактасын ким конфигурациялоону жана башкарууну үйрөнөбүз.

УБАКЫТ УБАКЫТЫ: 60 МИНУТ КЫЙЫНТЫК: БАА: оңой

1 -кадам: MicroPython деген эмне?

MicorPython - бул ESP8266 модулун программалоо үчүн колдоно ала турган көптөгөн программалоо тилдеринин бири. Бул Python 3 программалоо тилинин арык жана тез версиясы жана салттуу программалоо тилдерине караганда C жана C ++ сыяктуу бир нече артыкчылыктарга ээ.

MicroPython мүмкүн болушунча кадимки Python менен шайкеш келүү үчүн иштелип чыккан. Ал толук Python компиляторуна жана иштөө убактысына ээ жана REPL (Read-Eval-Print Loop) деп аталган интерактивдүү чакырыкты камсыз кылат.

MicorPython бир нече микроконтроллерди колдоо үчүн иштелип чыккан. Бирок бул окуу куралы үчүн мен бир эле модель менен иштейм: ESP8266 негизделген такта (NodeMCU). Ошол эле чип менен сатып ала турган бир нече башка такталар бар экенин эске алыңыз.

Окуу жана булактар:

MicroPython

NodeMCU

2 -кадам: талаптар

Талаптар
Талаптар
Талаптар
Талаптар
Талаптар
Талаптар
Талаптар
Талаптар

Бул үйрөткүчтү ээрчүү үчүн, сиз Python менен негизги коддоо тажрыйбасына ээ болушуңуз керек. Микроконтроллер, электроника, ал тургай MicroPython боюнча мурунку билимге ээ болуунун кажети жок.

Ошондой эле сизге бекер USB порту бар Windows, Mac же Linux компьютери керек болот, анткени сиз аны программалоо үчүн компьютериңизге микроконтроллерди туташтырасыз.

Талап кылынган бөлүктөр:

1 x NodeMCU (же башка ESP8266 негизделген такта)

1 х Кызыл 5мм LED

1 x 220Ω 1/4W резистору

1 x 10KΩ Ротари Потенциометр

1 х нан тактасы

MicroUSB кабелине 1 x USB

Jumper Wires.

3-кадам: Эмне үчүн ESP8266 негизделген такта?

Эмне үчүн ESP8266 негизделген такта?
Эмне үчүн ESP8266 негизделген такта?

ESP8266дан максималдуу түрдө пайдалануунун бир жолу - MicroPython колдонуу. Ошондой эле, ESP8266 модулу MicroPython колдонууну үйрөнө турган эң мыкты аянтчалардын бири. Бул ESP8266 MicroPython программалоо тилинин бардык аспектилерин текшерүүгө мүмкүндүк берүүчү, жөнөкөй GPIO пин башкаруу функцияларын, ошондой эле зымсыз иштөөнү камсыз кылат.

ESP8266 чипи ачык булактарды иштеп чыгуу тармагында популярдуу. ESP8266 чипин колдонгон ар кандай өндүрүүчүлөрдүн көптөгөн өнүгүү такталары бар. MicroPython мүмкүн болушунча аз чектөөлөр менен, тактайлардын көбүндө иштей турган жалпы портту камсыз кылуу үчүн иштелип чыккан. Порт Adafruit Feather HUZZAH тактасына негизделген Башка ESP8266 такталарын колдонуп жатканда, алардын схемаларын жана маалыматтык таблицаларын текшерип көрүңүз, андыктан алар менен Adafruit Feather HUZZAH тактасынын ортосундагы айырмачылыктарды аныктай аласыз. Ошентип, сиз кодуңуздагы айырмачылыктарды кабыл ала аласыз.

Окуу жана булактар:

ESP8266

Adafruit Feather HUZZAH

4 -кадам: Компьютериңизди орнотуу

Компьютериңизди Орнотуу
Компьютериңизди Орнотуу
Компьютериңизди Орнотуу
Компьютериңизди Орнотуу
Компьютериңизди Орнотуу
Компьютериңизди Орнотуу
Компьютериңизди Орнотуу
Компьютериңизди Орнотуу

ESP8266 тактаңызды программалоо үчүн MicroPythonду колдонуудан мурун бир нече нерселерди орнотушуңуз керек. Ошентип, сиз ESP8266 тактасын MicroPython менен кантип конфигурациялоону билесиз.

Даярдык көрүлүүдө

Бул кадамдан 6 -кадамга чейин сизге ESP8266 жана USB кабели гана керек. ESP8266 тактаңызды компьютериңизге туташтырыңыз.

Муну кандай жасаш керек…

1 -КАДАМ: Түзмөктүн драйверлерин орнотуңуз

Эгерде сизде Linux компьютери болсо, анда микроконтроллерди таануу үчүн драйверлерди орнотуунун кажети жок, бирок сизде Mac же Windows машинасы бар, компьютерге микроконтроллерди таанууга уруксат берүү үчүн драйвер керек. сериялык түзмөк катары.

www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers.

2 -КАДАМ: Python орнотуу

ESP8266 менен байланышуу үчүн колдоно турган куралдар Pythonдо жазылган, андыктан Pythonду компьютериңизге орнотушуңуз керек.

Эгерде сиздин иштетүү тутумуңуз алдын ала пакеттелген Python менен камсыз кылбаса, https://python.org сайтына кирип, колдоого алынган операциялык тутумдардын бирөөсүнүн расмий түзүлүшүн жүктөп алсаңыз болот.

3 -КАДАМ: esptool жана rshell орнотуңуз

Типиңизди башкарууга жардам бере турган эки пакетти орнотуңуз. Бул үчүн терминалыңызды ачыңыз жана иштетиңиз

esptool rshell орнотуу

4 -КАДАМ: MicroPython жүктөп алыңыз

Акыркы MicroPython.bin программасын төмөнкү шилтемеден жүктөп алыңыз:

Мен муну жазып жаткан учурда, учурдагы версиясы 1.11, ал эми микрофайманын файлы esp8266-20190529-v1.11.bin деп аталат

Муну аткарганда, сиз жаңы версияны таба аласыз.

5 -кадам: Esptool.py менен жаркылдаган MicroPython

Esptool.py менен жаркылдаган MicroPython
Esptool.py менен жаркылдаган MicroPython
Esptool.py менен жаркылдаган MicroPython
Esptool.py менен жаркылдаган MicroPython

Тактага жаңы камтылган программаны күйгүзүүдөн мурун, мурунку дайындарды өчүрүү жакшы идея. Бул дайыма жаңы программанын таза абалынан иштеши үчүн жасалышы керек.

Сиз.bin файлын койгон жерге барыңыз. Жарыкты өчүрүү үчүн esptool.py колдонуңуз.

Linux үчүн:

esptool.py --port /dev /ttyUSB0 erase_flash

Windows үчүн:

esptool.py -порт COM3 erase_flash

Сиз буйругуңуздагы сериялык портту ESP8266 тактаңыз туташкан сериялык портко өзгөртүшүңүз керек болушу мүмкүн. Эгерде сиз ESP8266 сериялык порт номерин билбесеңиз, Arduino IDEден текшере аласыз. Жөн эле IDEди ачып, анан Tools | баскычын чыкылдатыңыз Порттор. Сиз ал жерде ESP8266 тактаңыздын сериялык портун көрүшүңүз керек. Командадагы (/dev/ttyUSB0) сериялык портту тактаңыздын сериялык порту менен алмаштырыңыз.

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

esptool.py --port /dev /ttyUSB0 --baud 460800 write_flash 0 esp8266-20190529-v1.11.bin

Бул буйрук MicroPython.bin файлынын мазмунун тактага 0 дареги боюнча жазат.

Командадагы.bin файлынын аталышын (esp82688-2019-080529-v1.11.bin) сиз жүктөп алган программалык камсыздоого өзгөрткөнүңүздү текшериңиз.

Камтылган программа ESP8266 тактаңызга ийгиликтүү орнотулгандан кийин, тактаңыздагы REPLге зымдуу туташуу (UART сериялык порт) же ойлонулган WiFi аркылуу кире аласыз.

6 -кадам: MicroPython REPLди Rshell менен колдонуу

MicroPython REPLди Rshell менен колдонуу
MicroPython REPLди Rshell менен колдонуу
MicroPython REPLди Rshell менен колдонуу
MicroPython REPLди Rshell менен колдонуу

Сиз азыр ESP8266 тактаңызда MicroPythonду баштоого даярсыз.

Мен сизге тактаңызда иштеп жаткан Python чакыруусун кантип туташтырууну көрсөтөм. Бул REPL деп аталат, ал "Окуу-Эваль-Басып чыгаруу-Цикл" дегенди билдирет. Бул кадимки Python котормочу менен иштөөдө көрүүгө көнгөн стандарттуу Python чакырыгы, бирок бул жолу ал тактаңызда иштеп жатат жана аны менен иштөө үчүн сиз компьютериңизге сериялык туташууну колдоносуз.. Даярсызбы?

Тактаңызга туташуу жана REPL сеансын ачуу үчүн, төмөнкү буйрукту киргизиңиз:

rshell -порт

Бул буйрук сизди rshell көрсөтмөсүнө алып келет. Жогорудагы сүрөттү караңыз.

Эгерде сиз Windowsто бул үйрөткүчтү ээрчип жатсаңыз, rshellде Windows менен иштөөдө көйгөйлөрдүн тарыхы бар экенин эске алыңыз.

Ошентип, бул түрдү оңдоо үчүн:

rshell -a -порт COM3

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

жооп

Баары иштеп жатканына ынануу үчүн, жөнөкөй Python сүйлөмүн териңиз:

басып чыгаруу ("Hello World")

7 -кадам: MicroPython аркылуу пиндерди көзөмөлдөө

MicroPython колдонуу менен казыктарды көзөмөлдөө
MicroPython колдонуу менен казыктарды көзөмөлдөө
MicroPython аркылуу көзөмөлдөө казыктары
MicroPython аркылуу көзөмөлдөө казыктары

Бул кадамда биз MicroPython менен ESP8266 казыктарын кантип башкарууну үйрөнөбүз. Бул үчүн биз ESP8266 тактасына GPIO пин туташтырылган LEDдин абалын которо турган орнотууну ойлоп табабыз. Бул MicoPython аркылуу санариптик чыгууларды кантип башкарууну түшүнүүгө жардам берет.

Даярдык көрүлүүдө

Бул кадамды аткаруу үчүн сизге төмөндөгү нерселер керек болот:

1 x NodeMCU

1 х Кызыл 5мм LED

1 x 220 Ω Резистор

1 х нан тактасы

Jumper Wires

Build

LEDди нан тактасына орнотуудан баштаңыз. 220 Ω каршылыгынын бир учун LEDдин оң бутуна туташтырыңыз (светодиоддун оң буту, адатта, эки буттун биринен бийик). Резистордун экинчи башын ESP8266 тактасынын D1 пинине туташтырыңыз. Андан кийин LED терс бутун ESP8266 тактасынын GND пинине туташтырыңыз. Байланыш жогорудагы диаграммада көрсөтүлгөндөй.

Орнотуу аяктагандан кийин, ESP8266 тактасын компьютериңизге USB кабели аркылуу туташтырыңыз.

Муну кандай жасаш керек…

REPLге төмөнкү кодду териңиз:

Ар бир 1 секундда # жарык өчөт

def blink (pin = 5, time = 1) # blink функциясы демейки пин = 5, time = 1s импорт машинасы # машина модулу пин импременттерин жана режимин импорттук режимде кармап турат # импорттук уйку кээ бир кечигүү үчүн LED = machine. Pin (led_pin, machine. PIN. OUT) # ЧЫККАНДЫК катары конфигурациялоо True: # түбөлүккө чуркоо LED.value (1) # LEDди жогорку уйкуга коюу (убакыт) # демейки 1 секунд күтүү LED.value (0) # set LED LOW уйкуга (убакыт) # демейки боюнча 1 секунд күтө туруңуз

Бул кодду текшерүү үчүн RPEL сессияңызда blink () териңиз. Бул GPIO5 менен туташкан LEDди 1 секунд сайын өчүрөт.

Пинди жана/же убакытты төмөнкү телефондорго өзгөртүүгө болот:

ирмөө (пин =, убакыт =)

Иштеп жаткан коддон чыгуу үчүн ctrl+c басыңыз.

Сиз ESP8266га туташкан маалыматты окуу үчүн MicroPython колдоно аласыз. Муну үйрөнүү үчүн кийинки кадамга өтүңүз.

Тыгылып калсаңыз видеону текшериңиз.

8 -кадам: LEDдин өчүшү

LEDдин өчүшү
LEDдин өчүшү
LEDдин өчүшү
LEDдин өчүшү

Бул кадамда биз айлануучу потенциометрдин жардамы менен LEDдин жарыгын кантип тууралоону үйрөнөбүз. Биз Pulse Width Modulation (PWM) деп аталган техниканы колдонобуз, ал бизге LEDди 256 орнотууга чейин өчүрүүгө мүмкүндүк берет.

Эскертүү: ESP8266 бардык казыктары GPIO16дан башка PWM пин катары колдонулушу мүмкүн (D0).

Даярдалууда:

Бул кадамды аткаруу үчүн сизге төмөндөгү нерселер керек болот:

1 x NodeMCU

1 х Кызыл 5мм LED

1 x 50 KΩ Ротари потенциометр.

1 х нан тактасы

Jumper Wires

Build

Байланыш жогорудагы диаграммада көрсөтүлгөндөй: Орнотуу аяктагандан кийин, ESP8266 тактасын компьютериңизге USB кабели аркылуу туташтырыңыз.

Муну кандай жасаш керек…

REPLге төмөнкү кодду териңиз:

# Потенциометрдин маалыматын окуу менен ар бир 0,5 өчүп бараткан LED

убакыттан импорттоо машинасы импорт уйку True жана объектти жыштыкты 500 Гцке коюңуз: LED_pwm.duty (POT.read ()) # казандан маанини алыңыз жана аны жумуш циклинин уйкусуна коюңуз (0,5) # 0,5 күтүңүз

Бул потенциометрдин маанисин өзгөртүү менен GPIO 5ке туташкан LEDдин жарыктыгын өзгөртөт.

Иштеп жаткан коддон чыгуу үчүн ctrl+c басыңыз.

Тыгылып калсаңыз видеону текшериңиз.

9 -кадам: Бул жерден кайда?

Буга чейин биз MicroPythonду ESP8266 негизделген такталарда кантип конфигурациялап, иштетүүнү көрдүк. биз светодиодду кантип өчүрүү керектигин үйрөндүк, андан кийин импульстун модуляция техникасын колдонуу менен диоддун жарыктыгын көзөмөлдөө үчүн потенциометрди коштук.

Эми биз сенсордон маалыматтарды окуп, булутка жөнөтө алабыз, ошондой эле HTTP серверин түзө алабыз, анда сиз биздин маалыматты жөнөкөй веб -баракчага басып чыгара аласыз, ж.

Бул бизге нерселердин Интернети (IoT) жөнүндө көптөгөн түшүнүктөрдү берет.

10 -кадам: Жыйынтык

Мына сага! Барыңыз жана MicroPython дүйнөсүн багынтыңыз.

эгерде кандайдыр бир сурооңуз болсо, албетте, комментарий калтырсаңыз болот.

Менин чыгармаларым жөнүндө көбүрөөк билүү үчүн менин YouTube каналыма баш багыңыз:

myYouTube

myGitHub

myLinkedin

Бул көрсөтмөлүү окуу үчүн рахмат ^^ жана жакшы күн.

Көрүшкөнчө.

Ахмед Нуира.

Сунушталууда: