ESP32建立TCP连接
1.搭建ESP-IDF开发环境
搭建开发环境直接从官网下载即可。
https://docs.espressif.com/projects/esp-idf/zh_CN/v5.1.1/esp32s3/index.html
https://dl.espressif.com/dl/esp-idf/?idf=4.4
使用官方的下载器下载好,就可以自动安装,同时也可以使用vscode进行代码的编辑。
2.利用官方例程
安装好ESP-IDF之后,这个路径下就会有官方的关于tcp的例子
Espressif\frameworks\esp-idf-v5.1.1\examples\protocols\sockets
把其中的tcp_client文件夹整体复制出来即可利用ESP-IDF进行编译
打开官方的命令行工具,进入到代码所在的目录,习惯使用vsc进行代码的编辑,使用官方的命令行工具进行编译等。
首先设置编译的目标芯片
idf.py set-target esp32c6
idf.py menuconfig
进入配置界面,设置连接WiFi的名字,tcp服务器的IP和端口
esc退出并保存
idf.py all
对工程进行编译
idf.py -p COM6 flash
连接好板子进行下载,确定板子串口号,要改成对应的串口。
idf.py -p COM6 monitor
打开串口显示终端,观察程序的运行输出。
esp-idf底层是默认运行freertos的,因此想要更好的利用esp32编程,需要懂freertos。
回归到tcp通信,首先第一步是要联网,可以把官方的WiFi联网的例子拿过来用,直接把代码拿过来自己改改就行
联网完毕之后进入tcp的过程,首先是建立socket连接,然后通过这个socket进行数据的收发,例如可以把数据的收发设计成两个任务分别执行,这样就可以实现收发互相不影响。
注意自己在添加c文件时,要在main.c文件的同级目录的cmakelist文件中添加自己的文件到工程。