Talaan ng mga Nilalaman:
- Hakbang 1: Ano ang MicroPython?
- Hakbang 2: Mga Kinakailangan
- Hakbang 3: Bakit nakabatay sa board ng ESP8266?
- Hakbang 4: Pag-set up ng Iyong Computer
- Hakbang 5: Flashing MicroPython Sa Esptool.py
- Hakbang 6: Paggamit ng MicroPython REPL Sa Rshell
- Hakbang 7: Pagkontrol sa Mga Pins Gamit ang MicroPython
- Hakbang 8: Pagkupas sa LED
- Hakbang 9: Saan magmula Dito?
- Hakbang 10: Konklusyon
Video: Pagsisimula Sa MicroPython sa ESP8266: 10 Mga Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Nais mo ba ng ibang paraan upang mai-program ang mga board na nakabatay sa ESP8266 kaysa sa karaniwang pamamaraan gamit ang Arduino IDE kasama ang wika ng programing C / C ++?
Sa tutorial na ito matututunan namin kung sino ang mag-configure at makontrol ang isang board na ESP8266 gamit ang MicroPython.
PANAHON NG BUILD: 60 MINUTI MAHIRAP: PAGRATING: Madali
Hakbang 1: Ano ang MicroPython?
Ang MicorPython ay isa sa maraming mga wika ng programa na maaari nating magamit upang mai-program ang module na ESP8266. Ito ay isang payat at mabilis na bersyon ng Python 3 programa ng wika at may maraming mga pakinabang kaysa sa tradisyunal na mga wika ng programa tulad ng C at C ++.
Ang MicroPython ay idinisenyo upang maging katugma sa normal na Python hangga't maaari. Mayroon itong kumpletong tagatala ng Python at runtime, at nagbibigay ng isang interactive na prompt na kilala bilang REPL (Read-Eval-Print Loop).
Ang MicorPython ay idinisenyo upang suportahan ang ilang magkakaibang uri ng mga microcontroller. Ngunit para sa tutorial na ito ay gagana ako sa isang modelo lamang: ang board na nakabatay sa ESP8266 (NodeMCU). Tandaan na may ilang iba't ibang mga board na maaari kang bumili ng parehong chip.
Pagbabasa at Mga Mapagkukunan:
MicroPython
NodeMCU
Hakbang 2: Mga Kinakailangan
Upang masundan ang tutorial na ito kailangan mo lamang magkaroon ng pangunahing karanasan sa pag-coding sa Python. Hindi mo kailangang magkaroon ng anumang dating kaalaman sa mga microcontroller, electronics, o kahit na MicroPython.
Kakailanganin mo rin ang isang Windows, Mac o Linux computer na may isang libreng USB port, dahil ikonekta mo ang isang microcontroller sa iyong computer upang i-program ito.
Mga Kinakailangan na Bahagi:
1 x NodeMCU (o iba pang batay sa board ng ESP8266)
1 x Red 5mm LED
1 x 220Ω 1 / 4W Resistor
1 x 10KΩ Rotary Potentiometer
1 x Breadboard
1 x USB sa MicroUSB cable
Jumper Wires.
Hakbang 3: Bakit nakabatay sa board ng ESP8266?
Ang isang paraan upang masulit mo ang iyong ESP8266 ay sa pamamagitan ng paggamit ng MicroPython. Gayundin, ang module ng ESP8266 ay isa sa mga pinakamahusay na platform kung saan matututunan kung paano gamitin ang MicroPython. Ito ay dahil ang ESP8266 ay nagbibigay ng simpleng mga pagpapaandar ng control ng GPIO pin pati na rin ang pag-andar ng wireless, na nagbibigay-daan sa iyo upang subukan ang lahat ng mga aspeto ng wika ng programa ng MicroPython.
Ang chip ng ESP8266 ay tanyag sa bukas na industriya ng pag-unlad na mapagkukunan. Maraming mga board ng pag-unlad mula sa iba't ibang mga tagagawa na gumagamit ng ESP8266 chip. Ang MicroPython ay dinisenyo upang magbigay ng isang generic port na maaaring tumakbo sa karamihan ng mga board na iyon, na may ilang mga limitasyon hangga't maaari. Ang port ay batay sa board ng Adafruit Feather HUZZAH Kapag gumagamit ng iba pang mga board ng ESP8266, tiyaking suriin mo ang kanilang mga iskema at datasheet upang makilala mo ang mga pagkakaiba sa pagitan nila at ng board ng Adafruit Feather HUZZAH. Sa ganoong paraan, maaari mong mapaunlakan ang mga pagkakaiba sa iyong code.
Pagbabasa at Mga Mapagkukunan:
ESP8266
Adafruit Feather HUZZAH
Hakbang 4: Pag-set up ng Iyong Computer
Mayroong maraming mga bagay na kailangan mong i-set up bago gamitin ang MicroPython upang mai-program ang iyong board na ESP8266. Dadaan namin ang proseso ng pag-setup sa hakbang na ito. Sa ganitong paraan malalaman mo kung paano i-configure ang board ng ESP8266 upang magamit sa MicroPython.
Naghahanda
Ang kailangan mo lang mula sa hakbang na ito hanggang sa hakbang 6 ay ang iyong ESP8266 at isang USB cable. Ikonekta ang iyong board na ESP8266 sa iyong computer.
Paano ito gawin …
STEP1: Mag-install ng mga driver ng aparato
Kung mayroon kang isang computer na Linux, hindi mo na kailangang mag-install ng anumang mga driver ng aparato para sa mga driver para makilala ang microcontroller. Ngunit mayroon kang isang Mac o isang Windows machine, kailangan ng isang driver upang payagan ang computer na makilala ang microcontroller bilang isang serial device.
www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers.
HAKBANG2: I-install ang Python
Ang mga tool na gagamitin mo upang makipag-usap sa ESP8266 ay nakasulat sa Python, kaya kailangan mong i-install ang Python sa iyong computer.
Kung ang iyong operating system ay hindi nagbibigay ng isang paunang nakabalot na Python, maaari kang pumunta sa https://python.org upang mag-download ng isang opisyal na pagbuo para sa alinman sa mga sinusuportahang operating system.
STEP3: Mag-install ng esptool at rshell
Mag-install ng dalawang mga pakete na makakatulong sa iyong pamahalaan ang iyong board gamit ang pip. Upang gawin ito buksan ang iyong terminal at tumakbo
pip install esptool rshell
STEP4: Mag-download ng MicroPython
I-download ang pinakabagong firmware ng MicroPython.bin mula sa sumusunod na link:
Sa oras na sinusulat ko ito, ang kasalukuyang bersyon ay 1.11, at ang file ng firmware ay tinatawag na esp8266-20190529-v1.11.bin
Sa oras na gawin mo ito maaari kang makahanap ng isang mas bagong pagpapalaya.
Hakbang 5: Flashing MicroPython Sa Esptool.py
Bago i-flashing ang isang bagong firmware sa board magandang ideya na burahin ang anumang nakaraang data. Ito ay isang bagay na dapat mong palaging gawin upang ang bagong firmware ay tumatakbo mula sa isang malinis na estado.
Pumunta kung saan mo inilagay ang.bin file. Gumamit ng esptool.py upang burahin ang flash.
Para sa Linux:
esptool.py --port / dev / ttyUSB0 burahin_flash
Para sa Windows:
esptool.py --port COM3 burahin_flash
Maaaring kailanganin mong baguhin ang serial port sa iyong utos sa serial port kung saan nakakonekta ang iyong board na ESP8266. Kung hindi mo alam ang serial port number ng iyong ESP8266, maaari kang mag-check sa Arduino IDE. Buksan lamang ang IDE at pagkatapos ay mag-click sa Tools | Mga Port Dapat mong makita ang serial port ng iyong board na ESP8266 na nakalista doon. Palitan ang serial port sa utos (/ dev / ttyUSB0) ng serial port ng iyong board.
Ngayon na ang board ay ganap na nabura, maaari mong i-flash ang MicroPython build na na-download mo lamang. Ginagawa rin ito sa esptool.py utos:
esptool.py --port / dev / ttyUSB0 --baud 460800 write_flash 0 esp8266-20190529-v1.11.bin
Isusulat ng utos na ito ang mga nilalaman ng MicroPython.bin file sa board sa address 0.
Tiyaking binago mo ang pangalan ng firmware.bin file sa utos (esp82688-2019-080529-v1.11.bin) sa firmware na na-download mo.
Kapag matagumpay na na-install ang firmware sa iyong board na ESP8266, maaari mong ma-access ang REPL sa iyong board sa pamamagitan ng isang wired na koneksyon (UART serial port) o naisip na WiFi.
Hakbang 6: Paggamit ng MicroPython REPL Sa Rshell
Handa ka na ngayon upang simulan ang MicroPython sa iyong board na ESP8266.
Ipapakita ko sa iyo kung paano kumonekta sa prompt ng Python na tumatakbo sa iyong board. Ito ay tinatawag na REPL, na nangangahulugang "Read-Eval-Print-Loop". Ito ang karaniwang prompt ng Python na marahil ay ginagamit mo upang makita kapag nagtatrabaho kasama ang regular na interpreter ng Python, ngunit sa oras na ito ay tatakbo ito sa iyong board, at upang makipag-ugnay dito ay gagamitin mo ang serial na koneksyon sa iyong computer. Handa na?
Upang kumonekta sa iyong board at magbukas ng isang sesyon ng REPL, ipasok ang sumusunod na utos:
rshell --port
Dadalhin ka ng utos na ito sa prompt ng rshell. Tingnan ang larawan sa itaas.
Kung sinusundan mo ang tutorial na ito sa Windows, tandaan na ang rshell ay mayroong kasaysayan ng mga problema kapag tumatakbo sa Windows.
Kaya upang maayos ang uri na iyon:
rshell -a --port COM3
Mula sa prompt na ito, maaari mong maisagawa ang mga gawain sa pamamahala na nauugnay sa iyong board ng microcontroller, at magsimula din ng isang Python REPL na maaari mong gamitin upang makipag-ugnay sa board sa real time. Kaya't ipasok lamang ang sumusunod na utos:
repl
Upang matiyak na gumagana ang lahat, mag-type ng isang simpleng pangungusap na Python:
print ("Hello World")
Hakbang 7: Pagkontrol sa Mga Pins Gamit ang MicroPython
Sa hakbang na ito, matututunan natin kung paano makontrol ang mga pin ng ESP8266 gamit ang MicroPython. Upang magawa iyan ay makakapag-set up kami ng isang pag-set up kung saan ililipat namin ang estado ng isang LED na konektado sa isang ESP8266 board GPIO pin. Tutulungan ka nitong maunawaan kung paano makontrol ang mga digital na output gamit ang MicoPython.
Naghahanda
Kakailanganin mo ang mga sumusunod na bagay upang magawa ang HAKBANG na ito:
1 x NodeMCU
1 x Red 5mm LED
1 x 220 Ω Resistor
1 x Breadboard
Jumper Wires
Ang Build
Magsimula sa pamamagitan ng pag-mount ng LED papunta sa breadboard. Ikonekta ang isang dulo ng resistor na 220 Ω sa positibong binti ng LED (ang positibong binti ng isang LED ay karaniwang mas mataas sa isa sa dalawang paa). Ikonekta ang kabilang dulo ng risistor upang i-pin ang D1 ng board na ESP8266. Pagkatapos ikonekta ang negatibong binti ng LED sa pin ng GND ng board na ESP8266. Ang koneksyon ay tulad ng ipinakita sa diagram sa itaas.
Kapag nakumpleto na ang pag-set up, ikonekta ang board na ESP8266 sa iyong computer sa pamamagitan ng isang USB cable.
Paano ito gawin …
I-type ang sumusunod na code sa iyong REPL:
# blink LED bawat 1 segundo
def blink (pin = 5, time = 1) # blink function by default pin = 5, time = 1s import machine # ang machine module ay humahawak ng mga pagsasaayos ng pin at mga mode mula sa oras na pag-import ng pagtulog # pag-import ng pagtulog para sa ilang pagkaantala LED = machine. Pin (led_pin, machine. PIN. OUT) # configure LED as OUTPUT habang True: # run forever LED.value (1) # set LED to HIGH sleep (time) # wait 1 segundo by default LED.value (0) # set LED sa LOW sleep (oras) # maghintay ng 1 segundo bilang default
I-type ang blink () sa iyong session ng RPEL upang subukin ang code na ito. Ito ay magpapikit sa LED na konektado sa GPIO5 bawat 1 segundo.
Maaari mong baguhin ang pin at / o ang oras sa pamamagitan ng pagtawag sa:
kumurap (pin =, oras =)
Pindutin ang ctrl + c upang lumabas sa tumatakbo na code.
Maaari mong gamitin ang MicroPython upang mabasa ang isang input mula sa konektado sa ESP8266. Magpatuloy sa susunod na hakbang upang malaman kung paano ito gawin.
Suriin ang video kung natigil ka.
Hakbang 8: Pagkupas sa LED
Sa hakbang na ito, matututunan natin kung paano ayusin ang liwanag ng LED gamit ang isang rotary potentiometer. Gumagamit kami ng isang diskarteng tinatawag na Pulse Width Modulation (PWM), pinapayagan kaming madilim ang LED na may hanggang sa 256 mga setting.
Paunawa: Ang lahat ng mga pin ng ESP8266 ay maaaring magamit bilang isang PWM pin maliban sa GPIO16 (D0).
Naghahanda:
Kakailanganin mo ang mga sumusunod na bagay upang magawa ang HAKBANG na ito:
1 x NodeMCU
1 x Red 5mm LED
1 x 50 KΩ Rotary Potentiometer.
1 x Breadboard
Jumper Wires
Ang Build
Ang koneksyon ay tulad ng ipinakita sa diagram sa itaas: Kapag nakumpleto ang pag-set up, ikonekta ang board na ESP8266 sa iyong computer sa pamamagitan ng isang USB cable.
Paano ito gawin …
I-type ang sumusunod na code sa iyong REPL:
# Fading LED bawat 0.5 sa pamamagitan ng pagbabasa ng data mula sa Potentiometer
pag-import ng makina mula sa oras na pag-import ng led led_pin = 5 # led pin POT = machine. ADC (0) # ADC0 pin LED = machine. Pin (led_pin) # create LED object LED_pwm = machine. PWM (LED, freq = 500) # create LED_pwm object at itakda ang dalas sa 500Hz habang Totoo: LED_pwm.duty (POT.read ()) # makuha ang halaga mula sa Palayok at itakda ito sa duty cycle ng pagtulog (0.5) # wait 0.5
Babaguhin nito ang ningning ng LED na konektado sa GPIO 5 sa pamamagitan ng pagbabago ng halaga ng potentiometer.
Pindutin ang ctrl + c upang lumabas sa tumatakbo na code.
Suriin ang video kung natigil ka.
Hakbang 9: Saan magmula Dito?
Sa ngayon nakita namin kung paano i-configure at patakbuhin ang MicroPython sa mga board na nakabatay sa ESP8266. natutunan namin kung paano makontrol ang mga pin upang kumurap ng isang LED pagkatapos ay nagdagdag kami ng isang potensyomiter upang makontrol ang liwanag ng LED gamit ang diskarteng modulate ng lapad ng pulso.
Ngayon ay makakabasa na kami ng data mula sa sensor at ipadala ito sa cloud, makakalikha rin kami ng isang HTTP server kung saan maaari mong mai-print ang aming data sa isang simpleng webpage, atbp.
Nagbibigay ito sa amin ng maraming ideya ng Internet ng mga bagay (IoT).
Hakbang 10: Konklusyon
Ayan! Sumulong at lupigin ang mundo ng MicroPython.
kung mayroon kang anumang katanungan siyempre maaari kang mag-iwan ng isang komento.
Upang makita ang higit pa tungkol sa aking mga gawa mangyaring bisitahin ang aking channel sa YouTube:
myYouTube
myGitHub
myLinkedin
Salamat sa pagbabasa ng itinuturo na ito ^^ at magandang araw.
Hanggang sa muli.
Ahmed Nouira.
Inirerekumendang:
Pagsisimula Sa Ham Radio: 5 Mga Hakbang (na may Mga Larawan)
Pagsisimula Sa Ham Radio: Bilang isang kamakailan-lamang na naka-print na lisensyang ham, nais kong ipasa ang proseso na kinuha ko upang makapasok sa radio ng ham. Naakit ako ng aspeto ng pagtitiwala sa sarili ng libangan, na nagbibigay sa mga tao ng isang paraan upang makipag-usap kapag ang ibang mga pamamaraan ay nagagambala. Ngunit kapaki-pakinabang din ito sa
Pagsisimula Sa M5StickV AI + IOT Camera: 6 Mga Hakbang (na may Mga Larawan)
Pagsisimula Sa M5StickV AI + IOT Camera: Maikling pangkalahatang ideya disenteng panoorin. Ang camera ay pinalakas ng hindi makapaniwala
Pagsisimula Sa La COOL Board: 4 na Hakbang (na may Mga Larawan)
Pagsisimula Sa La COOL Board: Panimula " Nang magkaroon kami ng ideya para sa La COOL Board, naisip ko ang isang halo sa pagitan ng isang Arduino na may WiFi at isang modular agronomic na istasyon ng panahon. Kailangan nitong ubusin ang napakakaunting enerhiya para sa autonomous na operasyon at nais kong makapag-contro
Pagsisimula Sa NeoPixel / WS2812 RGB LED: 8 Hakbang (na may Mga Larawan)
Pagsisimula Sa NeoPixel / WS2812 RGB LED: [Play Video] Sa Instructable na ito, susisiyasat kami tungkol sa addressable RGB LED (WS2812) o kilalang kilala bilang Adafruit NeoPixel. Ang NeoPixel ay isang pamilya ng mga singsing, piraso, board & sticks ng pulsing, makulay na mga miniature LEDs. Ang mga ito ay chainabl
Pagsisimula Sa Micro: bit: 6 Mga Hakbang (na may Mga Larawan)
Pagsisimula Sa Micro: bit: Ang micro: bit ay isang microcontroller - isang maliit na computer na hinahayaan kang makontrol ang electronics. Nag-iimpake ito ng maraming mga tampok sa isang maliit na board ng electronics: isang sensor ng accelerometer upang makita ang paggalaw, anggulo at pagpabilis, isang sensor ng magnetometer upang makita ang mag