Mundarija:

ESP8266 -da MicroPython -ni ishga tushirish: 10 qadam (rasmlar bilan)
ESP8266 -da MicroPython -ni ishga tushirish: 10 qadam (rasmlar bilan)

Video: ESP8266 -da MicroPython -ni ishga tushirish: 10 qadam (rasmlar bilan)

Video: ESP8266 -da MicroPython -ni ishga tushirish: 10 qadam (rasmlar bilan)
Video: Вводный урок по программированию ESP32, ESP8266 на MicroPython 2024, Noyabr
Anonim
ESP8266 -da MicroPython -ni ishga tushirish
ESP8266 -da MicroPython -ni ishga tushirish

C/C ++ dasturlash tili bilan bir qatorda Arduino IDE yordamida keng tarqalgan usuldan ko'ra, ESP8266 asosidagi taxtalarni dasturlashning boshqa usulini xohlaysizmi?

Ushbu qo'llanmada biz MicroPython yordamida ESP8266 kartasini kim sozlashni va boshqarishni o'rganamiz.

QURILISH VAQTI: 60 DAKIKA qiyinchilik: RATING: oson

1 -qadam: MicroPython nima?

MicorPython - bu ESP8266 modulini dasturlash uchun ishlatilishi mumkin bo'lgan ko'plab dasturlash tillaridan biri. Bu Python 3 dasturlash tilining sodda va tezkor versiyasidir va C va C ++ kabi an'anaviy dasturlash tillariga nisbatan bir qancha afzalliklarga ega.

MicroPython iloji boricha oddiy Python bilan mos kelish uchun yaratilgan. U to'liq Python kompilyatori va ish vaqtiga ega va REPL (Read-Eval-Print Loop) deb nomlanuvchi interaktiv taklifni beradi.

MicorPython har xil turdagi mikrokontrollerlarni qo'llab -quvvatlash uchun mo'ljallangan. Ammo bu darslik uchun men faqat bitta model bilan ishlayman: ESP8266 asosidagi taxta (NodeMCU). E'tibor bering, siz bir xil chip bilan sotib olishingiz mumkin bo'lgan bir nechta turli taxtalar mavjud.

O'qish va manbalar:

MicroPython

NodeMCU

2 -qadam: talablar

Talablar
Talablar
Talablar
Talablar
Talablar
Talablar
Talablar
Talablar

Ushbu qo'llanmani bajarish uchun siz Python -da kodlash bo'yicha asosiy tajribaga ega bo'lishingiz kerak, siz mikrokontroller, elektronika va hatto MicroPython haqida hech qanday ma'lumotga ega bo'lishingiz shart emas.

Bundan tashqari, sizga bepul USB portli Windows, Mac yoki Linux kompyuteri kerak bo'ladi, chunki uni dasturlash uchun kompyuterga mikrokontroller ulanadi.

Kerakli qismlar:

1 x NodeMCU (yoki boshqa ESP8266 asosidagi)

1 x qizil 5 mm LED

1 x 220Ω 1/4 Vt qarshilik

1 x 10KΩ aylanadigan potentsiometr

1 x non paneli

1 x USB - MicroUSB kabeli

Jumper simlari.

3-qadam: Nima uchun ESP8266 asosidagi karta?

Nima uchun ESP8266 asosidagi karta?
Nima uchun ESP8266 asosidagi karta?

ESP8266 -dan maksimal darajada foydalanishning bir usuli - MicroPython -dan foydalanish. Bundan tashqari, ESP8266 moduli MicroPython -dan foydalanishni o'rganadigan eng yaxshi platformalardan biridir. Buning sababi shundaki, ESP8266 MicroPython dasturlash tilining barcha jihatlarini sinab ko'rish imkonini beruvchi oddiy GPIO pinli boshqaruv funktsiyalari bilan bir qatorda simsiz aloqani ta'minlaydi.

ESP8266 chipi ochiq manbali ishlab chiqish sanoatida mashhur. ESP8266 chipini ishlatadigan turli ishlab chiqaruvchilarning ko'plab ishlab chiqarish platalari mavjud. MicroPython ko'pgina taxtalarda imkon qadar kamroq cheklovlar bilan ishlaydigan umumiy portni ta'minlash uchun mo'ljallangan. Port Adafruit Feather HUZZAH kartasiga asoslangan Boshqa ESP8266 taxtalaridan foydalanganda, ularning sxemalari va ma'lumotlar jadvallarini tekshirganingizga ishonch hosil qiling, shunda ular bilan Adafruit Feather HUZZAH kartasi o'rtasidagi farqni aniqlay olasiz. Shunday qilib, siz kodingizdagi farqlarni qabul qilishingiz mumkin.

O'qish va manbalar:

ESP8266

Adafruit patlari HUZZAH

4 -qadam: Kompyuteringizni sozlash

Kompyuteringizni sozlash
Kompyuteringizni sozlash
Kompyuteringizni sozlash
Kompyuteringizni sozlash
Kompyuteringizni sozlash
Kompyuteringizni sozlash
Kompyuteringizni sozlash
Kompyuteringizni sozlash

ESP8266 kartasini dasturlash uchun MicroPython -ni ishlatishdan oldin siz bir nechta narsalarni sozlashingiz kerak, biz bu bosqichda sozlash jarayonidan o'tamiz. Shunday qilib, siz MicroPython -da ishlatiladigan ESP8266 kartasini qanday sozlashni bilib olasiz.

Tayyor bo'lish

Bu bosqichdan 6 -bosqichgacha sizga faqat ESP8266 va USB kabeli kerak bo'ladi. ESP8266 kartasini kompyuteringizga ulang.

Buni qanday qilish kerak…

1 -QADAM: Qurilma drayverlarini o'rnating

Agar sizda Linux kompyuteri bo'lsa, mikrokontroller uchun drayverlarni tanib olish uchun drayverlarni o'rnatishingiz shart emas, lekin sizda Mac yoki Windows mashinasi bo'lsa, kompyuterga mikrokontrollerni tanib olish uchun haydovchi kerak. ketma -ket qurilma sifatida.

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

2 -QADAM: Python -ni o'rnating

ESP8266 bilan aloqa qilish uchun foydalanadigan vositalar Python -da yozilgan, shuning uchun kompyuteringizga Python -ni o'rnatish kerak.

Agar sizning operatsion tizimingizda oldindan o'rnatilgan Python bo'lmasa, https://python.org saytiga kirib, qo'llab-quvvatlanadigan har qanday operatsion tizim uchun rasmiy tuzilmani yuklab olishingiz mumkin.

3 -QADAM: esptool va rshell -ni o'rnating

Pip yordamida kartani boshqarishga yordam beradigan ikkita paketni o'rnating, buning uchun terminalni oching va ishga tushiring

pip esptool rshell -ni o'rnating

4 -QADAM: MicroPython -ni yuklab oling

Oxirgi MicroPython firmware.bin dasturini quyidagi havoladan yuklab oling:

Men buni yozayotganimda, joriy versiya 1.11 va dasturiy ta'minot fayli esp8266-20190529-v1.11.bin deb nomlangan.

Buni qilganingizda, siz yangi versiyani topishingiz mumkin.

5 -qadam: Esptool.py yordamida MicroPythonning yonib -o'chishi

Esptool.py bilan yonib -o'chadigan MicroPython
Esptool.py bilan yonib -o'chadigan MicroPython
Esptool.py bilan yonib -o'chadigan MicroPython
Esptool.py bilan yonib -o'chadigan MicroPython

Yangi dasturiy ta'minotni taxtaga o'chirishdan oldin, avvalgi ma'lumotlarni o'chirib tashlash yaxshidir, bu yangi dasturiy ta'minot toza holatda ishlashi uchun har doim qilish kerak.

. Bin faylini joylashtirgan joyga boring. Fleshni o'chirish uchun esptool.py -dan foydalaning.

Linux uchun:

esptool.py --port /dev /ttyUSB0 erase_flash

Windows uchun:

esptool.py -COM3 erase_flash portini oching

Buyruqdagi ketma -ket portni ESP8266 kartasi ulangan ketma -ket portga o'zgartirishingiz kerak bo'lishi mumkin. Agar siz ESP8266 -ning seriya port raqamini bilmasangiz, Arduino IDE -ni tekshirishingiz mumkin. Faqat IDE -ni oching va keyin Tools | ni bosing Portlar. Siz ESP8266 kartangizning ketma -ket portini ko'rishingiz kerak. (/Dev/ttyUSB0) buyrug'idagi ketma -ket portni kartangizning ketma -ket portiga almashtiring.

Kengash butunlay o'chirilgandan so'ng, siz yuklagan MicroPython -ni o'chirib qo'yishingiz mumkin, bu esptool.py buyrug'i bilan ham amalga oshiriladi:

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

Bu buyruq MicroPython.bin faylining mazmunini 0 manzilidagi doskaga yozadi.

Buyruqdagi (esp82688-2019-080529-v1.11.bin) firmware.bin fayl nomini siz yuklagan proshivka nomiga o'zgartirganingizga ishonch hosil qiling.

Dasturiy ta'minot ESP8266 kartangizga muvaffaqiyatli o'rnatilgandan so'ng, siz REPL -ga simli ulanish (UART ketma -ket port) yoki o'ylangan WiFi orqali kirishingiz mumkin.

6 -qadam: MicroPython REPL dan Rshell yordamida foydalanish

MicroPython REPL dan Rshell yordamida foydalanish
MicroPython REPL dan Rshell yordamida foydalanish
MicroPython REPL dan Rshell yordamida foydalanish
MicroPython REPL dan Rshell yordamida foydalanish

Endi siz ESP8266 kartangizda MicroPython -ni ishga tushirishga tayyormiz.

Men sizga taxtada ishlaydigan Python buyrug'iga qanday ulanishni ko'rsataman, bu "o'qish-baho-chop etish-halqa" degan ma'noni anglatuvchi REPL deb nomlanadi. Bu odatiy Python tarjimoni bilan ishlashda ko'rishingiz mumkin bo'lgan odatiy Python ko'rsatmasi, lekin bu safar u sizning taxtangizda ishlaydi va u bilan ishlash uchun siz kompyuterga ketma -ket ulanishni ishlatasiz.. Tayyormi?

Kengashga ulanish va REPL sessiyasini ochish uchun quyidagi buyruqni kiriting:

rshell -port

Bu buyruq sizni rshell buyrug'iga olib keladi. Yuqoridagi rasmga qarang.

Agar siz Windows -da ushbu qo'llanmani bajarayotgan bo'lsangiz, rshell -da Windows -da ishlaganda muammolar tarixi borligini unutmang.

Shunday qilib, ushbu turni tuzatish uchun:

rshell -a -COM3 porti

Bu so'rovdan siz mikrokontroller kartangiz bilan bog'liq boshqaruv vazifalarini bajarishingiz, shuningdek, Python REPL -ni ishga tushirishingiz mumkin, bu karta bilan real vaqt rejimida o'zaro ishlash uchun ishlatilishi mumkin.

javob berish

Hamma ishlayotganiga ishonch hosil qilish uchun oddiy Python jumlasini kiriting:

chop etish ("Salom dunyo")

7 -qadam: MicroPython yordamida pinlarni boshqarish

MicroPython yordamida pinlarni boshqarish
MicroPython yordamida pinlarni boshqarish
MicroPython yordamida pinlarni boshqarish
MicroPython yordamida pinlarni boshqarish

Ushbu bosqichda biz ESP8266 pinlarini MicroPython yordamida boshqarishni o'rganamiz. Buning uchun biz ESP8266 kartali GPIO piniga ulangan LED holatini o'zgartiradigan sozlamani ishlab chiqamiz. Bu sizga MicoPython yordamida raqamli chiqishni qanday boshqarishni tushunishga yordam beradi.

Tayyor bo'lish

Ushbu qadamni bajarish uchun sizga quyidagilar kerak bo'ladi:

1 x NodeMCU

1 x qizil 5 mm LED

1 x 220 Ω rezistor

1 x non paneli

Jumper simlari

Qurilish

LEDni non paneliga o'rnatishdan boshlang. 220 dyuymli rezistorning bir uchini LEDning musbat oyog'iga ulang (LEDning ijobiy oyog'i odatda ikki oyog'ining biridan balandroq bo'ladi). Rezistorning boshqa uchini ESP8266 kartasining D1 piniga ulang. Keyin LEDning salbiy oyog'ini ESP8266 kartasining GND piniga ulang. Ulanish yuqoridagi diagrammada ko'rsatilganidek.

O'rnatish tugagandan so'ng, ESP8266 kartasini kompyuterga USB kabeli orqali ulang.

Buni qanday qilish kerak…

REPL -ga quyidagi kodni kiriting:

Har 1 soniyada # LED yonib -o'chib turadi

def milt -milt (pin = 5, vaqt = 1) # miltillovchi funktsiyasi sukut bo'yicha pin = 5, vaqt = 1s import mashinasi # mashina moduli pin konfiguratsiyalari va rejimlarini vaqtli import uyqusida ushlab turadi (led_pin, machine. PIN. OUT) # Chiqish holatida LEDni konfiguratsiya qilish True: # abadiy ishlash LED.value (1) # LEDni yuqori uyqu holatiga o'rnatish (vaqt) # sukut bo'yicha 1 soniya kutish LED.value (0) # set LED LOW uyqu (vaqt) # sukut bo'yicha 1 soniya kuting

Ushbu kodni sinab ko'rish uchun RPEL sessiyasida blink () ni kiriting, bu GPIO5 ga ulangan LEDni har 1 soniyada yonib o'chadi.

PIN -kodni va/yoki vaqtni quyidagi raqamlarga qo'ng'iroq qilib o'zgartirishingiz mumkin.

miltillash (pin =, vaqt =)

Ishlayotgan koddan chiqish uchun ctrl+c tugmalarini bosing.

ESP8266 ga ulangan kirishni o'qish uchun MicroPython -dan foydalanishingiz mumkin. Buni qanday qilishni bilish uchun keyingi bosqichga o'ting.

Agar to'xtab qolsangiz, videoni tekshiring.

8 -qadam: LEDni o'chirish

LEDning pasayishi
LEDning pasayishi
LEDning pasayishi
LEDning pasayishi

Ushbu bosqichda biz LEDning yorqinligini aylanadigan potentsiometr yordamida sozlashni o'rganamiz. Biz Pulse Width Modulation (PWM) deb nomlangan texnikani qo'llaymiz, bu bizga LEDni 256 tagacha sozlash bilan o'chirishga imkon beradi.

E'tibor bering: ESP8266 ning barcha pinlari GPIO16 (D0) dan tashqari PWM pin sifatida ishlatilishi mumkin.

Tayyor bo'lish:

Ushbu qadamni bajarish uchun sizga quyidagilar kerak bo'ladi:

1 x NodeMCU

1 x qizil 5 mm LED

1 x 50 KΩ aylanadigan potentsiometr.

1 x non paneli

Jumper simlari

Qurilish

Ulanish yuqoridagi diagrammada ko'rsatilganidek: O'rnatish tugagandan so'ng, ESP8266 kartasini USB kabeli orqali kompyuteringizga ulang.

Buni qanday qilish kerak…

REPL -ga quyidagi kodni kiriting:

# Potentsiometr ma'lumotlarini o'qish orqali har 0,5 -sonli LED o'chadi

mashina vaqtidan import uyqu ob'ekt va chastotani 500 Gts ga sozlang rost: LED_pwm.duty (POT.read ()) # qozondan qiymatni oling va uni uyqu (0,5) ish tsikliga o'rnating # 0,5 kuting

Bu potentsiometr qiymatini o'zgartirish orqali GPIO 5 ga ulangan LEDning yorqinligini o'zgartiradi.

Ishlayotgan koddan chiqish uchun ctrl+c tugmalarini bosing.

Agar to'xtab qolsangiz, videoni tekshiring.

9 -qadam: qaerdan?

Hozircha biz MicroPython-ni ESP8266 asosidagi taxtalarda qanday sozlash va ishga tushirishni ko'rdik. biz LEDni miltillatish uchun pinlarni qanday boshqarishni o'rgandik, so'ngra puls kengligi modulyatsiyasi texnikasi yordamida LEDning yorqinligini nazorat qilish uchun potentsiometr qo'shdik.

Endi biz sensordan ma'lumotlarni o'qib, bulutga yuborishimiz mumkin, shuningdek, biz HTTP serverini yaratishimiz mumkin, u erda siz ma'lumotlarni oddiy veb -sahifada chop etishingiz mumkin va hokazo.

Bu bizga narsalar Interneti (IoT) haqida ko'p tasavvur beradi.

10 -qadam: Xulosa

Mana sizda! Boring va MicroPython dunyosini zabt eting.

Agar sizda biron bir savol bo'lsa, sharh qoldirishingiz mumkin.

Mening ishlarim haqida ko'proq bilish uchun YouTube kanalimga tashrif buyuring:

myYouTube

myGitHub

myLinkedin

Buni o'qiganingiz uchun tashakkur ^^ va kuningiz yaxshi o'tsin.

Ko'rishguncha.

Ahmad Nouira.

Tavsiya: