Агуулгын хүснэгт:

ESP8266: 10 алхам дээр MicroPython -ийг ашиглаж эхлэх нь (зурагтай)
ESP8266: 10 алхам дээр MicroPython -ийг ашиглаж эхлэх нь (зурагтай)

Видео: ESP8266: 10 алхам дээр MicroPython -ийг ашиглаж эхлэх нь (зурагтай)

Видео: ESP8266: 10 алхам дээр MicroPython -ийг ашиглаж эхлэх нь (зурагтай)
Видео: Возведение перегородок санузла из блоков. Все этапы. #4 2024, Арваннэгдүгээр
Anonim
ESP8266 дээр MicroPython ашиглаж эхлэх
ESP8266 дээр MicroPython ашиглаж эхлэх

Та C/C ++ програмчлалын хэлний хамт Arduino IDE-ийг ашиглах ердийн аргаас илүү ESP8266 дээр суурилсан самбарыг програмчлах өөр аргыг хүсч байна уу?

Энэхүү гарын авлагад бид 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 -ийн талаар мэдлэгтэй байх шаардлагагүй.

Програмчлахын тулд микроконтроллерийг компьютерт холбох тул танд үнэгүй USB порт бүхий Windows, Mac эсвэл Linux компьютер хэрэгтэй болно.

Шаардлагатай хэсгүүд:

1 x NodeMCU (эсвэл бусад ESP8266 суурилсан самбар)

1 x Улаан 5мм LED

1 x 220Ω 1/4W эсэргүүцэл

1 x 10KΩ эргэдэг потенциометр

1 х талхны самбар

1 x USB -ээс MicroUSB кабель

Холбогч утас.

Алхам 3: Яагаад ESP8266 суурилсан самбар гэж?

Яагаад ESP8266 суурилсан самбар гэж?
Яагаад ESP8266 суурилсан самбар гэж?

MicroPython -ийг ашиглах нь ESP8266 -г хамгийн сайн ашиглах нэг арга юм. Түүнчлэн ESP8266 модуль нь MicroPython -ийг хэрхэн ашиглах талаар сурах хамгийн сайн платформуудын нэг юм. Учир нь ESP8266 нь GPIO зүү удирдах энгийн функцүүд болон утасгүй холболтын функцүүдийг хангаж өгдөг бөгөөд ингэснээр MicroPython програмчлалын хэлний бүх талыг турших боломжийг олгодог.

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

Унших ба нөөц:

ESP8266

Adafruit өд HUZZAH

Алхам 4: Компьютерээ тохируулах

Компьютерээ тохируулж байна
Компьютерээ тохируулж байна
Компьютерээ тохируулж байна
Компьютерээ тохируулж байна
Компьютерээ тохируулж байна
Компьютерээ тохируулж байна
Компьютерээ тохируулж байна
Компьютерээ тохируулж байна

ESP8266 самбарыг програмчлахын тулд MicroPython -ийг ашиглахаас өмнө хэд хэдэн зүйлийг тохируулах хэрэгтэй бөгөөд энэ үе шатанд бид тохиргоог хийх болно. Ингэснээр та ESP8266 хавтанг MicroPython -тэй хэрхэн тохируулахаа мэдэх болно.

Бэлэн болох

Энэ алхамаас 6 -р алхам хүртэл танд хэрэгтэй зүйл бол таны ESP8266 болон USB кабель юм. ESP8266 самбарыг компьютерт холбоно уу.

Үүнийг хэрхэн хийх вэ…

АЛХАМ 1: Төхөөрөмжийн драйверуудыг суулгана уу

Хэрэв танд Линукс компьютер байгаа бол та микроконтроллерийг танихын тулд драйвер суулгах шаардлагагүй, гэхдээ танд 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 -ийг pip суулгана уу

Алхам 4: MicroPython татаж авах

Хамгийн сүүлийн үеийн MicroPython firmware.bin -ийг дараах линкээс татаж авна уу:

Би үүнийг бичиж байх үед одоогийн хувилбар нь 1.11 бөгөөд firmware файлыг esp8266-20190529-v1.11.bin гэж нэрлэдэг.

Үүнийг хийх үед та шинэ хувилбарыг олох болно.

Алхам 5: MicroPython -ийг Esptool.py ашиглан анивчуулах

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 хаягийн самбар дээр бичих гэж байна.

Командын (esp82688-2019-080529-v1.11.bin) програмын.bin файлын нэрийг татаж авсан програмынхаа нэр болгож өөрчилсөн эсэхээ шалгаарай.

Програм хангамжийг ESP8266 самбар дээр амжилттай суулгасны дараа та утастай холболт (UART цуваа порт) эсвэл бодсон WiFi -ээр дамжуулан самбар дээрх REPL руу хандах боломжтой.

Алхам 6: MicroPython REPL -ийг Rshell ашиглан ашиглах

MicroPython REPL -ийг Rshell ашиглан ашиглах
MicroPython REPL -ийг Rshell ашиглан ашиглах
MicroPython REPL -ийг Rshell ашиглан ашиглах
MicroPython REPL -ийг Rshell ашиглан ашиглах

Та одоо ESP8266 самбар дээрээ MicroPython -ийг эхлүүлэхэд бэлэн боллоо.

Би самбар дээр ажилладаг Python хүлээх мөрөнд хэрхэн холбогдохыг танд үзүүлэх гэж байна. Үүнийг REPL гэж нэрлэдэг бөгөөд энэ нь "Унших-Эваль-Хэвлэх-Цогцолбор" гэсэн утгатай юм. Энэ бол ердийн Python хэлний орчуулагчтай ажиллахдаа ихэвчлэн харагддаг, гэхдээ энэ удаад энэ нь таны самбар дээр ажиллах бөгөөд түүнтэй харилцахын тулд та компьютертэйгээ цуваа холболтыг ашиглах болно.. Бэлэн үү?

Самбартайгаа холбогдож REPL сессийг нээхийн тулд дараах тушаалыг оруулна уу.

rshell -порт

Энэ тушаал нь таныг rshell хүлээх мөрөнд оруулах болно. Дээрх зургийг үзнэ үү.

Хэрэв та Windows дээр энэ зааврыг дагаж байгаа бол rshell нь Windows дээр ажиллаж байхдаа асуудалтай байсан гэдгийг анхаарна уу.

Тиймээс энэ төрлийг засахын тулд:

rshell -a -COM3 порт

Энэхүү хүлээх мөрөөс та микроконтроллерийн самбартай холбоотой менежментийн ажлуудыг гүйцэтгэх боломжтой бөгөөд самбартай бодит цаг хугацаанд харилцах Python REPL програмыг ажиллуулж болно.

хариулах

Бүх зүйл ажиллаж байгаа эсэхийг шалгахын тулд энгийн Python өгүүлбэр бичнэ үү.

хэвлэх ("Сайн уу ертөнц")

Алхам 7: MicroPython ашиглан тээглүүрийг хянах

MicroPython ашиглан тээглүүрүүдийг хянах
MicroPython ашиглан тээглүүрүүдийг хянах
MicroPython ашиглан тээглүүрүүдийг хянах
MicroPython ашиглан тээглүүрүүдийг хянах

Энэ алхамд бид ESP8266 тээглүүрийг MicroPython ашиглан хэрхэн хянах талаар сурах болно. Үүнийг хийхийн тулд бид ESP8266 хавтангийн GPIO зүүтэй холбогдсон LED -ийн төлөвийг өөрчлөх тохиргоог хийх болно. Энэ нь MicoPython ашиглан дижитал гаралтыг хэрхэн хянах талаар ойлгоход тусална.

Бэлэн болох

Энэхүү алхамыг хийхийн тулд танд дараахь зүйлс хэрэгтэй болно.

1 x NodeMCU

1 x Улаан 5мм LED

1 x 220 Ω эсэргүүцэл

1 х талхны самбар

Холбогч утас

Бүтээх

LED -ийг талхны тавцан дээр суурилуулж эхэл. 220 Ω эсэргүүцлийн нэг үзүүрийг LED -ийн эерэг хөлтэй холбоно уу (LED -ийн эерэг хөл нь ихэвчлэн хоёр хөлний аль нэгээс өндөр байдаг). Эсэргүүцлийн нөгөө үзүүрийг ESP8266 хавтангийн D1 зүү рүү холбоно уу. Дараа нь LED -ийн сөрөг хөлийг ESP8266 хавтангийн GND зүү рүү холбоно уу. Холболт нь дээрх диаграммд үзүүлсэн шиг байна.

Тохиргоо дууссаны дараа ESP8266 самбарыг USB кабелиар компьютерт холбоно уу.

Үүнийг хэрхэн хийх вэ…

REPL -д дараах кодыг оруулна уу.

1 секунд тутамд # LED анивчдаг

def blink (pin = 5, time = 1) (led_pin, machine. PIN. OUT) # True байхад LED -ийг OUTPUT болгож тохируулна уу: # үүрд ажиллуулах LED.value (1) # LED -ийг HIGH унтах горимд тохируулах (цаг) # анхдагчаар LED 1 секунд хүлээх LOW унтах (цаг) # анхдагчаар 1 секунд хүлээнэ

Энэ кодыг шалгахын тулд RPEL сесс дээрээ blink () гэж бичээд GPIO5 -д холбогдсон LED -ийг 1 секунд тутамд анивчих болно.

Та залгах замаар зүү болон/эсвэл цагийг өөрчилж болно.

анивчих (пин =, цаг =)

Ажиллаж буй кодоос гарахын тулд ctrl+c дарна уу.

Та ESP8266 -д холбогдсон оролтыг уншихын тулд MicroPython ашиглаж болно. Үүнийг хэрхэн хийхийг сурахын тулд дараагийн алхам руу очно уу.

Хэрэв та гацсан бол видеог үзээрэй.

Алхам 8: LED -ийг бүдгэрүүлэх

LED нь бүдгэрч байна
LED нь бүдгэрч байна
LED нь бүдгэрч байна
LED нь бүдгэрч байна

Энэ үе шатанд бид эргэдэг потенциометр ашиглан LED -ийн гэрлийг хэрхэн тохируулах талаар сурах болно. Бид Pulse Width Modulation (PWM) хэмээх техникийг ашиглах бөгөөд энэ нь 256 хүртэлх тохиргоогоор LED -ийг бүдгэрүүлэх боломжийг олгодог.

Анхааруулга: ESP8266 -ийн бүх зүүг GPIO16 (D0) -ээс бусад нь PWM зүү болгон ашиглаж болно.

Бэлэн болох:

Энэхүү алхамыг хийхийн тулд танд дараахь зүйлс хэрэгтэй болно.

1 x NodeMCU

1 x Улаан 5мм LED

1 x 50 KΩ эргэдэг потенциометр.

1 х талхны самбар

Холбогч утас

Бүтээх

Холболтыг дээрх диаграммд харуулав: Тохиргоо дууссаны дараа ESP8266 самбарыг USB кабелиар компьютерт холбоно уу.

Үүнийг хэрхэн хийх вэ…

REPL -д дараах кодыг оруулна уу.

# Потенциометрийн өгөгдлийг унших замаар LED бүрийг 0.5 тутамд бүдгэрүүлнэ

цаг импортлох машин импортлох унтах led_pin = 5 # led pin POT = machine. ADC (0) # ADC0 pin LED = machine. Pin (led_pin) # LED object үүсгэх LED_pwm = machine. PWM (LED, freq = 500) # LED_pwm үүсгэх Үнэн байхад объект ба давтамжийг 500 Гц болгож тохируулна уу: LED_pwm.duty (POT.read ()) # савнаас утгыг нь аваад үүргийн мөчлөгийн нойронд тохируулна (0.5) # хүлээ 0.5

Энэ нь потенциометрийн утгыг өөрчилснөөр GPIO 5 -т холбогдсон LED -ийн тод байдлыг өөрчлөх болно.

Ажиллаж буй кодоос гарахын тулд ctrl+c дарна уу.

Хэрэв та гацсан бол видеог үзээрэй.

Алхам 9: Эндээс хаашаа явах вэ?

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

Одоо бид мэдрэгчийн өгөгдлийг уншиж, үүл рүү илгээх боломжтой, мөн та HTTP сервер үүсгэж, бидний өгөгдлийг энгийн вэб хуудсан дээр хэвлэх боломжтой болно.

Энэ нь бидэнд юмсын интернет (IoT) талаар олон ойлголт өгдөг.

Алхам 10: Дүгнэлт

Тэнд байна! Явж, MicroPython -ийн ертөнцийг байлдан дагуулаарай.

Хэрэв танд асуулт байвал мэдээж сэтгэгдэл үлдээж болно.

Миний уран бүтээлийн талаар илүү ихийг мэдэхийг хүсвэл миний YouTube сувгийг үзээрэй:

myYouTube

myGitHub

myLinkedin

Энэхүү зааварчилгааг уншсан танд баярлалаа ^^, өдрийг сайхан өнгөрүүлээрэй.

Дараа уулзая.

Ахмед Нуира.

Зөвлөмж болгож буй: