Բովանդակություն:

Սկսելով MicroPython- ով ESP8266- ում `10 քայլ (նկարներով)
Սկսելով MicroPython- ով ESP8266- ում `10 քայլ (նկարներով)

Video: Սկսելով MicroPython- ով ESP8266- ում `10 քայլ (նկարներով)

Video: Սկսելով MicroPython- ով ESP8266- ում `10 քայլ (նկարներով)
Video: FLProg10: DS18B20 ջերմաստիճանի ցուցիչ | ESP32 NodeMCU | Arduino Visual Embedded Programming 2024, Նոյեմբեր
Anonim
MicroPython- ով սկսելը ESP8266- ով
MicroPython- ով սկսելը ESP8266- ով

Youանկանու՞մ եք այլ կերպ ծրագրավորել ESP8266- ի վրա հիմնված տախտակները, քան Arduino IDE- ի կիրառման սովորական մեթոդը `C/C ++ ծրագրավորման լեզվի հետ միասին:

Այս ձեռնարկում մենք կսովորենք, թե ում կարգավորել և վերահսկել ESP8266 տախտակը MicroPython- ի միջոցով:

ՇԻՆԱՐԱՐՈԹՅԱՆ ԱՄԱՆԱԿԸ `60 ՐՈՊԻ ԴIFՎԱՈ:ԹՅՈՆ. ԳՆԱՀԱՏՈՄ. Հեշտ

Քայլ 1. Ի՞նչ է MicroPython- ը:

MicorPython- ը այն բազմաթիվ ծրագրավորման լեզուներից մեկն է, որը մենք կարող ենք օգտագործել ESP8266 մոդուլը ծրագրավորելու համար: Այն Python 3 ծրագրավորման լեզվի նիհար և արագ տարբերակն է և մի քանի առավելություն ունի ավանդական ծրագրավորման լեզուների նկատմամբ, ինչպիսիք են C և C ++:

MicroPython- ը նախագծված է հնարավորինս համատեղելի սովորական Python- ի հետ: Այն ունի Python- ի ամբողջական կազմող և գործարկման ժամանակ և տրամադրում է ինտերակտիվ հուշում, որը հայտնի է որպես REPL (Read-Eval-Print Loop):

MicorPython- ը նախատեսված է մի քանի տարբեր տեսակի միկրոկոնտրոլերների աջակցման համար: Բայց այս ձեռնարկի համար ես պատրաստվում եմ աշխատել միայն մեկ մոդելի հետ ՝ ESP8266- ի վրա հիմնված տախտակի (NodeMCU): Նկատի ունեցեք, որ կան մի քանի տարբեր տախտակներ, որոնք կարող եք գնել նույն չիպով:

Ընթերցանություն և աղբյուրներ

Միկրոփիթոն

NodeMCU

Քայլ 2: Պահանջներ

Պահանջներ
Պահանջներ
Պահանջներ
Պահանջներ
Պահանջներ
Պահանջներ
Պահանջներ
Պահանջներ

Այս ձեռնարկին հետևելու համար պարզապես անհրաժեշտ է Python- ի հետ կոդավորման հիմնական փորձ ունենալ: Ձեզ անհրաժեշտ չէ ունենալ միկրոկոնտրոլերների, էլեկտրոնիկայի կամ նույնիսկ MicroPython- ի մասին նախկին գիտելիքներ:

Ձեզ անհրաժեշտ կլինի նաև Windows, Mac կամ Linux համակարգիչ ՝ անվճար USB պորտով, քանի որ այն ծրագրավորելու համար միացրեք միկրոկոնտրոլեր ձեր համակարգչին:

Պահանջվող մասեր

1 x NodeMCU (կամ այլ ESP8266 վրա հիմնված տախտակ)

1 x Կարմիր 5 մմ LED

1 x 220Ω 1/4W դիմադրություն

1 x 10KΩ պտտվող պոտենցիոմետր

1 x Breadboard

1 x USB- ից MicroUSB մալուխ

Jumper լարերը:

Քայլ 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 տեղադրել esptool rshell

ՔԱՅԼ 4: Ներբեռնեք MicroPython

Ներբեռնեք MicroPython- ի վերջին որոնվածը.bin հետևյալ հղումից ՝

Այն պահին, երբ ես գրում եմ սա, ընթացիկ տարբերակը 1.11 է, իսկ որոնվածի ֆայլը կոչվում է esp8266-20190529-v1.11.bin

Երբ դա անեք, կարող եք գտնել ավելի նոր թողարկում:

Քայլ 5. MicroPython- ի առկայծում Esptool.py- ի հետ

Ingրամեկուսացման MicroPython հետ Esptool.py
Ingրամեկուսացման MicroPython հետ Esptool.py
Ingրամեկուսացման MicroPython հետ Esptool.py
Ingրամեկուսացման 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

Այս հրամանը պատրաստվում է MicroPython.bin ֆայլի բովանդակությունը գրել տախտակին 0 հասցեով:

Համոզվեք, որ հրամանատարության (esp82688-2019-080529-v1.11.bin) որոնվածի.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 -նավահանգիստ

Այս հրամանը ձեզ կբերի rshell հուշում: Տես լուսանկարը վերևում:

Եթե հետևում եք Windows- ի այս ձեռնարկին, նշեք, որ rshell- ը Windows- ում աշխատելու ժամանակ ունի խնդիրների պատմություն:

Այսպիսով, այդ տեսակը շտկելու համար.

rshell -a -նավահանգիստ COM3

Այս հուշումից կարող եք կատարել ձեր microcontroller տախտակին վերաբերող կառավարման առաջադրանքներ, ինչպես նաև սկսել Python REPL, որը կարող եք օգտագործել իրական ժամանակում խորհրդի հետ փոխազդելու համար: Այսպիսով, պարզապես մուտքագրեք հետևյալ հրամանը.

պատասխանել

Համոզվելու համար, որ ամեն ինչ աշխատում է, մուտքագրեք պարզ Python նախադասություն.

տպել («Բարև աշխարհ»)

Քայլ 7. MicroPython- ի միջոցով քորոցների կառավարում

MicroPython- ի միջոցով քորոցների վերահսկում
MicroPython- ի միջոցով քորոցների վերահսկում
MicroPython- ի միջոցով քորոցների վերահսկում
MicroPython- ի միջոցով քորոցների վերահսկում

Այս քայլում մենք կսովորենք, թե ինչպես վերահսկել ESP8266 կապում MicroPython- ով: Դա անելու համար մենք հանդես կգանք մի կարգաբերմամբ, որտեղ մենք կփոխենք LED- ի վիճակը, որը միացված է ESP8266 տախտակի GPIO քորոցին: Սա կօգնի ձեզ հասկանալ, թե ինչպես վերահսկել թվային ելքերը MicoPython- ի միջոցով:

Պատրաստվում

Այս ՔԱՅԼԸ իրականացնելու համար ձեզ հարկավոր են հետևյալ բաները.

1 x NodeMCU

1 x Կարմիր 5 մմ LED

1 x 220 Ω դիմադրություն

1 x Breadboard

Jumper լարերը

Կառուցել

Սկսեք LED- ը տեղադրելով սեղանի վրա: 220 Ω դիմադրության մի ծայրը միացրեք LED- ի դրական ոտքին (LED- ի դրական ոտքը սովորաբար երկու ոտքերից բարձրն է): Դիմադրության մյուս ծայրը միացրեք ESP8266 տախտակի D1 կապին: Այնուհետեւ միացրեք LED- ի բացասական ոտքը ESP8266 տախտակի GND կապին: Կապը, ինչպես ցույց է տրված վերևի դիագրամում:

Կարգավորումն ավարտվելուց հետո միացրեք ESP8266 տախտակը ձեր համակարգչին USB մալուխի միջոցով:

Ինչպես դա անել…

Ձեր REPL- ում մուտքագրեք հետևյալ ծածկագիրը.

# թարթել LED յուրաքանչյուր 1 վայրկյանում

def blink (pin = 5, time = 1) # blink գործառույթը ըստ կանխադրման pin = 5, time = 1s ներմուծման մեքենա # մեքենայի մոդուլը պահում է քորոցի կոնֆիգուրացիաները և ռեժիմները ժամանակից ներմուծել քուն # ներմուծել քուն որոշ ուշացման LED = մեքենա: (led_pin, machine. PIN. OUT) # կարգավորել LED- ը որպես OUTPUT իսկ True: # վազել հավերժ LED.value (1) # LED- ը սահմանել HIGH sleep (ժամանակ) # լռելյայն 1 վայրկյան սպասել: արժեք (0) # սահմանել LED դեպի OWԱOWՐ քուն (ժամանակ) # լռելյայն սպասել 1 վայրկյան

Այս ծածկագիրը ստուգելու համար մուտքագրեք blink () ձեր նիստում: Սա յուրաքանչյուր 1 վայրկյան կթարթի GPIO5- ին միացված LED- ը:

Դուք կարող եք փոխել քորոցը և (կամ) ժամը ՝ զանգահարելով.

թարթել (քորոց =, ժամանակ =)

Սեղմեք ctrl+c ՝ ընթացիկ կոդը դուրս գալու համար:

Դուք կարող եք օգտագործել MicroPython ՝ ESP8266- ին միացված մուտքը կարդալու համար: Անցեք հաջորդ քայլին ՝ սովորելու, թե ինչպես դա անել:

Ստուգեք տեսանյութը, եթե խրված եք:

Քայլ 8: LED- ի մարում

LED- ի մարում
LED- ի մարում
LED- ի մարում
LED- ի մարում

Այս քայլում մենք կսովորենք, թե ինչպես կարգավորել լուսադիոդի պայծառությունը պտտվող պոտենցիոմետրի միջոցով: Մենք կօգտագործենք տեխնիկա, որը կոչվում է Pulse Width Modulation (PWM), այն թույլ է տալիս մեզ լուսավորել LED- ն մինչև 256 պարամետրերով:

Iceանուցում. ESP8266- ի բոլոր կապերը կարող են օգտագործվել որպես PWM կապ, բացառությամբ GPIO16 (D0):

Պատրաստվում:

Այս ՔԱՅԼԸ իրականացնելու համար ձեզ հարկավոր են հետևյալ բաները.

1 x NodeMCU

1 x Կարմիր 5 մմ LED

1 x 50 KΩ պտտվող պոտենցիոմետր:

1 x Breadboard

Jumper լարերը

Կառուցել

Կապը, ինչպես ցույց է տրված վերևի դիագրամում.

Ինչպես դա անել…

Ձեր REPL- ում մուտքագրեք հետևյալ ծածկագիրը.

# LED- ի մարում յուրաքանչյուր 0.5 -ով ՝ կարդալով պոտենցիոմետրից ստացված տվյալները

ժամանակի ներմուծման մեքենա օբյեկտ և սահմանեք հաճախականությունը 500 Հց, մինչդեռ ճշմարիտ է.

Սա կփոխի GPIO 5 -ին միացված LED- ի պայծառությունը `փոխելով պոտենցիոմետրի արժեքը:

Սեղմեք ctrl+c ՝ ընթացիկ կոդը դուրս գալու համար:

Ստուգեք տեսանյութը, եթե խրված եք:

Քայլ 9: Որտեղի՞ց այստեղից:

Մինչ այժմ մենք տեսել ենք, թե ինչպես կարելի է կարգավորել և գործարկել MicroPython- ը ESP8266- ի վրա հիմնված տախտակների վրա: մենք սովորեցինք, թե ինչպես կարելի է վերահսկել քորոցները ՝ լուսադիոդը թարթելու համար, այնուհետև ավելացրեցինք պոտենցիոմետր ՝ LED- ի պայծառությունը վերահսկելու համար ՝ օգտագործելով զարկերակի լայնության մոդուլյացիայի տեխնիկան:

Այժմ մենք կարող ենք կարդալ տվյալները սենսորից և ուղարկել դրանք ամպին, կարող ենք նաև ստեղծել HTTP սերվեր, որտեղ կարող եք տպել մեր տվյալները պարզ վեբ էջում և այլն…

Սա մեզ շատ բան է տալիս իրերի ինտերնետի (IoT) մասին:

Քայլ 10: Եզրակացություն

Ահա դուք ունեք այն: Առաջ գնացեք և նվաճեք MicroPython- ի աշխարհը:

եթե ունեք որևէ հարց, իհարկե, կարող եք թողնել մեկնաբանություն:

Իմ աշխատանքների մասին ավելին տեսնելու համար այցելեք իմ YouTube ալիքը ՝

myYouTube

myGitHub

myLinkedin

Շնորհակալություն այս ուսանելի ^^ ը կարդալու համար և հաճելի օր:

Կտեսնվենք.

Ահմեդ Նուիրա.

Խորհուրդ ենք տալիս: