写在前面:
当你遇到一件麻烦事的时候,你要做的就是乖乖听它的话,别再自找麻烦。
1.参考资料
- ESP-IDF手册
- ESP-AT手册
- esp-dev-kits开发板手册
- b站乐鑫官方教学视频和乐鑫官方论坛,资料少、讲解不详细、不全面
注:
- 上面的手册记得选择型号,这里是以window和esp32-c6-devkitc为例
- 不要去问tb客服,它只会告诉你发邮箱,基本没有技术售后,大公司看不起小公司和个人用户罢了
- 一定要心平气和,默认路径除非你想给自己找麻烦
2.下载IDF和IDE
不推荐使用esclipse和vscode插件,除非你经常用这两个,对它们很熟悉,而且下载插件时可能需要外部上网
推荐使用乐鑫官方的IDF和IDE,参考见 https://docs.espressif.com/projects/esp-idf/zh_CN/v5.1/esp32c6/get-started/windows-setup.html
·
首先下载一个 ESP-IDF 工具安装器
第一个很小那个只是一个下载器,第二个是已经把库一起下好的,建议下载第二个,然后按照步骤安装就行了
下载安装好以后你的桌面上应该会有三个图标
3.下载at固件库
一般是去乐鑫的github下载,详情见 https://docs.espressif.com/projects/esp-at/zh_CN/latest/esp32c6/AT_Binary_Lists/index.html
如果没有官方的固件库发布版,只有去github下载临时固件,见 https://docs.espressif.com/projects/esp-at/zh_CN/latest/esp32c6/Compile_and_Develop/How_to_download_the_latest_temporary_version_of_AT_from_github.html
但我不会下,于是我换了另一种方法,详情见 https://docs.espressif.com/projects/esp-at/zh_CN/latest/esp32c6/Compile_and_Develop/How_to_clone_project_and_compile_it.html
这种方法比第一种简单,但需要已经安装好IDF,并且用安装后的ESP-IDF CMD以管理员身份打开,最好把下载路径设置成IDF同一个父级,需要用cd命令跳转到下载好的esp-at文件夹,在其中执行指令。它这个是自带python环境,不需要你下载安装python
下载固件库一般使用USB连接电脑,你需要找到连接的COM口,然后使用python build.py -p COM15 flash 命令,这里以COM15为例。同时你应该按住板子上的boot按键,否则会进入下载模式,waiting for download,但不会下载。
4.使用AT指令
乐鑫的下载固件的口和AT通信的口不是同一个,你需要去这里查看
或者当你连接下载固件库的口上电复位板子,它会打印一串信息,其中就有AT cmd port:uart1 tx:7 rx:6 cts:5 rts:4 baudrate:115200,其中tx:7和rx:6表示p7口是tx、p6口是rx,需要自己准备一个UART-USB转接板,一端uart连乐鑫板子,一端usb连pc
如果上电后从调试UART口读到waiting for download,而你已经下载好了固件库,可能是因为供电不足,只需要同时连接串口和USB并复位即可。
5.使用AT建立TCP连接
1.设置模块为AP模式(接收)或STA模式(发送)
AT+CWMODE=<mode>[,<auto_connect>]
AP命令:AT+CWMODE=2
STA命令:AT+CWMODE=1
2.启用DHCP动态主机配置协议(STA端)
如果不启用DHCP,你需要手动配置网关、子网掩码等,很麻烦
AT+CWDHCP=1,1
3.连接AP
AP端既可以是wifi模块,也可以是路由器,连接指令都是一样的。
AT+CWJAP=[<ssid>],[<pwd>][,<bssid>][,<pci_en>][,<reconn_interval>][,<listen_interval>][,<scan_mode>][,<jap_timeout>][,<pmf>]
可选的配置很多,但只需要ssid和pwd即可
如连接模块:AT+CWJAP="ESP","1234567890"
如连接路由器:AT+CWJAP="ssid","123456789"
当你选择模块作为AP时,你可能需要设置或查询它的AP信息
查询:AT+CWSAP?
响应:+CWSAP:<ssid>,<pwd>,<channel>,<ecn>,<max conn>,<ssid hidden>
设置:AT+CWSAP=<ssid>,<pwd>,<channel>,<ecn>,[,<max conn>][,<ssid hidden>]
例如:AT+CWSAP="ESP","1234567890",5,3
<>内是必需,[ ]内是可选
4.建立TCP连接
TCP Servicer 既可以是PC,也可以是wifi模块
- 如果是PC,你需要在PC上创建TCP,用cmd的ipconfig查询你的IP地址,使用网络调试助手可以建立TCP Servicer并设置你的端口号;
- 如果是wifi模块,你需要发送AT指令来查询或设置
设置连接模式
单连接:AT+CIPMUX=0
多连接:AT+CIPMUX=1
查询地址:AT+CIFSR
响应第一个为SoftAP 的 IPv4 地址
设置端口号:AT+CIPSERVER=<mode>[,<param2>][,<"type">][,<CA enable>]
如:AT+CIPSERVER=1,80
上例1为建立服务器,80为端口号
STA端连接的方式是一样的,命令参数为类型+IP地址+端口号
AT+CIPSTART=<"type">,<"remote host">,<remote port>[,<keep_alive>][,<"local IP">]
多接点需要使用AT+CIPSTART=<link ID>,<"type">,<"remote host">,<remote port>[,<keep_alive>][,<"local IP">]
如:AT