рдирдорд╕реНрдХрд╛рд░, рд╣реЗрдмреНрд░!рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЗ рд╕рд╛рде рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рдЕрдиреБрднрд╡ рд╣реИ, рдФрд░ ESP8266 (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ Nodemcu v2 рдХреЗ рд░реВрдк рдореЗрдВ)ред рд╢рд╛рдпрдж рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрдиреБрднрд╡ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛редрдХреНрдпреЛрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ micropython? рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рд╕рд░рд▓ рд╣реИ - рдореЗрд░рд╛ рдорд╛рдореВрд▓реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЕрдиреБрднрд╡ рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдореЗрдВ рдкрд╛рд╕реНрдХрд▓ рддрдХ рд╕реАрдорд┐рдд рд╣реИ, рдФрд░ рдкрд╛рдпрдерди рдореЗрдВ рдкреНрд░реЛрдХреЗрд░рд╛ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдирд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕рдмрд╕реЗ рдХрд░реАрдм рдирд┐рдХрд▓рд╛ред рдЙрджрд╛рд╣рд░рдг рд▓рд┐рдирдХреНрд╕ (ubuntu 18.04) рдХреЗ рд▓рд┐рдП рд╣реЛрдВрдЧреЗ, рд▓реЗрдХрд┐рди, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЕрдиреНрдп рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдг рдореЗрдВ рдХреЛрдИ рдмреБрдирд┐рдпрд╛рджреА рдЕрдВрддрд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛редрдкреНрд░рд╢рд┐рдХреНрд╖рдг:
рдпрджрд┐ рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рд╣рдордиреЗ рдкрд╛рдпрдерди 3, рдкрд╛рдЗрдк рдФрд░ рдкрд┐рдХреЛрдХреЙрдо рдбрд╛рд▓ рджрд┐рдпрд╛:sudo apt install python3 python3-pip picocom
рдЕрдЬрдЧрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЬрд╛рдБрдЪ:python --version
Python 3.6.9
рдпрджрд┐ рдЕрдЬрдЧрд░ рд╕рдВрд╕реНрдХрд░рдг 2.7 рд╣реИ, рддреЛ 3 рдореЗрдВ рдмрджрд▓реЗрдВ:sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
update-alternatives: using /usr/bin/python3 to provide /usr/bin/python (python) in auto mode
рд╣рдо рдкрд╛рдЗрдк рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ:sudo pip3 install --upgrade pip
pip --version
pip 20.0.2 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)
pip3 --version
pip 20.0.2 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)
рд╣рдо рдкрд╛рдЗрдк рд╕реЗ рдПрд╕реЗрдкреНрдЯреБрд▓ 2.8 рдХрд╛ рдПрдХ рдФрд░ рд╣рд╛рд▓рд┐рдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ (рдЪреВрдВрдХрд┐ ubuntu рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг 2.1 рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИ "рдПрдХ рдШрд╛рддрдХ рддреНрд░реБрдЯрд┐ рд╣реБрдИ: ESP8266 ROM рдлрдВрдХреНрд╢рди erase_flash рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рджреМрд░рд╛рди):"pip3 install esptool
рдпрд╣рд╛рдВ
рдлрд░реНрдорд╡реЗрдпрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ ред рдореИрдВрдиреЗ 1.12 рдХрд╛ рд╕реНрдерд┐рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ редрджреЛ рд╡рд┐рдХрд▓реНрдк рд╕рдВрднрд╡ рд╣реИрдВ:1. рд╕реВрд░реНрдпреЛрджрдп рдореИрдиреНрдпреБрдЕрд▓ (рдЯрд░реНрдорд┐рдирд▓ рдФрд░ рдЖрд░рдИрдкреАрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ):
рд╣рдо ESP8266 рдкрд░ рд╕реНрдкрд╖реНрдЯ рдлреНрд▓реИрд╢ рдХрд░рддреЗ рд╣реИрдВ:
esptool.py --port /dev/ttyUSB0 erase_flash
рдХрдорд╛рдВрдб рдЖрдЙрдЯрдкреБрдЯ:
esptool.py v2.8
Serial port /dev/ttyUSB0
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: c8:2b:96:00:63:35
Uploading stub...
Running stub...
Stub running...
Erasing flash (this may take a while)...
Chip erase completed successfully in 9.5s
Hard resetting via RTS pin...
рдлрд░реНрдорд╡реЗрдпрд░ рднрд░реЗрдВ:
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=detect 0 Downloads/esp8266-20191220-v1.12.bin
рдХрдорд╛рдВрдб рдЖрдЙрдЯрдкреБрдЯ:
esptool.py v2.8
Serial port /dev/ttyUSB0
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: c8:2b:96:00:63:35
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Flash params set to 0x0040
Compressed 619828 bytes to 404070...
Wrote 619828 bytes (404070 compressed) at 0x00000000 in 9.1 seconds (effective 543.8 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
рдФрд░, рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реИ, рддреЛ рдЪреЗрдХрд╕рдо рдХреА рд╢реБрджреНрдзрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ:
esptool.py --port /dev/ttyUSB0 --baud 460800 verify_flash --flash_size=detect 0 Downloads/esp8266-20191220-v1.12.bin
рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо MK рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдФрд░ REPL рдХрдВрд╕реЛрд▓ рдХреЛ рджреЗрдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ :
picocom /dev/ttyUSB0 -b115200
picocom v2.2
port is : /dev/ttyUSB0
flowcontrol : none
baudrate is : 115200
parity is : none
databits are : 8
stopbits are : 1
escape is : C-a
local echo is : no
noinit is : no
noreset is : no
nolock is : no
send_cmd is : sz -vv
receive_cmd is : rz -vv -E
imap is :
omap is :
emap is : crcrlf,delbs,
Type [C-a] [C-h] to see available commands
Terminal ready
>>> help()
Welcome to MicroPython!
For online docs please visit http://docs.micropython.org/en/latest/esp8266/ .
For diagnostic information to include in bug reports execute 'import port_diag'.
Basic WiFi configuration:
import network
sta_if = network.WLAN(network.STA_IF); sta_if.active(True)
sta_if.scan()
sta_if.connect("<AP_name>", "<password>")
sta_if.isconnected()
ap_if = network.WLAN(network.AP_IF)
ap_if.config(essid="<AP_NAME>", authmode=network.AUTH_WPA_WPA2_PSK, password="<password>")
Control commands:
CTRL-A -- on a blank line, enter raw REPL mode
CTRL-B -- on a blank line, enter normal REPL mode
CTRL-C -- interrupt a running program
CTRL-D -- on a blank line, do a soft reset of the board
CTRL-E -- on a blank line, enter paste mode
For further help on a specific object, type help(obj)
>>>
рдкреБрдирд╢реНрдЪ: рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП picocom Ctrl + a рдФрд░ рддреБрд░рдВрдд Ctrl + x рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ2. рдЖрдИрдбреАрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкрд╣рд▓рд╛ рд╡рд┐рдХрд▓реНрдк рдХрд╛рдлреА рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣реИ (рдХрдо рд╕реЗ рдХрдо рдЖрдк рдЗрд╕рдореЗрдВ рдПрдХ рдПрд▓рдИрдбреА рднреА рдЭрдкрдХрд╛ рд╕рдХрддреЗ рд╣реИрдВ), рдЖрдИрдбреАрдИ рдХреЗ рд╕рд╛рде рдпрд╣ рдЕрднреА рднреА рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдореИрдВрдиреЗ рдХреБрдЫ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЕрдВрддрддрдГ рдереЛрдиреА рдкрд░ рдмрд╕ рдЧрдпрд╛ ред
рд╕реНрдерд╛рдкрдирд╛:
рд╣рдо python3-tk рдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдбрд╛рд▓рддреЗ рд╣реИрдВ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ Thonny:
sudo apt install python3-tk
sudo pip3 install thonny
рдЖрдк рдПрдордХреЗ рдХреЛ рд╕реАрдзреЗ рдереЛрдиреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд░реНрдорд╡реЗрдпрд░ рдЕрдкрд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

рдЬрд┐рд╕рдХреЗ рдмрд╛рдж, рдПрд▓рдИрдбреА рдХреЛ рдмреНрд▓рд┐рдВрдХ рдХрд░рдирд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ:

рд╕рдВрдкреВрд░реНрдг
рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдПрд╕реНрдк 8266 рдПрдордХреЗ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдорд╛рдЗрдХреНрд░реЛрдлрд╛рдЗрдереЙрди рд╕рд┐рд▓реЗ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╕рд╛рди-рд╕реЗ-рдЙрдкрдпреЛрдЧ рдЖрдИрдбреАрдИ рд╣реИредрдкреБрдирд╢реНрдЪ: рджреВрд╕рд░рд╛ рднрд╛рдЧ (рдорд╛рдЗрдХреНрд░реЛрдкреНрд░реЛрди рдХреЗ рд╕рд╛рде рдПрдордХреЗ рдПрд╕реНрдк 8266 рдкрд░ рд╕реНрд╡-рдЪрд╛рд▓рд┐рдд рдордВрдЪ)