esp32-c3通过AT指令集创建SSL加密的TCP客户端

发布时间 2023-09-20 14:25:32作者: bert_qin

官方文档

步骤

  • fork源码
  • 创建新分支
  • 按键盘上的.进入编辑界面
  • 将如下证书换成目标服务器的证书
    image
  • 提交
  • 返回到Action页面,等待自动编译完成
  • 下载下述文件
    image
  • 将factory固件烧录到目标板的地址0
    image

测试

  • 注意AT指令的串口非常有可能不是烧录口
  • 查AT固件版本:AT+GMR
  • 设置为STA模式:AT+CWMODE=1
  • 连接Wi-Fi:AT+CWJAP="ssid","passwd"
  • 查询网络参数:AT+CIPSTA?
  • 连接通过SSL加密连接TCP服务端:AT+CIPSTART="SSL","192.168.9.234",4433
  • 发送4个字节的数据:AT+CIPSEND=4

测试记录

点击查看代码
HEX:41 54 2B 43 49 50 53 54 41 3F 0D 0A 0D 0A 62 75 73 79 20 70 2E 2E 2E 0D 0A 2B 43 49 50 53 54 41 3A 69 70 3A 22 30 2E 30 2E 30 2E 30 22 0D 0A 2B 43 49 50 53 54 41 3A 67 61 74 65 77 61 79 3A 22 30 2E 30 2E 30 2E 30 22 0D 0A 2B 43 49 50 53 54 41 3A 6E 65 74 6D 61 73 6B 3A 22 30 2E 30 2E 30 2E 30 22 0D 0A 0D 0A 4F 4B 0D 0A
[2023/09/20 13:20:02.663] ← AT+CWMODE=1␍␊

HEX:41 54 2B 43 57 4D 4F 44 45 3D 31 0D 0A
[2023/09/20 13:20:02.796] → AT+CWMODE=1␍␊
␍␊
OK␍␊

HEX:41 54 2B 43 57 4D 4F 44 45 3D 31 0D 0A 0D 0A 4F 4B 0D 0A
[2023/09/20 13:20:13.985] ← AT+CWJAP="ssid","passwd!"␍␊

HEX:41 54 2B 43 57 4A 41 50 3D 22 6F 63 70 70 35 31 30 22 2C 22 6F 63 70 70 35 31 30 21 22 0D 0A
[2023/09/20 13:20:14.112] → AT+CWJAP="ssid","passwd!"␍␊

HEX:41 54 2B 43 57 4A 41 50 3D 22 6F 63 70 70 35 31 30 22 2C 22 6F 63 70 70 35 31 30 21 22 0D 0A
[2023/09/20 13:20:15.602] → WIFI CONNECTED␍␊

HEX:57 49 46 49 20 43 4F 4E 4E 45 43 54 45 44 0D 0A
[2023/09/20 13:20:16.596] → WIFI GOT IP␍␊
␍␊
OK␍␊

HEX:57 49 46 49 20 47 4F 54 20 49 50 0D 0A 0D 0A 4F 4B 0D 0A
[2023/09/20 13:20:27.384] ← AT+CIPSTA?␍␊

HEX:41 54 2B 43 49 50 53 54 41 3F 0D 0A
[2023/09/20 13:20:27.512] → AT+CIPSTA?␍␊
+CIPSTA:ip:"192.168.9.54"␍␊
+CIPSTA:gateway:"192.168.9.1"␍␊
+CIPSTA:netmask:"255.255.255.0"␍␊
␍␊
OK␍␊

HEX:41 54 2B 43 49 50 53 54 41 3F 0D 0A 2B 43 49 50 53 54 41 3A 69 70 3A 22 31 39 32 2E 31 36 38 2E 39 2E 35 34 22 0D 0A 2B 43 49 50 53 54 41 3A 67 61 74 65 77 61 79 3A 22 31 39 32 2E 31 36 38 2E 39 2E 31 22 0D 0A 2B 43 49 50 53 54 41 3A 6E 65 74 6D 61 73 6B 3A 22 32 35 35 2E 32 35 35 2E 32 35 35 2E 30 22 0D 0A 0D 0A 4F 4B 0D 0A
[2023/09/20 13:20:40.040] ← AT+CIPSTART="SSL","192.168.9.234",4433␍␊

HEX:41 54 2B 43 49 50 53 54 41 52 54 3D 22 53 53 4C 22 2C 22 31 39 32 2E 31 36 38 2E 39 2E 32 33 34 22 2C 34 34 33 33 0D 0A
[2023/09/20 13:20:40.169] → AT+CIPSTART="SSL","192.168.9.234",4433␍␊

HEX:41 54 2B 43 49 50 53 54 41 52 54 3D 22 53 53 4C 22 2C 22 31 39 32 2E 31 36 38 2E 39 2E 32 33 34 22 2C 34 34 33 33 0D 0A
[2023/09/20 13:20:41.108] → CONNECT␍␊
␍␊
OK␍␊

HEX:43 4F 4E 4E 45 43 54 0D 0A 0D 0A 4F 4B 0D 0A
[2023/09/20 13:24:12.322] ← AT+CIPSEND=4␍␊
␍␊
␍␊

HEX:41 54 2B 43 49 50 53 45 4E 44 3D 34 0D 0A 0D 0A 0D 0A
[2023/09/20 13:24:12.432] → AT+CIPSEND=4␍␊
␍␊
busy p...␍␊
␍␊
OK␍␊
␍␊
>
HEX:41 54 2B 43 49 50 53 45 4E 44 3D 34 0D 0A 0D 0A 62 75 73 79 20 70 2E 2E 2E 0D 0A 0D 0A 4F 4B 0D 0A 0D 0A 3E
[2023/09/20 13:24:19.787] ← TEST␍␊
␍␊

HEX:54 45 53 54 0D 0A 0D 0A
[2023/09/20 13:24:19.950] → ␍␊
busy p...␍␊
␍␊
Recv 4 bytes␍␊
␍␊
SEND OK␍␊
␍␊
+IPD,19:Hello, TLS client!␊
␍␊

HEX:0D 0A 62 75 73 79 20 70 2E 2E 2E 0D 0A 0D 0A 52 65 63 76 20 34 20 62 79 74 65 73 0D 0A 0D 0A 53 45 4E 44 20 4F 4B 0D 0A 0D 0A 2B 49 50 44 2C 31 39 3A 48 65 6C 6C 6F 2C 20 54 4C 53 20 63 6C 69 65 6E 74 21 0A 0D 0A
[2023/09/20 13:24:45.097] ← ␃
HEX:03
[2023/09/20 13:24:45.222] → ␃
HEX:03