ESP8266 рдкрд░ micropython рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдФрд░ рд▓рд┐рдирдХреНрд╕ рдХреЗ рддрд╣рдд рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ (рд╢реБрд░реБрдЖрддреА рдХреЗ рд▓рд┐рдП)

рдирдорд╕реНрдХрд╛рд░, рд╣реЗрдмреНрд░!

рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░реНрд╕ рдХреЗ рд╕рд╛рде рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рдЕрдиреБрднрд╡ рд╣реИ, рдФрд░ 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()                             # Scan for available access points
    sta_if.connect("<AP_name>", "<password>") # Connect to an AP
    sta_if.isconnected()                      # Check for successful connection
    # Change name/password of ESP8266's AP:
    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 рдкрд░ рд╕реНрд╡-рдЪрд╛рд▓рд┐рдд рдордВрдЪ)

All Articles