全网第一提出:WIFI 透传串口模块都可以用于px4连接QGC上位机调试。

发布于:2025-03-16 ⋅ 阅读:(52) ⋅ 点赞:(0)

一、背景:

最近没这么忙,想完成大学的遗憾。(15年大学做的四轴飞行器,当时没有gps,一直想做gps悬停,自动飞线,自动返航没做成,一直惦记着。这些年都在搞Android系统/linux系统/音视频相关的)。

再次玩无人机,这次选择px4飞控,想要无线调试参数,发现航模界都是用数传,这玩意贵得很,便宜的wifi数传也要几十大洋,也贵,咱手上不是有很多大学毕业带出来的蓝牙串口,wifi串口模块吗?wifi串口现在不到4元钱。能不能用这些模块接QGC进行调试?昨天中午吃饭,灵机一动想到了。这下淘宝那些数传,wifi数传销量要下来了。

二、上开胃菜:

esp32s1使用介绍:

AT指令集

默认波特率是115200,8N1。AT指令部分会写入flash,注意查看指令手册,网上很多,这里只列用到的

  1. AT 测试与串口连接是否成功,成功返回ok,否则返回error

  2. AT+RST 重启ESP8266

  3. AT+RESTORE 当对ESP8266设置出现严重错误时使用,用于恢复出厂设置。使用后所有烧录的AT指令都会删除

  4. AT+CWMODE=<?,1,2,3> 用于工作模式,?为查询该指令状态。1为station模式,将作为客户端连入网络。2为AP模式,此时模块作为一个热点存在,可以通过网络搜索到该热点。3位station AP混合模式。

  5. AT+CWJAP="","" 连接到网络,AT+CWJAP="windra","windra998windra"。

  6. AT+CIPSTA? 连接后查询分配到的IP地址

  7. AT+CIPMUX=<?,0,1> ?查询连接模式,0设置为单连接模式,1设置为多连接模式。(透传,模式必须将其置0)

  8. "AT+SAVETRANSLINK=1,"192.168.0.100",9999,"TCP"连接到网络端口,该内容会写入flash。重新上电后自动执行串口透传功能。若只想测试,可以使用 AT+CIPSTART="TCP","192.168.0.100",9999。IP地址和端口号在后文设置。

  9. AT+CIPMODE=1 0关闭透传模式,1开启透传模式。

  10. AT+CIPSEND 看到 > 开始数据传输

指令烧录

写入以下指令:(wifi名字,密码,ip地址,改成你自己的。端口号9999如果用不了可以换一个)

AT+RST
AT+CWMODE=1
AT+CWJAP="wifi名","wifi密码"
AT+CIPMUX=0
AT+CIPSTART="TCP","192.168.0.100",9999
AT+CIPMODE=1
AT+CIPSEND

此时在串口调试助手内输入数据,会在网络调试助手内显示,同理在网络调试助手内输入也会直接在串口调试助手内显示。即使拔下ESP8266后,再上电也将自动进入透传模式。

需要退出透传模式重新设置时,勾掉发送新行,输入+++,即不发送新行。再勾选发送新行,发AT即可退出。至此固件设置完成。

上硬菜:

  1. 任何一款wifi透传串口都行。wifi模块和电脑处于同一个网路就行。

  2. 下载com0com软件。创建串口对com12 <- -> com13.https://download.csdn.net/download/longruic/90485500?spm=1001.2014.3001.5503

  3. 下载TCP2COM 软件。如:TCP2Com-标签版V1.2.9.1.exe。

  4. 设置连接参数如下图:

  5. 先使用usb链接飞控,QGC修改 TELEM1 的波特率为115200 8N1模式。

  6. QGC设置连接方式,Application Settings-》通讯连接, 添加串口连接,串口选择com12, 115200,高级设置里

  7. 飞线焊接,把6pin的线,飞线到esp32s1模块。

  8. 效果图: