跳转至

IoT—WIFI

IoT(Internet of Things)——WIFI

WIFI & BLE SoC —— Espressif 32Bit

内核:Tensilica 的Xtensa 内核的双核构架

ESP32-C3:160MHZ,2.4GHz WIFI,低功耗蓝牙
ESP32-S3:240MHZ,2.4GHz WIFI,低功耗蓝牙,USB 串口/JTAG 控制器
ESP32-C6:160MHZ,2.4GHz WIFI,低功耗蓝牙,支持 Thread 和 Zigbee 协议

MicroPython开发(快速)

将Micropython固件烧入ESP32,即可开始使用 micropython 开发

  1. 下载 Thonny编辑器、esp32-flash-download-tool(用于将固件写入板子)、 CH343驱动(识别串口)、源地micropython固件github-vccgnd

  2. 板子写入固件后,即可使用thonny开发了,右下角选择对应的串口,并且选择esp32

  3. 编写你的代码,保存到esp32,若存在boot.py,说明代码可以正常写入esp32。若无,请用flash-download-tool擦除flash再写入固件试试。

  4. 保存为main.py,重启板子即正常运行

Warning

重启后自动启动main.py,测试代码不要写在main,否则错误重启死循环​

添加软件包:工具->管理包

  • machine 硬件

    SPI(id, baudrate, polarity, phase, bits, firstbit, sck, mosi, miso)

    id请查看datasheet分组

    注意:sck,mosi,miso都需要定义,否则报错

  • usocket 套接字

    mpython -usocket

  • requests HTTP请求

    使用requests进行HTTP爬虫

  • zlib 二进制流解压/压缩库

    暂时只有解压功能

ESP32 SDK开发(全面)

VScode + ESP-IDF extension ESP-IDF编程指南

ESP-IDF ToolChain

  1. ESP-IDF Offline Installer

    Windows 平台工具链的标准设置

    vscode+espidf开发环境搭建(实现单步调试)

  2. VScode ESP-IDF extension (not recommend)

    不建议,此方法无openOCD驱动,则无法打开openOCD,需要自己配置

    ESP32-C3 JTAG调试笔记

工具链安装好就可以使用 VScode IDF extension,如果找不到开发板串口,请检查USB驱动

Debug with VScode

JTAG 调试

vscode+espidf开发环境搭建(实现单步调试)

VScode调试:选择通过USB-JTAG即可打开openOCD,配置launch.json,即可调试。

如果打开调试失败/出问题,请尝试重启openOCD

    //修改launch.json为
    {
    "version": "0.2.0",
    "configurations": [
        {
        "name": "GDB",
        "type": "cppdbg",
        "request": "launch",
        "MIMode": "gdb",
        "miDebuggerPath": "${command:espIdf.getXtensaGdb}",
        "program": "${workspaceFolder}/build/${command:espIdf.getProjectName}.elf",
        "windows": {
            "program": "${workspaceFolder}\\build\\${command:espIdf.getProjectName}.elf"
        },
        "cwd": "${workspaceFolder}",
        "environment": [{ "name": "PATH", "value": "${config:idf.customExtraPaths}" }],
        "setupCommands": [
            { "text": "target remote :3333" },
            { "text": "set remote hardware-watchpoint-limit 2"},
            { "text": "mon reset halt" },
            { "text": "thb app_main" },
            { "text": "flushregs" }
        ],
        "externalConsole": false,
        "logging": {
            "engineLogging": true
        }
        }
    ]
    }