Cov txheej txheem:
- Kauj Ruam 1: MicroPython yog dab tsi?
- Kauj ruam 2: Yuav tsum tau ua
- Kauj Ruam 3: Vim Li Cas ESP8266 Raws li pawg thawj coj saib?
- Kauj ruam 4: Teeb Koj Lub Computer
- Kauj Ruam 5: Teeb MicroPython Nrog Esptool.py
- Kauj Ruam 6: Siv MicroPython REPL Nrog Rshell
- Kauj Ruam 7: Tswj Pins Siv MicroPython
- Kauj Ruam 8: Teeb LED
- Kauj Ruam 9: Qhov Twg Los Ntawm No?
- Kauj ruam 10: Xaus
Video: Pib Nrog MicroPython ntawm ESP8266: 10 Cov Kauj Ruam (nrog Duab)
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:27
Koj puas xav tau txoj hauv kev sib txawv los teeb tsa ESP8266-based cov laug cam ntau dua li txoj hauv kev siv Arduino IDE nrog rau C/C ++ programing language?
Hauv qhov kev qhia no peb yuav kawm paub leej twg teeb tsa thiab tswj hwm ESP8266 pawg thawj coj siv MicroPython.
ZOO TSHAJ PLAWS: 60 QHOV TSEEB QHOV TSEEB: RATING: Yooj yim
Kauj Ruam 1: MicroPython yog dab tsi?
MicorPython yog ib ntawm ntau hom lus programming uas peb tuaj yeem siv los ua haujlwm ESP8266 tus qauv. Nws yog cov ntawv ntshiv thiab nrawm ntawm Python 3 cov lus programming thiab muaj ntau qhov zoo ntawm cov lus ib txwm siv xws li C thiab C ++.
MicroPython tau tsim los kom sib haum nrog Python li qub kom ntau li ntau tau. Nws tau ua tiav Python compiler thiab runtime, thiab muab kev sib tham sib tham tam sim hu ua REPL (Read-Eval-Print Loop).
MicorPython tau tsim los txhawb ob peb hom microcontrollers sib txawv. Tab sis rau qhov kev qhia no kuv yuav ua haujlwm nrog ib tus qauv xwb: ESP8266-based board (NodeMCU). Nco ntsoov tias muaj ob peb lub rooj sib txawv uas koj tuaj yeem yuav nrog tib lub nti.
Nyeem & Cov peev txheej:
MicroPython
NodeMCU
Kauj ruam 2: Yuav tsum tau ua
Txhawm rau tuaj yeem ua raws cov lus qhia no koj tsuas yog yuav tsum muaj kev paub ua lej yooj yim nrog Python. Koj tsis tas yuav muaj kev paub dhau los ntawm microcontrollers, hluav taws xob, lossis txawm tias MicroPython.
Koj tseem yuav xav tau lub khoos phis tawj Windows, Mac lossis Linux nrog lub chaw nres nkoj USB dawb, raws li koj yuav txuas lub microcontroller rau koj lub khoos phis tawj los teeb tsa nws.
Qhov Yuav Tsum Tau:
1 x NodeMCU (lossis lwm yam ESP8266-based board)
1 x Liab 5mm LED
1 x 220Ω 1/4W Resistor
1 x 10KΩ Teb Potentiometer
1 x Breadboard
1 x USB rau MicroUSB cable
Jumper Hlau.
Kauj Ruam 3: Vim Li Cas ESP8266 Raws li pawg thawj coj saib?
Ib txoj hauv kev koj tuaj yeem tau txais txiaj ntsig ntau tshaj ntawm koj li ESP8266 yog siv MicroPython. Tsis tas li, ESP8266 tus qauv yog ib lub platform zoo tshaj plaws uas yuav kawm paub siv MicroPython li cas. Qhov no vim tias ESP8266 muab qhov yooj yim GPIO tus lej tswj kev ua haujlwm nrog rau kev ua haujlwm tsis muaj zog, tso cai rau koj sim txhua yam ntawm MicroPython programming lus.
ESP8266 nti yog nrov nyob rau hauv qhov qhib kev txhim kho kev lag luam. Muaj ntau qhov kev txhim kho cov laug cam los ntawm cov tuam txhab sib txawv uas siv ESP8266 nti. MicroPython tau tsim los muab cov chaw nres nkoj dav dav uas tuaj yeem ua haujlwm ntawm feem ntau ntawm cov laug cam, nrog rau qee qhov kev txwv ntau li ntau tau. Qhov chaw nres nkoj yog ua raws Adafruit Feather HUZZAH pawg thawj coj thaum siv lwm ESP8266 cov laug cam, xyuas kom tseeb tias koj txheeb xyuas lawv cov lej thiab cov ntawv teev tseg kom koj tuaj yeem txheeb xyuas qhov sib txawv ntawm lawv thiab Adafruit Feather HUZZAH board. Txoj kev ntawd, koj tuaj yeem haum qhov sib txawv ntawm koj tus lej.
Nyeem & Cov peev txheej:
ESP8266
Adafruit Feather HUZZAH
Kauj ruam 4: Teeb Koj Lub Computer
Muaj ntau yam uas koj yuav tsum tau teeb tsa ua ntej siv MicroPython los teeb tsa koj li ESP8266 pawg thawj coj. Peb yuav dhau los ntawm cov txheej txheem teeb tsa hauv theem no. Txoj hauv kev no koj yuav paub paub teeb tsa ESP8266 pawg thawj coj los siv nrog MicroPython.
Npaj kom txhij
Txhua yam koj xav tau los ntawm qib no mus rau qib 6 yog koj li ESP8266 thiab USB cable. Txuas koj lub rooj tsav xwm ESP8266 rau koj lub computer.
Yuav ua li cas nws …
KAUJ RUAM 1: Nruab cov tsav tsheb
Yog tias koj muaj lub khoos phis tawj Linux, tom qab ntawd koj tsis tas yuav teeb tsa ib lub cuab yeej tsav tsheb rau cov tsav tsheb rau lub microcontroller kom tau txais kev lees paub tab sis nws koj muaj Mac lossis lub tshuab Windows, xav tau tus tsav tsheb los tso cai rau lub khoos phis tawj lees paub lub microcontroller raws li cov khoom siv.
www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers.
STEP2: Nruab Python
Cov cuab yeej uas koj yuav siv los sib txuas lus nrog ESP8266 tau sau hauv Python, yog li koj yuav tsum nruab Python ntawm koj lub computer.
Yog tias koj lub khoos phis tawj tsis muab lub Python ntim ua ntej, koj tuaj yeem mus rau https://python.org txhawm rau rub tawm ib qho kev tsim tsa rau ib qho ntawm cov haujlwm ua haujlwm txhawb nqa.
STEP3: Nruab esptool thiab rshell
Nruab ob pob khoom uas yuav pab koj tswj hwm koj lub rooj tsavxwm siv pip. Ua li no qhib koj lub davhlau ya nyob twg thiab khiav
pip nruab esptool rshell
STEP4: Rub MicroPython
Rub tawm qhov tseeb MicroPython firmware.bin los ntawm qhov txuas hauv qab no:
Thaum lub sijhawm kuv sau qhov no, qhov tam sim no yog 1.11, thiab cov ntaub ntawv firmware tau hu ua esp8266-20190529-v1.11.bin
Los ntawm lub sijhawm koj ua qhov no koj yuav pom qhov tso tawm tshiab.
Kauj Ruam 5: Teeb MicroPython Nrog Esptool.py
Ua ntej flashing lub firmware tshiab rau hauv pawg thawj coj nws yog lub tswv yim zoo kom tshem tawm cov ntaub ntawv yav dhau los. Qhov no yog qee yam uas koj yuav tsum tau ua tas li kom lub firmware tshiab khiav los ntawm lub xeev huv.
Mus qhov twg koj tau tso cov ntaub ntawv.bin. Siv esptool.py los lwv lub flash.
Rau Linux:
esptool.py --port /dev /ttyUSB0 lwv_flash
Rau Windows:
esptool.py --port COM3 lwv_flash
Tej zaum koj yuav tsum tau hloov qhov chaw nres nkoj hauv koj cov lus txib mus rau qhov chaw nres nkoj uas koj ESP8266 pawg thawj coj tau txuas nrog. Yog tias koj tsis paub tus lej xov tooj ntawm koj tus ESP8266, koj tuaj yeem tshawb xyuas hauv Arduino IDE. Tsuas yog qhib IDE thiab tom qab ntawv nyem rau Cov Cuab Yeej | Chaw nres nkoj Koj yuav tsum pom qhov chaw nres nkoj ntawm koj li ESP8266 pawg thawj coj teev tseg nyob ntawd. Hloov qhov chaw nres nkoj hauv kab lus txib (/dev/ttyUSB0) nrog qhov chaw nres nkoj txuas ntawm koj lub rooj tsav xwm.
Tam sim no tias lub rooj tsavxwm tau raug lwv tag, koj tuaj yeem nyem MicroPython tsim uas koj nyuam qhuav rub tawm. Qhov no tseem ua tiav nrog esptool.py hais kom ua:
esptool.py --port /dev /ttyUSB0 --baud 460800 write_flash 0 esp8266-20190529-v1.11.bin
Cov lus txib no yuav sau cov ntsiab lus ntawm MicroPython.bin cov ntaub ntawv mus rau pawg thawj coj ntawm chaw nyob 0.
Nco ntsoov koj hloov lub npe ntawm firmware.bin cov ntaub ntawv hauv qhov hais kom ua (esp82688-2019-080529-v1.11.bin) mus rau qhov firmware uas koj rub tawm.
Thaum lub khoos phis tawj tau ua tiav tiav ntawm koj lub rooj tsav xwm ESP8266, koj tuaj yeem nkag mus rau REPL ntawm koj lub rooj tsavxwm ntawm kev txuas txuas (UART chaw nres nkoj txuas) lossis xav WiFi.
Kauj Ruam 6: Siv MicroPython REPL Nrog Rshell
Tam sim no koj npaj tau pib MicroPython ntawm koj li ESP8266 pawg thawj coj.
Qhov kuv yuav qhia koj yuav ua li cas txuas rau Python tam sim ua haujlwm ntawm koj lub khoos phis tawj no hu ua REPL, uas sawv rau "Nyeem-Txheeb Xyuas-Sau-Loop". Qhov no yog tus txheej txheem Python tam sim uas koj tau siv los pom thaum ua haujlwm nrog tus kws txhais lus Python li niaj zaus, tab sis lub sijhawm no nws yuav tau khiav ntawm koj lub rooj tsav xwm, thiab cuam tshuam nrog nws koj yuav siv txuas txuas mus rau koj lub computer. Npaj?
Txhawm rau txuas rau koj lub rooj tsavxwm thiab qhib REPL ntu, sau cov lus txib hauv qab no:
rshell --cov
Cov lus txib no yuav coj koj mus rau qhov rshell prompt. Saib daim duab saum toj no.
Yog tias koj ua raws cov lus qhia no ntawm Windows, nco ntsoov tias rshell muaj keeb kwm muaj teeb meem thaum ua haujlwm ntawm Windows.
Yog li txhawm rau txhim kho hom ntawd:
rshell -a --port COM3
Los ntawm qhov tam sim no koj tuaj yeem ua haujlwm tswj hwm cuam tshuam nrog koj lub microcontroller board, thiab tseem pib Python REPL uas koj tuaj yeem siv los cuam tshuam nrog pawg thawj coj hauv lub sijhawm tiag. Yog li tsuas yog nkag mus rau cov lus txib hauv qab no:
rov qab
Kom paub tseeb tias txhua yam ua haujlwm, ntaus kab lus Python yooj yim:
print ("Nyob Zoo Ntiaj Teb")
Kauj Ruam 7: Tswj Pins Siv MicroPython
Hauv qib no, peb yuav kawm paub tswj hwm ESP8266 pins nrog MicroPython. Txhawm rau ua qhov ntawd peb yuav los nrog teeb tsa qhov twg peb yuav hloov pauv lub xeev ntawm LED txuas nrog ESP8266 board GPIO tus pin. Qhov no yuav pab koj nkag siab yuav ua li cas tswj cov txiaj ntsig digital siv MicoPython.
Npaj kom txhij
Koj yuav xav tau cov hauv qab no los ua kom tiav STEP:
1 x NodeMCU
1 x Liab 5mm LED
1 x 220 Ω Resistor
1 x Breadboard
Jumper Hlau
Tsim
Pib los ntawm kev teeb tsa LED mus rau lub khob cij. Txuas ib kawg ntawm 220 Ω tus tiv thaiv mus rau qhov zoo ntawm LED (cov ceg zoo ntawm LED feem ntau yog siab dua ib ntawm ob txhais ceg). Txuas lwm qhov kawg ntawm tus tiv thaiv tus pin D1 ntawm ESP8266 pawg thawj coj saib. Tom qab ntawd txuas qhov tsis zoo ntawm LED mus rau GND tus pin ntawm ESP8266 pawg thawj coj saib. Kev sib txuas yog raws li qhia hauv daim duab saum toj no.
Thaum teeb tsa tiav, txuas ESP8266 lub rooj tsavxwm rau koj lub khoos phis tawj ntawm USB cable.
Yuav ua li cas nws …
Ntaus cov cai hauv qab no hauv koj li REPL:
# ntsais LED txhua 1 thib ob
def blink (tus pin = 5, lub sijhawm = 1) # ntsais ntsais ua haujlwm los ntawm tus lej pin = 5, sijhawm = 1s ntshuam tshuab # lub tshuab module tuav tus pin teeb tsa thiab hom los ntawm lub sijhawm ntshuam ntshuam # ntshuam tsaug zog rau qee qhov qeeb LED = tshuab. Pin (led_pin, tshuab. PIN. OUT) # teeb tsa LED ua OUTPUT thaum Muaj Tseeb: # khiav mus ib txhis LED.value (1) # teeb LED mus rau HIGH pw tsaug zog (sijhawm) # tos 1 thib ob los ntawm lub neej ntawd LED.value (0) # teeb LED kom LOW tsaug zog (sijhawm) # tos 1 thib ob los ntawm lub neej ntawd
Ntaus blink () hauv koj qhov kev sib tham RPEL txhawm rau ntsuas tus lej no qhov no yuav ntsais lub LED txuas nrog GPIO5 txhua 1 thib ob.
Koj tuaj yeem hloov tus pin thiab/lossis sijhawm los ntawm kev hu:
blink (tus pin =, sijhawm =)
Nias ctrl+c kom tawm ntawm txoj cai khiav.
Koj tuaj yeem siv MicroPython los nyeem cov lus nkag los ntawm kev txuas nrog ESP8266. Ua mus rau qib tom ntej kom paub yuav ua li cas.
Txheeb cov vis dis aus yog tias koj daig.
Kauj Ruam 8: Teeb LED
Hauv theem no, peb yuav kawm paub yuav kho lub teeb ci ntawm LED siv lub tshuab ntsuas hluav taws xob teb li cas. Peb yuav siv cov txheej txheem hu ua Pulse Width Modulation (PWM), nws tso cai rau peb kom dim lub LED nrog txog 256 chaw.
Daim ntawv ceeb toom: Txhua tus pin ntawm ESP8266 tuaj yeem siv ua tus PWM tus pin tshwj tsis yog GPIO16 (D0).
Npaj kom txhij:
Koj yuav xav tau cov hauv qab no los ua kom tiav STEP:
1 x NodeMCU
1 x Liab 5mm LED
1 x 50 KΩ Teb Potentiometer.
1 x Breadboard
Jumper Hlau
Tsim
Kev sib txuas yog raws li qhia hauv daim duab saum toj no: Thaum teeb tsa tiav, txuas ESP8266 lub rooj tsavxwm rau koj lub khoos phis tawj ntawm USB cable.
Yuav ua li cas nws …
Ntaus cov cai hauv qab no hauv koj li REPL:
# Fading LED txhua 0.5 los ntawm kev nyeem cov ntaub ntawv los ntawm Potentiometer
ntshuam tshuab los ntawm lub sijhawm ntshuam pw led_pin = 5 # coj tus pin POT = tshuab. ADC (0) # ADC0 tus pin LED = tshuab. Pin (coj_pin) # tsim cov khoom LED LED_pwm = tshuab. PWM (LED, freq = 500) # tsim LED_pwm khoom thiab teeb zaus mus rau 500Hz thaum Tseeb: LED_pwm.duty (POT.read ()) # tau txais tus nqi los ntawm lub lauj kaub thiab teeb nws mus rau lub luag haujlwm voj voog pw (0.5) # tos 0.5
Qhov no yuav hloov qhov ci ci ntawm LED txuas nrog GPIO 5 los ntawm kev hloov tus nqi ntawm lub hwj chim.
Nias ctrl+c kom tawm ntawm txoj cai khiav.
Txheeb cov vis dis aus yog tias koj daig.
Kauj Ruam 9: Qhov Twg Los Ntawm No?
Txog tam sim no peb tau pom yuav teeb tsa thiab ua haujlwm MicroPython ntawm ESP8266-based boards. peb tau kawm paub tswj hwm tus pin kom ntsais ib lub LED ces peb tau ntxiv lub hwj chim ntsuas kom tswj tau qhov ci ci ntawm LED siv cov txheej txheem dav tes taws los piav taw.
Tam sim no peb tuaj yeem nyeem cov ntaub ntawv los ntawm lub ntsuas cua thiab xa nws mus rau huab, peb tseem tuaj yeem tsim HTTP server uas koj tuaj yeem luam peb cov ntaub ntawv hauv lub vev xaib yooj yim, thiab lwm yam …
Qhov no muab rau peb ntau lub tswv yim ntawm Internet ntawm yam (IoT).
Kauj ruam 10: Xaus
Muaj koj muaj nws! Tawm mus thiab kov yeej lub ntiaj teb ntawm MicroPython.
yog tias koj muaj lus nug ntawm chav kawm koj tuaj yeem tawm lus.
Txhawm rau pom ntau ntxiv txog kuv cov haujlwm thov mus saib kuv tus YouTube channel:
kuv tus YouTube
myGitHub
myLinkedin
Ua tsaug rau kev nyeem cov lus qhia no ^^ thiab muaj hnub zoo.
Saib koj.
Ahmed Nouira: koj puas xav tau ntau tus thwjtim?
Pom zoo:
Pib Pib/ NodeMCU ESP8266 ntawm Arduino IDE: 6 Cov Kauj Ruam
Pib Pib/ NodeMCU ESP8266 ntawm Arduino IDE: Txheej txheem cej luam Hauv qhov kev qhia no, koj yuav kawm paub siv NodeMCU ntawm Arduino IDE.What Koj Yuav Kawm Paub Cov ntaub ntawv dav dav txog NodeMCU Yuav ua li cas rau teeb tsa ESP8266 raws cov laug cam ntawm Arduino IDE Yuav ua li cas rau program NodeMCU ntawm Arduino IDE siv
Tsim DIY Arduino ntawm PCB thiab Qee Cov Lus Qhia rau Cov Pib: 17 Cov Kauj Ruam (nrog Duab)
Tsim DIY Arduino ntawm PCB thiab Qee Cov Lus Qhia rau Pib: Qhov no txhais tau tias yog phau ntawv qhia rau txhua tus neeg muag lawv tus kheej Arduino los ntawm cov khoom siv, uas tuaj yeem yuav los ntawm A2D Electronics. Nws muaj ntau cov lus qhia thiab cov lus qhia txhawm rau txhim kho nws kom ua tiav. Koj tseem yuav kawm txog dab tsi tag nrho cov khoom sib txawv d
Ntxiv Qhov Pib Pib Suab rau Google AIY Cov Khoom Siv Suab: 6 Cov Kauj Ruam (nrog Duab)
Ntxiv Qhov Pib Pib Suab rau Google AIY Lub Suab Khoom: Cov ntawv qhia no yooj yim zoo nkauj. Kuv tau txaus siab heev rau Google AIY Lub Suab Khoom, tab sis zoo li ntawm kuv li Google Tsev ib txwm muaj suab nrov uas lawv ua kom paub tseeb tias lawv nquag mloog. Qhov no tsis yog teeb tsa los ntawm lub hauv paus ntawm ib qho piv txwv tha
Yuav Ua Li Cas Hloov Cov Ntawv Uas Zoo Li Thaum Koj Tsiv Koj Tus Kheej Los Ntawm Qhov Pib Pib: 4 Cov Kauj Ruam
Yuav Ua Li Cas Hloov Cov Ntawv Uas Zoo Li Thaum Koj Tsiv Koj Tus Nas Hla Lub Pob Pib: Lub npe hais txhua yam
Olympus Evolt E510 Cov Hluav Taws Xob Hluav Taws Xob Tshaj Tawm (Version 2 Nrog Pib Ua Haujlwm ntawm Chaw Taws Teeb): 6 Cov Kauj Ruam (nrog Duab)
Olympus Evolt E510 Cov Hluav Taws Xob Hluav Taws Xob Tso Tawm (Version 2 Nrog Pib Ua Haujlwm ntawm Cov Chaw Taws Teeb): Nag hmo Kuv tau tsim lub khawm yooj yim ib qho chaw taws teeb rau kuv Olympus E510. Cov koob yees duab feem ntau muaj lub khawm kaw (qhov uas koj thawb kom thaij duab) uas muaj ob hom. Yog tias khawm maj mam nyuaj siab, lub koob yees duab yuav pib tsom thiab ntsuas lub teeb