Съдържание:

Първи стъпки с MicroPython на ESP8266: 10 стъпки (със снимки)
Първи стъпки с MicroPython на ESP8266: 10 стъпки (със снимки)

Видео: Първи стъпки с MicroPython на ESP8266: 10 стъпки (със снимки)

Видео: Първи стъпки с MicroPython на ESP8266: 10 стъпки (със снимки)
Видео: How to use ESP32 WiFi and Bluetooth with Arduino IDE full details with examples and code 2024, Ноември
Anonim
Първи стъпки с MicroPython на ESP8266
Първи стъпки с MicroPython на ESP8266

Искате ли по различен начин да програмирате ESP8266-базирани платки, а не обичайния метод, използващ Arduino IDE заедно с езика за програмиране на C/C ++?

В този урок ще научим кой да конфигурира и контролира платка ESP8266 с помощта на MicroPython.

ВРЕМЕ НА СГРАДАНЕ: 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.

Ще ви е необходим и компютър с Windows, Mac или Linux със свободен USB порт, тъй като ще свържете микроконтролер към компютъра си, за да го програмирате.

Необходими части:

1 x NodeMCU (или друга базирана на ESP8266 платка)

1 x червен 5 мм светодиод

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

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

1 x Платка

1 x USB към MicroUSB кабел

Джъмперни проводници.

Стъпка 3: Защо ESP8266 базирана платка?

Защо ESP8266 базирана платка?
Защо ESP8266 базирана платка?

Един от начините да извлечете максимума от вашия ESP8266 е чрез използване на MicroPython. Също така, модулът ESP8266 е една от най -добрите платформи, на които да се научите как да използвате MicroPython. Това е така, защото ESP8266 предоставя прости функции за управление на пино GPIO, както и безжична функционалност, което ви позволява да тествате всички аспекти на езика за програмиране MicroPython.

Чипът ESP8266 е популярен в индустрията за развитие с отворен код. Има много дъски за разработка от различни производители, които използват чипа ESP8266. MicroPython е проектиран да предоставя общ порт, който може да работи на повечето от тези платки, с възможно най -малко ограничения. Портът се основава на дъската Adafruit Feather HUZZAH Когато използвате други платки ESP8266, не забравяйте да проверите техните схеми и технически листове, за да можете да идентифицирате разликите между тях и платката Adafruit Feather HUZZAH. По този начин можете да компенсирате разликите във вашия код.

Четене и ресурси:

ESP8266

Перо от Adafruit HUZZAH

Стъпка 4: Настройка на компютъра

Настройка на компютъра
Настройка на компютъра
Настройка на компютъра
Настройка на компютъра
Настройка на компютъра
Настройка на компютъра
Настройка на компютъра
Настройка на компютъра

Има няколко неща, които трябва да настроите, преди да използвате MicroPython за програмиране на вашата платка ESP8266. Ще преминем през процеса на настройка в тази стъпка. По този начин ще знаете как да конфигурирате 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

Инсталирайте два пакета, които ще ви помогнат да управлявате борда си чрез pip. За да направите това, отворете терминала си и стартирайте

pip install esptool rshell

СТЪПКА 4: Изтеглете MicroPython

Изтеглете най -новия фърмуер на MicroPython.bin от следната връзка:

В момента, в който пиша това, текущата версия е 1.11, а файлът на фърмуера се нарича esp8266-20190529-v1.11.bin

Докато направите това, може да намерите по -нова версия.

Стъпка 5: Мигащ MicroPython с Esptool.py

Мигащ MicroPython с Esptool.py
Мигащ MicroPython с Esptool.py
Мигащ MicroPython с Esptool.py
Мигащ MicroPython с Esptool.py

Преди да пуснете нов фърмуер в платката, е добра идея да изтриете всички предишни данни. Това е нещо, което винаги трябва да правите, така че новият фърмуер да работи от чисто състояние.

Отидете там, където сте поставили.bin файла. Използвайте esptool.py, за да изтриете светкавицата.

За Linux:

esptool.py --port /dev /ttyUSB0 erase_flash

За Windows:

esptool.py -порт COM3 erase_flash

Може да се наложи да промените серийния порт във вашата команда на серийния порт, към който е свързана вашата платка ESP8266. Ако не знаете номера на серийния порт на вашия ESP8266, можете да проверите в Arduino IDE. Просто отворете IDE и след това щракнете върху Инструменти | Пристанища. Трябва да видите изброения там сериен порт на вашата платка ESP8266. Заменете серийния порт в командата (/dev/ttyUSB0) със серийния порт на вашата платка.

След като платката е напълно изтрита, можете да мигате току -що изтеглената версия на MicroPython. Това се прави и с командата esptool.py:

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

Тази команда ще запише съдържанието на.bin файла на MicroPython на дъската на адрес 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

Вече сте готови да стартирате MicroPython на вашата платка ESP8266.

Това, което ще ви покажа как да се свържете с подканата Python, работеща на вашата дъска. Това се нарича REPL, което означава "Read-Eval-Print-Loop". Това е стандартният подкана на Python, който вероятно сте свикнали да виждате, когато работите с обикновения интерпретатор на Python, но този път той ще работи на вашата дъска и за да взаимодействате с него, ще използвате серийната връзка с вашия компютър. Готов?

За да се свържете с дъската си и да отворите REPL сесия, въведете следната команда:

rshell --port

Тази команда ще ви отведе до подканата rshell. Вижте снимката по -горе.

Ако следвате този урок за Windows, имайте предвид, че rshell има история на проблеми при работа под Windows.

Така че, за да поправите този тип:

rshell -a -порт COM3

От тази подкана можете да изпълнявате задачи за управление, свързани с вашата платка за микроконтролер, а също така да стартирате Python REPL, който можете да използвате, за да взаимодействате с платката в реално време. Затова просто въведете следната команда:

repl

За да се уверите, че всичко работи, въведете просто изречение на Python:

print ("Hello World")

Стъпка 7: Контрол на пинове с помощта на MicroPython

Контролиране на щифтове с помощта на MicroPython
Контролиране на щифтове с помощта на MicroPython
Контролиране на щифтове с помощта на MicroPython
Контролиране на щифтове с помощта на MicroPython

В тази стъпка ще научим как да контролираме щифтовете на ESP8266 с MicroPython. За да направим това, ще измислим настройка, при която ще превключваме състоянието на LED, свързан към GPIO щифт на платка ESP8266. Това ще ви помогне да разберете как да контролирате цифровите изходи с помощта на MicoPython.

Приготвям се

За да изпълните тази СТЪПКА, ще ви трябват следните неща:

1 x NodeMCU

1 x червен 5 мм светодиод

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

1 x Платка

Джъмперни проводници

Сградата

Започнете, като монтирате светодиода върху дъската. Свържете единия край на резистора 220 Ω към положителния крак на светодиода (положителният крак на светодиода обикновено е по -високият от двата крака). Свържете другия край на резистора към щифт D1 на платката ESP8266. След това свържете отрицателния крак на светодиода към щифта GND на платката ESP8266. Връзката е както е показано на горната диаграма.

След като настройката приключи, свържете платката ESP8266 към компютъра си чрез USB кабел.

Как да го направим…

Въведете следния код във вашия REPL:

# мигащ светодиод на всеки 1 секунда

def мига (pin = 5, time = 1) # мигаща функция по подразбиране pin = 5, time = 1s машина за импортиране # машинният модул държи конфигурациите и режимите на пиновете от време на импортиране на сън # импортиране на сън за известно забавяне LED = машина. (led_pin, machine. PIN. OUT) # конфигуриране на LED като OUTPUT докато True: # бяга завинаги LED.value (1) # настроен LED на HIGH sleep (време) # изчакване 1 секунда по подразбиране LED.value (0) # set LED до LOW sleep (време) # изчакайте 1 секунда по подразбиране

Въведете blink () във вашата RPEL сесия, за да тествате този код. Това ще мига светодиода, свързан към GPIO5 на всеки 1 секунда.

Можете да промените щифта и/или часа, като се обадите:

мига (щифт =, време =)

Натиснете ctrl+c, за да излезете от работещия код.

Можете да използвате MicroPython, за да прочетете вход от свързан към ESP8266. Преминете към следващата стъпка, за да научите как да направите това.

Проверете видеото, ако сте останали.

Стъпка 8: Затихване на светодиода

Избледняване на светодиода
Избледняване на светодиода
Избледняване на светодиода
Избледняване на светодиода

В тази стъпка ще научим как да регулираме яркостта на светодиода с помощта на въртящ се потенциометър. Ще използваме техника, наречена Pulme Width Modulation (PWM), която ни позволява да затъмним светодиода с до 256 настройки.

Забележка: Всички щифтове на ESP8266 могат да се използват като PWM щифт с изключение на GPIO16 (D0).

Приготвям се:

За да изпълните тази СТЪПКА, ще ви трябват следните неща:

1 x NodeMCU

1 x червен 5 мм светодиод

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

1 x Платка

Джъмперни проводници

Сградата

Връзката е както е показано на горната диаграма: След като настройката приключи, свържете платката ESP8266 към компютъра си чрез USB кабел.

Как да го направим…

Въведете следния код във вашия REPL:

# Избледняващ светодиод на всеки 0,5 чрез отчитане на данни от потенциометъра

импортиране на машина от време внос sleep sleep_pin = 5 # led pin POT = machine. ADC (0) # ADC0 pin LED = machine. Pin (led_pin) # създаване на LED обект LED_pwm = машина. PWM (LED, freq = 500) # създаване на LED_pwm обект и задайте честота на 500Hz, докато True: LED_pwm.duty (POT.read ()) # вземете стойността от пота и я настройте на спящ режим на работен цикъл (0.5) # изчакайте 0.5

Това ще промени яркостта на светодиода, свързан към GPIO 5 чрез промяна на стойността на потенциометъра.

Натиснете ctrl+c, за да излезете от работещия код.

Проверете видеото, ако сте останали.

Стъпка 9: Къде да отидете оттук?

Досега видяхме как да конфигурираме и стартираме MicroPython на платки, базирани на ESP8266. научихме как да контролираме щифтове, за да мига светодиод, след това добавихме потенциометър, за да контролираме яркостта на светодиода, използвайки техника на модулация на широчината на импулса.

Сега можем да четем данни от сензора и да ги изпращаме в облака, можем също така да създадем HTTP сървър, където можете да отпечатате нашите данни в обикновена уеб страница и т.н.

Това ни дава много представа за Интернет на нещата (IoT).

Стъпка 10: Заключение

Ето го! Отидете напред и завладейте света на MicroPython.

ако имате някакви въпроси, разбира се, можете да оставите коментар.

За да видите повече за моите творби, моля, посетете канала ми в YouTube:

myYouTube

myGitHub

myLinkedin

Благодаря, че прочетохте тази инструкция ^^ и приятен ден.

Ще се видим.

Ахмед Нуира.

Препоръчано: