目录

准备

硬件

  • NodeMCU 开发板

  • 数据线,一头是 USB-A 接口,另一头是 Micro-USB 接口。

软件

PINOUT

搭建 MicroPython 开发环境

安装工具

  1. 安装烧录工具 esptool
    pip3 install esptool
    
  2. 运行 esptool.py read_mac 命令,确认连接成功。
    $ esptool.py read_mac
    esptool.py v3.0
    Found 2 serial ports
    Serial port /dev/cu.usbserial-0001
    Connecting....
    Detecting chip type... ESP8266
    Chip is ESP8266EX
    Features: WiFi
    Crystal is 26MHz
    MAC: f4:cf:a2:ec:0a:86
    Uploading stub...
    Running stub...
    Stub running...
    MAC: f4:cf:a2:ec:0a:86
    Hard resetting via RTS pin...
    
  3. 查看设备文件
    $ ls /dev/cu*
    /dev/cu.Bluetooth-Incoming-Port /dev/cu.usbserial-0001
    

烧录固件

  1. 下载 ESP8266固件
    wget https://micropython.org/resources/firmware/esp8266-20210202-v1.14.bin
    
  2. 擦除 Flash 芯片
    esptool.py --port /dev/cu.usbserial-0001 erase_flash
    
  3. 烧录固件
    esptool.py --port /dev/cu.usbserial-0001 --baud 460800 write_flash --flash_size=detect -fm dio 0 esp8266-20210202-v1.14.bin
    

验证成功

Wi-Fi

烧录成功后,设备会将其自身配置为您可以连接的WiFi接入点(AP)。 ESSID的格式为MicroPython-xxxxxx,其中x替换为设备MAC地址的一部分(因此每次都相同,并且对于所有ESP8266芯片而言都不同)。 WiFi的密码为micropythoN(注意大写的N)。 连接到其网络后,其IP地址将为192.168.4.1

SecureCRT (交互解释器)

  • Download SecureCRT
  • SecureCRT Connect Config
  • 检测连接是否成功(返回True)
    import esp
    >>> esp.check_fw()
    size: 632048
    md5: fccbe03ec7fd06fcfa29ccb626bb3db1
    True
    >>> 
    

WebREPL (基于Web浏览器交互解释器)

WebREPL (通过WebSockets的REPL, 可以通过浏览器使用)。 可以从 https://github.com/micropython/webrepl 下载并打开html文件运行。 (在线托管版可以通过访问 http://micropython.org/webrepl)直接使用, 通过执行以下 命令进行配置:

import webrepl_setup

按照屏幕的提示操作。重启后,允许使用WebREPL。如果你禁用了开机自动启动WebREPL,可以通过以下命令使用:

import webrepl
webrepl.start()

这个 WebREPL 通过连接到ESP8266的AP使用,如果你的路由器配网络配置正确,这个功能也可以通过STA方式使用,那意味着你可以同时上网和调试ESP8266。(如果遇到不可行的特殊情况,请先使用ESP8266 AP方式)。 除了终端/命令符的访问方式, WebREPL同时允许传输文件 (包含上传和下载)。Web客户端有相应的功能按钮,也可以通过 webrepl_cli.py 模块上存储的命令行进行操作。

测试例子:点亮开发板的灯

  • 亮 Pin(2, Pin.OUT)
  • 灭 Pin(2, Pin.IN)
    >>> from machine import Pin
    >>> pin = Pin(2, Pin.OUT)
    >>> pin = Pin(2, Pin.IN)
    

安装开发库到开发板

在串口 REPL 中运行下面的命令就可以安装开发库

>>> import upip
>>> upip.install('micropython-umqtt.simple')

部署应用到开发板

下载 pyboard

wget https://raw.githubusercontent.com/micropython/micropython/master/tools/pyboard.py

在开发板上运行Python代码

  • 方法1 使用命令参数
    ./pyboard.py --device /dev/cu.usbserial-0001 -c 'print("Hello World!")'
    
  • 方法2 使用环境变量
    export PYBOARD_DEVICE=/dev/cu.usbserial-0001
    ./pyboard.py -c 'print("Hello World!")'
    

在开发板上运行Python脚本

./pyboard.py --device /dev/cu.usbserial-0001 hello.py

开发板文件系统访问(-f)

  • cp
  • cat
  • ls
  • rm
  • mkdir
  • rmdir

编写应用 main.py

import machine
import time

#指明 GPIO2 管脚
pin = machine.Pin(2, machine.Pin.OUT)

while True:
    time.sleep(2)   #等待 2 秒
    pin.on()        #控制 LED 关
    time.sleep(2)   #等待 2 秒
    pin.off()       #控制 LED 开

部署应用到开发板

这个文件的名字必须是 main.py,系统启动后会自动运行main.py。

./pyboard.py -f cp main.py :

参考资料