Talaan ng mga Nilalaman:

Pagsisimula Sa MicroPython sa ESP8266: 10 Mga Hakbang (na may Mga Larawan)
Pagsisimula Sa MicroPython sa ESP8266: 10 Mga Hakbang (na may Mga Larawan)

Video: Pagsisimula Sa MicroPython sa ESP8266: 10 Mga Hakbang (na may Mga Larawan)

Video: Pagsisimula Sa MicroPython sa ESP8266: 10 Mga Hakbang (na may Mga Larawan)
Video: ESP8266 ESP01 WIFI-UART | LDmicro-Roboremo Programming 2024, Nobyembre
Anonim
Pagsisimula Sa MicroPython sa ESP8266
Pagsisimula Sa MicroPython sa ESP8266

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

Mga Kinakailangan
Mga Kinakailangan
Mga Kinakailangan
Mga Kinakailangan
Mga Kinakailangan
Mga Kinakailangan
Mga Kinakailangan
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?

Bakit nakabatay sa board ng ESP8266?
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

Pag-set up ng Iyong Computer
Pag-set up ng Iyong Computer
Pag-set up ng Iyong Computer
Pag-set up ng Iyong Computer
Pag-set up ng Iyong Computer
Pag-set up ng Iyong Computer
Pag-set up ng Iyong Computer
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

Flashing MicroPython Sa Esptool.py
Flashing MicroPython Sa Esptool.py
Flashing MicroPython Sa Esptool.py
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

Paggamit ng MicroPython REPL With Rshell
Paggamit ng MicroPython REPL With Rshell
Paggamit ng MicroPython REPL With Rshell
Paggamit ng MicroPython REPL With 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

Pagkontrol ng Mga Pins Gamit ang MicroPython
Pagkontrol ng Mga Pins Gamit ang MicroPython
Pagkontrol ng Mga Pins Gamit ang MicroPython
Pagkontrol ng 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

Pagkupas ng LED
Pagkupas ng LED
Pagkupas ng LED
Pagkupas ng 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: